多重线性回归模型*与+符号用法差异及多模型假设检验问题
多重线性回归问题解答
1 公式符号+与*的区别及写法合法性
符号差异
+:R回归公式中仅引入变量的主效应,不会额外生成变量间的交互项*:等价于同时引入变量主效应+所有变量间的交互项,例如A*B完全等价于A + B + A:B,其中A:B为A与B的交互效应项
代码写法判断
你给出的代码语法本身完全合法,同时使用+和*是R公式支持的标准写法:
model <- lm(`continuous variable` ~ SEX + RACE + `Factor gene` * `Factor SNP`, data = mydata)
注:变量名包含空格时需要用反引号包裹,避免运行报错
是否符合你的研究需求分两种情况判断:
- 如果你需要同时检验gene、SNP的独立主效应,以及二者的交互作用对因变量的影响,当前写法完全正确,且已经实现了控制SEX、RACE协变量的需求
- 如果你仅需要检验两个因子的独立主效应,不需要分析交互作用,把
*替换为+即可
2 批量模型的假设校验要求
所有拟合完成的线性回归模型原则上都需要完成假设校验,这是保障结果可信的必要步骤,多重线性回归的核心校验项包括残差独立性、残差正态性、残差方差齐性、自变量共线性四项,任意假设不满足都可能导致效应估计偏误、假阳性等问题。
针对近100个批量拟合的模型,不需要手动逐个校验,可以编写脚本实现批量校验:比如统一输出每个模型的Shapiro-Wilk正态检验p值、Breusch-Pagan方差齐性检验p值、VIF共线性指标,再针对指标异常的模型做单独核验调整即可,不会带来过高的工作量。
内容的提问来源于stack exchange,提问作者Marwah Al-kaabi
相关产品推荐
相关产品推荐

