Answers:
偏差和GLM
形式上,人们可以将偏差视为两个概率模型之间的距离。在GLM上下文中,它等于两个嵌套模型之间的似然比的对,其中是“较小”模型;也就是说,如@suncoolsu所述,对模型参数有线性限制(请参阅Neyman–Pearson引理)。这样,它可以用于执行模型比较。它也可以看作是OLS估计中使用的RSS的一般化(ANOVA,回归),因为与空模型(仅拦截)相比,它提供了所评估模型的拟合优度度量。它也适用于LM:
> x <- rnorm(100)
> y <- 0.8*x+rnorm(100)
> lm.res <- lm(y ~ x)
残差SS(RSS)计算为,可以很容易地获得:
> t(residuals(lm.res))%*%residuals(lm.res)
[,1]
[1,] 98.66754
或来自(未经调整的)
> 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表中使用,例如
> 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视为一种将已经标记的个体分配到任意类中的方法(在分类上下文中)。可以将树视为为个人类成员资格提供概率模型。因此,在每个节点,我们在类上具有概率分布。这里重要的是,树的叶子从指定的多项式分布中为我们提供了随机样本。因此,我们可以将树的偏差定义为树的所有叶子的总和。
遵循Venables和Ripley的注释(MASS,Springer 2002,第4版)。如果您可以访问R用户(IMHO)的基本参考,则可以自己检查如何使用这种方法拆分节点并将树拟合为观察到的数据(第255页及以下);基本上,想法是通过修剪树来最小化,其中是树的节点数。在这里,我们认识到成本复杂性的权衡。在此,等效于节点杂质(即给定节点处的分布的异质性)的概念,该概念基于熵或信息增益的度量或众所周知的基尼系数,定义为 (未知比例是根据节点比例估算的)。
随着回归树,倒也颇为相似,我们可以概念化的越轨行为对个人定义的平方和通过
总结所有叶子。在这里,每个叶子内考虑的概率模型是高斯。引用Venables和Ripley(第256页),“是高斯GLM的通常比例偏差。但是,树的内部节点处的分布则是正态分布的混合,因此仅适用于叶子。树的构建过程必须被看作是概率模型的分层改进,与回归中的前向变量选择非常相似。” 第9.2节提供了有关实现的更多详细信息,但您已经可以查看用于rpart
residuals()
rpart
对象,其中“偏差残差”被计算为减去拟合模型对数两倍的平方根。
Atkinson和Therneau 对使用rpart例程进行递归分区的介绍也是一个不错的开始。对于更一般的评论(包括装袋),我建议
lm.fit
在您的示例中可能不是最好使用,因为这是背后的主力军的名字lm
。
如果我们考虑一个具有与观察值一样多的参数的完美模型,从而可以解释响应中的所有方差,则可能会更清晰一些。这是饱和模型。偏差仅测量候选模型与饱和模型的“拟合”差异。
在回归树中,饱和模型将是具有与观察值一样多的末端节点(叶)的模型,因此它将完全适合响应。可以将简单模型的偏差计算为所有节点上的节点残差平方和。换句话说,预测值和观察值之间的平方差之和。这与最小二乘回归中使用的错误(或偏差)相同。
对于分类树,残差平方和不是缺少拟合度的最合适度量。取而代之的是,有另一种测量偏差的方法,此外,还可以构建树木以最小化熵测度或基尼系数。后者是中的默认设置rpart
。基尼系数的计算公式为:
其中是在节点观察到的类的比例。对该树中所有终端节点的总和进行度量,以得出拟合树模型的偏差。
偏差是用于检验模型再次具有一般替代性(即饱和模型)的原假设的似然比统计量。对于某些泊松和二项式GLM,随着个体数量的增加,观测值保持固定。则偏差具有卡方渐近零分布。自由度= N-p,其中p是模型参数的数量;也就是说,它等于饱和模型和非饱和模型中自由参数的数量。然后,偏差会为模型拟合提供测试。
但是,在大多数情况下,您需要测试是否需要删除一些变量。假设有两个模型和具有和参数,并且您需要测试这两个模型中哪个更好。假设是的特例, 即嵌套模型。
在这种情况下,将得出偏差的差异:
注意,饱和模型的对数似然性被抵消,的自由度变为。这是我们在需要测试某些参数是否为0时最常用的方法。但是,当你适应在越轨行为输出是饱和的型号VS当前模型。p 2 - p 1glm
R
如果您想详细阅读:cf:Alan Agresti的《分类数据分析》,第118页。
rpart
,我将答案留给该论坛的更有经验的成员。