比较 MLR 模型与模型是一世= (β0+β1X1我+β2X2我+ε一世)β3Yi=(β0+β1x1i+β2x2i+ϵi)β3?

机器算法验证 r 回归 非线性回归
2022-03-27 07:03:22

如果我有理论上的理由假设数据可能适合一个不寻常的方程,例如:

Yi=(β0+β1x1i+β2x2i+ϵi)β3

我可以在转换后使用普通最小二乘多元线性回归来估计参数吗β0,1,2,3? 如果是,什么转变?

如果没有,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
2个回答

不(至少不是nls

从其文档中,nls适合表单的功能Yi|θ,Xi=f(θ,Xi)+ϵ(并且是 MLE 在这种情况下ϵ是 iid Normal),因此您的关系不在非线性最小二乘类中。

让我们看看我们是否可以描述分布Y可能会跟随。Zi=β0+β1x1i+β2x2i+ϵi 鉴于ϵiN(0,1), 然后ZiN(β0+β1x1i+β2x2i,1). 如果β3=2那么例如,我们可以有Yi是非中心的χ12.

是(使用 Box-cox 变换)

如果Yi=Ziβ3是一对一的转换(即,至少,β3甚至不是)那么您刚刚重新发现了 box-cox 转换系列:

Y(λ)={(λZ+1)1/λ,λ>0eZ,λ=0,
这清楚地包括您描述的场景。经典地,λ通过轮廓似然估计,即插入不同的值λ并检查 RSS 到最小二乘拟合。 An Analysis of Transformations Revisited (1981) 似乎对该理论进行了很好的回顾。boxcox包中的函数会进行MASS这样的估计。如果β3是一个感兴趣的参数,而不是一个令人讨厌的参数,您可能需要做一些更复杂的事情。

我认为 Andrew M 给出了一个很好的答案;我只想提出一些相关的观点。

正如 Andrew M 所指出的,您不能直接使用非线性最小二乘法来制作模型;但是,您可以使用非线性 LS 拟合这个密切相关的模型:

Yi=(β0+β1x1i+β2x2i)β3+ϵi

这可能看起来没有多大用处,但它对于获得初始估计值是有价值的β3为优化实际模型(无论是直接执行还是通过 Box-Cox 执行)获得一个良好的起点。

另请注意,如果Y是严格正数,你可以考虑这个转换:

log(Yi)=β3log(β0+β1x1i+β2x2i+ϵi)

同样,稍作修改(将误差项拉到括号外)允许非线性最小二乘拟合。然后,您可以使用得到的估计重新加权β3以改进估计。唯一的困难是,如果您遇到日志内的拟合值不是严格为正的情况。

[如果您准备考虑 Weibull 回归(也就是说,Y 是 Weibull,均值取决于 X),您可能会发现您可以用它做一些有用的事情。然而,它会改变与 x 的关系形式。一种相关的方法是给定一个值β3你可以考虑改造Y(Y=Y1/β3) 并拟合具有身份链接的指数 GLMY而不是高斯。这将再次对应于 Weibull 模型Y,但按照您建议的方式输入参数)。这可以在一个网格上完成β3值以最大化它的可能性。]