如果我有理论上的理由假设数据可能适合一个不寻常的方程,例如:
我可以在转换后使用普通最小二乘多元线性回归来估计参数吗? 如果是,什么转变?
如果没有,R 中是否有一些专门的包(和简要阅读)可以帮助我将此模型的拟合和残差与更典型的 MLR 模型进行比较?
谢谢。
示例代码:
## while I can run "nls," I cannot get $\epsilon$ inside parentheses nor
## can I have four BETAs
var1 <- rnorm(50, 100, 1)
var2 <- rnorm(50, 120, 2)
var3 <- rnorm(50, 500, 5)
## make a model without $\beta_1$ and $\beta_2$ and with $\epsilon_i$ on outside
nls(var3 ~ (a + var1 + var2)^b, start = list(a = 0.12345, b = 0.54321))
Nonlinear regression model
model: var3 ~ (a + var1 + var2)^b
data: parent.frame()
a b
475.5234 0.9497
residual sum-of-squares: 1365
Number of iterations to convergence: 6
Achieved convergence tolerance: 8.332e-08
## FAILS with exponent on left-hand side and $\epsilon$ inside parentheses
nls(var3^(1/b) ~ (a + var1 + var2), start = list(a = 0.12345, b = 0.54321))
Error in eval(expr, envir, enclos) : object 'b' not found
## FAILS with all BETAs
nls(var3 ~ (a + b*var1 + c*var2)^d, start = list(a = 4, b = 1, c = 1, d = 1))
Error in numericDeriv(form[[3L]], names(ind), env) :
Missing value or an infinity produced when evaluating the model