我应该定义非线性模型的起始值吗?

Should I define the starting values for nonlinear model?

提问人:Khal Aboudi 提问时间:11/6/2023 最后编辑:PhilKhal Aboudi 更新时间:11/6/2023 访问量:38

问:

尝试使用 (nls) 函数通过数据集拟合非线性模型,当我运行代码时,它显示错误(错误:未找到对象“H0_1”)。

尝试了这段代码:

library(readxl)
my_data <- read_excel("C:/Users/ADMIN/Desktop/my_data.xlsx", 
                      col_types = c("numeric", "numeric"))
View(my_data)
Tmax = c(my_data$Tmax)
HI = c(my_data$HI)

### Transforms h to log
lTmax = log(Tmax)

### Plots observed data
plot(HI ~ lTmax)

### Nonlinear least squares fit 
my_model = nls(H0_1*(1-exp(-(Tmax/beta)^theta))+c, start=list(H0_1=320, beta=442, theta=-33, c=20))
my_model
R NLS

评论

0赞 Phil 11/6/2023
根据错误,您需要定义什么是。H0_1
0赞 Khal Aboudi 11/6/2023
H0_1 是 start=list(H0_1=320, beta=442, theta=-33, c=20) 中列出的拟合参数之一。我还需要定义它以及如何定义它吗?
0赞 Phil 11/6/2023
是的,就像你通过说它来自 来定义一样。Tmaxmy_data$Tmax
0赞 Khal Aboudi 11/6/2023
对不起,我不确定如何定义它,因为它的第一次出现是在等式中,它是一个拟合参数,将从拟合中获得......
0赞 G. Grothendieck 11/7/2023
的第一个参数应该是一个公式。nls

答: 暂无答案