如何测试线性回归中分类变量的统计显着性?

机器算法验证 回归 统计学意义 分类数据
2022-02-15 02:03:00

如果在线性回归中我有分类变量......我怎么知道分类变量的统计显着性?

假设因子有 10 个水平......将有 10 个不同的结果 t 值,在一个因子变量的保护伞下......X1X1

在我看来,对因子变量的每个级别都进行了统计显着性测试?不?

@Macro:根据您的建议,我构建了以下示例:

从下面的模型比较来看,x3 似乎很有用,必须包含在模型中。

但实际上这是错误的......

    n=100    
    x1=1:n
    x2=(1:n)^2 
    x3=rnorm(n)
    ee=rnorm(n)
    y=3*x1-2*x2+x3+3+ee
    lm1=lm(y~x1+x2+x3)
    summary(lm1)
   
    lm2=lm(y~x1+x2) 
    summary(lm2)
   
    anova(lm1, lm2)

    > anova(lm1, lm2)
    Analysis of Variance Table
    
    Model 1: y ~ x1 + x2 + x3
    Model 2: y ~ x1 + x2
      Res.Df     RSS Df Sum of Sq      F    Pr(>F)    
    1     96  82.782                                  
    2     97 146.773 -1    -63.99 74.207 1.401e-13 ***
    ---
    Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 
1个回答

你是对的,那些值只告诉你每个水平的平均值是否与参考水平的平均值显着不同。因此,它们只告诉您级别之间的成对差异。检验分类预测变量整体上是否显着等同于检验预测变量水平的均值是否存在异质性。当模型中没有其他预测变量时,这是一个经典的ANOVA问题。p

当模型中有其他预测变量时。您有两个选项来测试分类预测变量的重要性:

(1)似然比检验:假设您有一个结果、定量预测变量和具有个级别的分类预测变量没有分类预测器的模型是YiXi1,...,XipCik

Yi=β0+β1Xi1+...+βpXip+εi

R您可以使用命令拟合此模型并使用命令lm()提取对数似然度logLik将此称为对数似然接下来,您可以使用分类预测器拟合模型:L0

Yi=β0+β1Xi1+...+βpXip+j=1k1αjBj+εi

其中是一个虚拟变量,如果则为个级别是参考级别,这就是为什么总和中只有项的原因。如果您将分类变量传递给. 您可以类似地拟合此模型并如上所述提取对数似然。将此称为对数似然没有影响的原假设下,Bj1Di=j0kk1Rlm()L1Di

λ=2(L1L0)

具有自由度为分布。因此,您可以使用in计算来测试显着性。χ2k1p1-pchisq(2*(L1-L0),df=k-1)R

(2) -test:F不深入细节(类似于 LRT,除了使用平方和而不是对数似然),我将在R. R如果您在使用lm()命令(调用 this g1)和没有分类预测变量的模型(调用 this )时拟合“完整”模型(即具有所有预测变量的模型,包括分类预测变量g0),那么anova(g1,g0)将测试这个假设你也是。

注意:我在这里提到的两种方法都需要正常的错误。此外,似然比检验是用于嵌套比较的非常通用的工具,这就是我在这里提到它的原因(以及为什么它首先出现在我身上),尽管检验在比较线性回归模型时更为熟悉。F