You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言线性回归:虚拟编码方式不同引发结果差异的问题

线性回归中分类变量编码方式对连续预测变量系数的影响问题

问题背景

我正在开展包含一个连续预测变量(ContX)和一个二分类预测变量的线性回归分析。将分类变量同时以命名因子("Control"和"BD")、虚拟编码因子("0"和"1")的形式纳入模型后,发现仅连续预测变量ContX的效应结果存在差异,但分类变量与交互项的结果完全一致。

我的CSV数据包含两列分组信息:"Group"列记录样本分组(Control、BD),GrpNum列是对应的虚拟编码(0=Control)。即使改用反向虚拟编码(1=Control,0=BD),问题依然存在,但通过is.ordered()检查确认所有因子均为无序因子。

我理解分组顺序会改变截距,但这不是核心问题——我关心的是不同编码下ContX的系数值和显著性出现了明显差异。

示例输出对比

模型1:使用GrpNum(0=Control)

> lmtest1 <- lm(Outcome ~ GrpNum * ContX, data = data)
> summary(lmtest1)

Call:
lm(formula = Outcome ~ GrpNum * ContX, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-9.1330 -3.7301  0.0448  4.1718 11.1743 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)   
(Intercept)  -13.7037     4.2195  -3.248  0.00202 **
GrpNum        14.0967     5.1699   2.727  0.00865 **
ContX          0.4670     0.1364   3.423  0.00120 **
GrpNum:ContX  -0.4179     0.1639  -2.550  0.01372 * 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 5.111 on 53 degrees of freedom
  (9 observations deleted due to missingness)
Multiple R-squared:  0.2008,    Adjusted R-squared:  0.1556 
F-statistic:  4.44 on 3 and 53 DF,  p-value: 0.007413

此处ContX的系数为0.4670,具有统计学显著性。

模型2:使用GrpNum2(反向编码,1=Control)

> lmtest2 <- lm(Outcome ~ GrpNum2 * ContX, data = data)
> summary(lmtest2)

Call:
lm(formula = Outcome ~ GrpNum2 * ContX, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-9.1330 -3.7301  0.0448  4.1718 11.1743 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)   
(Intercept)     0.39294    2.98729   0.132  0.89585   
GrpNum2       -14.09666    5.16990  -2.727  0.00865 **
ContX           0.04908    0.09087   0.540  0.59137   
GrpNum2:ContX   0.41791    0.16392   2.550  0.01372 * 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 5.111 on 53 degrees of freedom
  (9 observations deleted due to missingness)
Multiple R-squared:  0.2008,    Adjusted R-squared:  0.1556 
F-statistic:  4.44 on 3 and 53 DF,  p-value: 0.007413

此处ContX的系数为0.0490,无统计学显著性。

因子类型验证

> is.ordered(data$GrpNum)
[1] FALSE
> is.ordered(data$GrpNum2)
[1] FALSE
> is.ordered(data$Group)
[1] FALSE

所有因子均为无序因子。

复现代码

GrpNum1 <- as.factor(rep(c(1,0), 20))
GrpNum2 <- as.factor(rep(c(0,1), 20))
Outcome <- rnorm(40, 0, 1)
ContX <- rnorm(40, 10, 5)
data <- data.frame(GrpNum1, GrpNum2, Outcome, ContX)
lmtest1 <- lm(Outcome ~ GrpNum1 * ContX, data = data)
lmtest2 <- lm(Outcome ~ GrpNum2 * ContX, data = data)
summary(lmtest1)
summary(lmtest2)

内容的提问来源于stack exchange,提问作者okaywell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 09:42:04