Gompertz 方程的多个 inverse.predict()
Multiple inverse.predict() for Gompertz equation
将一系列数据建模为 Gompertz 方程后,我想根据给定 y 的输出参数预测 x 轴上的值。
但是,predict() 仅预测给定 x 的 y 值,而 inverse.predict() 仅针对单个值而不是 nlsList 值进行预测。
有直接的方法吗?
#Example data
data<-data.frame(x=c(0,1,2,4,8,16,32,64,0,1,2,4,8,16,32,64,0,1,2,4,8,16,32,64),y=c(70,90,160,250,410,510,610,650,NA,NA,NA,NA,NA,NA,NA,NA,70,90,160,250,410,510,610,650),GROUPING=c(1,1,1,1,1,1,1,1,45,45,45,45,45,45,45,45,643,643,643,643,643,643,643,643))
Parameters<-nlsList(y~SSgompertz(x, Asym, xmid, scal)|GROUPING, data=data, na.action = na.omit)
Value_of_y<-300
inverse.predict(Parameters, Value_of_y)
Gompertz 函数的一般形式是
G=A*exp(-k1*exp(-k2*t))
我们可以通过解析的方式计算这个函数的反函数,所以不用inverse.predict:
t=log(k1/log(A/G))/k2
SSgompertz 中 Gompertz 的形式是:
y = Asym*exp(-b2*b3^x)
所以倒数是:
x = log((log(y / Asym) - log(Asym)) / -b2) / log(b3)
可以简化为:
x = log( log(y / Asym) / -b2) / log(b3)
将一系列数据建模为 Gompertz 方程后,我想根据给定 y 的输出参数预测 x 轴上的值。 但是,predict() 仅预测给定 x 的 y 值,而 inverse.predict() 仅针对单个值而不是 nlsList 值进行预测。
有直接的方法吗?
#Example data
data<-data.frame(x=c(0,1,2,4,8,16,32,64,0,1,2,4,8,16,32,64,0,1,2,4,8,16,32,64),y=c(70,90,160,250,410,510,610,650,NA,NA,NA,NA,NA,NA,NA,NA,70,90,160,250,410,510,610,650),GROUPING=c(1,1,1,1,1,1,1,1,45,45,45,45,45,45,45,45,643,643,643,643,643,643,643,643))
Parameters<-nlsList(y~SSgompertz(x, Asym, xmid, scal)|GROUPING, data=data, na.action = na.omit)
Value_of_y<-300
inverse.predict(Parameters, Value_of_y)
Gompertz 函数的一般形式是
G=A*exp(-k1*exp(-k2*t))
我们可以通过解析的方式计算这个函数的反函数,所以不用inverse.predict:
t=log(k1/log(A/G))/k2
SSgompertz 中 Gompertz 的形式是:
y = Asym*exp(-b2*b3^x)
所以倒数是:
x = log((log(y / Asym) - log(Asym)) / -b2) / log(b3)
可以简化为:
x = log( log(y / Asym) / -b2) / log(b3)