对 R 中的非线性函数进行线性回归

Do a linear regression on a non-linear function in R

我不是很清楚如何在 R 中分析非线性回归。 我发现我仍然可以通过使用我的函数的日志来使用 lm 进行线性回归。
我的第一个函数是这个,其中 β1 是截距,β2 是斜率,ε 是误差项:

我认为以下命令可以满足我的需求:

result <- lm(log(Y) ~ log(X1), data=dataset)

问题出在以下函数上:

我不知道我应该在 lm 中放入什么以便对我的函数执行线性回归...有什么想法吗?

以下数学显示了如何将方程式转换为线性回归:

Y = b0*exp(b1*X1 + epsilon)
log(Y) = log(b0) + b1*X1 + epsilon
log(Y) = c0 + b1*X1 + epsilon

所以在 R 中这只是

lm(log(Y) ~ X, data = your_data)

不过,您不会得到 b0 的直接估计值,只能得到 log(b0) 的估计值。但是您可以通过取幂来反向转换截距及其置信区间。

b0_est <- exp(coef(fitted_model)["(Intercept)"])
b0_ci  <- exp(confint(fitted_model)["(Intercept)", ])