什么是偏差?(特别是在CART / rpart中)


45

什么是“偏差”,它是如何计算的,在统计的不同字段中有什么用?

特别是,我个人对它在CART中的使用(及其在R中的rpart中的实现)感兴趣。

我之所以这么问,是因为维基文章似乎有所欠缺,您的见解将受到极大欢迎。

Answers:


48

偏差和GLM

形式上,人们可以将偏差视为两个概率模型之间的距离。在GLM上下文中,它等于两个嵌套模型之间的似然比的对,其中是“较小”模型;也就是说,如@suncoolsu所述,对模型参数有线性限制(请参阅Neyman–Pearson引理)。这样,它可以用于执行模型比较。它也可以看作是OLS估计中使用的RSS的一般化(ANOVA,回归),因为与空模型(仅拦截)相比,它提供了所评估模型的拟合优度度量。它也适用于LM:1/00

> x <- rnorm(100)
> y <- 0.8*x+rnorm(100)
> lm.res <- lm(y ~ x)

残差SS(RSS)计算为,可以很容易地获得:ε^tε^

> t(residuals(lm.res))%*%residuals(lm.res)
         [,1]
[1,] 98.66754

或来自(未经调整的)R2

> summary(lm.res)

Call:
lm(formula = y ~ x)

(...)

Residual standard error: 1.003 on 98 degrees of freedom
Multiple R-squared: 0.4234, Adjusted R-squared: 0.4175 
F-statistic: 71.97 on 1 and 98 DF,  p-value: 2.334e-13 

因为,其中是总方差。请注意,它可以直接在ANOVA表中使用,例如R2=1RSS/TSSTSS

> summary.aov(lm.res)
            Df Sum Sq Mean Sq F value    Pr(>F)    
x            1 72.459  72.459  71.969 2.334e-13 ***
Residuals   98 98.668   1.007                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

现在,看一下偏差:

> deviance(lm.res)
[1] 98.66754

实际上,对于线性模型,偏差等于RSS(您可能还记得,在这种情况下OLS和ML估计值是重合的)。

偏差和购物车

我们可以将CART视为一种将已经标记的个体分配到任意类中的方法(在分类上下文中)。可以将树视为为个人类成员资格提供概率模型。因此,在每个节点,我们在类上具有概率分布。这里重要的是,树的叶子从指定的多项式分布中为我们提供了随机样本。因此,我们可以将树的偏差定义为树的所有叶子的总和。nipiknikpikD

Di=2kniklog(pik),

遵循Venables和Ripley的注释(MASS,Springer 2002,第4版)。如果您可以访问R用户(IMHO)的基本参考,则可以自己检查如何使用这种方法拆分节点并将树拟合为观察到的数据(第255页及以下);基本上,想法是通过修剪树来最小化,其中是树的节点数。在这里,我们认识到成本复杂性的权衡。在此,等效于节点杂质(即给定节点处的分布的异质性)的概念,该概念基于熵或信息增益的度量或众所周知的基尼系数,定义为D+α#(T)#(T)TD1kpik2 (未知比例是根据节点比例估算的)。

随着回归树,倒也颇为相似,我们可以概念化的越轨行为对个人定义的平方和通过j

Di=j(yjμi)2,

总结所有叶子。在这里,每个叶子内考虑的概率模型是高斯。引用Venables和Ripley(第256页),“是高斯GLM的通常比例偏差。但是,树的内部节点处的分布则是正态分布的混合,因此仅适用于叶子。树的构建过程必须被看作是概率模型分层改进,与回归中的前向变量选择非常相似。” 第9.2节提供了有关实现的更多详细信息,但您已经可以查看用于N(μi,σ2)DDirpartresiduals()rpart 对象,其中“偏差残差”被计算为减去拟合模型对数两倍的平方根。

Atkinson和Therneau 对使用rpart例程进行递归分区的介绍也是一个不错的开始。对于更一般的评论(包括装袋),我建议


1
+1好答案chl,正如您所说,它是我的补充,所以在那里没有问题。非常好放。
恢复莫妮卡-G.辛普森

一件小事- lm.fit在您的示例中可能不是最好使用,因为这是背后的主力军的名字lm
恢复莫妮卡-G.辛普森

@Gavin哦,是的,没错。Thx提醒我,我经常犯这个错误……
chl

3
只是一句话:对于线性回归,偏差的正态性等于RSS,因为误差的正态性假设暗示RSS与LR测试统计量相同,这进一步暗示了偏差呈正态分布,而与渐近无关。这只是对chl简短评论的扩展。
suncoolsu 2011年

@suncoolsu如果是关于我对ML和OLS估计的评论,是的,我的意思是(即在线性模型中)“假设高斯分布” 。欢迎您发表评论。εi
chl

25

如果我们考虑一个具有与观察值一样多的参数的完美模型,从而可以解释响应中的所有方差,则可能会更清晰一些。这是饱和模型。偏差仅测量候选模型与饱和模型的“拟合”差异。

在回归树中,饱和模型将是具有与观察值一样多的末端节点(叶)的模型,因此它将完全适合响应。可以将简单模型的偏差计算为所有节点上的节点残差平方和。换句话说,预测值和观察值之间的平方差之和。这与最小二乘回归中使用的错误(或偏差)相同。

对于分类树,残差平方和不是缺少拟合度的最合适度量。取而代之的是,有另一种测量偏差的方法,此外,还可以构建树木以最小化熵测度或基尼系数。后者是中的默认设置rpart。基尼系数的计算公式为:

Di=1k=1Kpik2

其中是在节点观察到的类的比例。对该树中所有终端节点的总和进行度量,以得出拟合树模型的偏差。pikkii


(+1)抱歉,我的帖子稍后发布,我没注意到你的。我认为它们不会重叠太多,如果您不介意,我会离开我的。
chl

因此,偏差是衡量拟合优度的标准,对吗?AFAIK,在回归中,我们有一些统计量(例如RSS,)来测量拟合度;在分类中,我们可以使用误分类率。我对吗?R2
牛油果

11

偏差是用于检验模型再次具有一般替代性(即饱和模型)的原假设的似然比统计量。对于某些泊松和二项式GLM,随着个体数量的增加,观测值保持固定。则偏差具有卡方渐近零分布。自由度= N-p,其中p是模型参数的数量;也就是说,它等于饱和模型和非饱和模型中自由参数的数量。然后,偏差会为模型拟合提供测试。N

Deviance=2[L(μ^|y)L(y|y)]

但是,在大多数情况下,您需要测试是否需要删除一些变量。假设有两个模型和具有和参数,并且您需要测试这两个模型中哪个更好。假设是的特例, 即嵌套模型。 M1M2p1p2M1M2

在这种情况下,将得出偏差的差异:

ΔDeviance=2[L(μ1^|y)L(μ2^|y)]

注意,饱和模型的对数似然性被抵消,的自由度变为。这是我们在需要测试某些参数是否为0时最常用的方法。但是,当你适应在越轨行为输出是饱和的型号VS当前模型。p 2 - p 1ΔDeviancep2p1glmR

如果您想详细阅读:cf:Alan Agresti的《分类数据分析》,第118页。


@Tal,我不使用rpart,我将答案留给该论坛的更有经验的成员。
suncoolsu 2011年

我想我已经有了主意...但是rpart甚至对于回归树也会出现偏差Oo
deps_stats 2011年

@deps_stats偏差是在树的末端节点上求和的节点残差平方和。
恢复莫妮卡-G.辛普森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.