在多级/分层建模中增加多重共线性?

机器算法验证 多重回归 混合模式 多层次分析 多重共线性 层次聚类
2022-03-25 21:39:02

我有一个带有响应变量和解释变量矩阵的线性模型,其中系数在物理上是有意义的,值得估计:yXb

y=Xb+e

之间的关系在整个域上并不是严格线性的,而是可以在几个子组内更好地建模(如果为每个子组定义系数更有意义):yXg

yg=Xgbg+eg

的聚类分析或基于相似性的一些先验分离来得出子组,则子组模型可能会越来越多地遭受多重共线性的影响。X

我想这在多级或分层建模中并不少见——如果目标不仅仅是创建一个预测模型,在这种情况下是否有一种通用的参数估计方法?

1个回答

既然你说:

之间的关系在整个域上并不是严格线性的,而是可以在几个子组内更好地建模(如果为每个子组定义系数更有意义):yXg

在我看来,这听起来很像混合效果模型(其中多级和分层模型是特殊情况),子组具有随机斜率。这将具有一般形式:Xg

y=Xβ+Zu+e

其中是固定效应的向量,分别是固定效应和随机效应的模型矩阵,是随机效应的向量,使得βXZueE(u)=E(e)=0

在 R 中,您可以拟合这样的模型,例如:

y = func(y ~ X1 + X2 + (X1 + X2 | g ), ...)

func您选择的任何包中的相关功能在哪里,例如lme4GLMMAdaptive. 请注意,某些包,例如nlme使用不同的语法。这将估计每个组的固定效应(斜率)和随机斜率X1X2随机截距。如果您不想要随机拦截 - 即。您希望允许斜率因组而异,但都通过 y 轴上的同一点,那么您将使用:

y = func(y ~ X1 + X2 + (X1 + X2 + 0 | g ), ...)