对于当前的研究,我通过二项式因变量通过R中的glmnet包使用Lasso方法。
在glmnet中,可以通过交叉验证找到最佳的lambda,并将生成的模型与各种度量进行比较,例如分类错误或偏差。
我的问题:glmnet中的偏差有多准确?如何计算?
(在Friedman等人的相应论文“通过坐标下降的广义线性模型的正则化路径”中,我仅对cv.glmnet中使用的偏差发现了这一评论:“平均偏差(减去左侧的对数似然的两倍数据)”(第17页))。
是的,但是我认为他们按照我第一篇文章中的引用所指出的方式对其进行了扩展。据我了解,Deviance可以比较两个模型的性能,但是作者如何包括交叉验证的遗漏数据呢?“减去剩余数据对数似然的两倍”有何意义?
—
Jo Wmann 2014年
好了,谢谢,现在我想我明白了:偏差定义为-2 * log似然性,或者更确切地说是(2 * log-likelihood)/(null模型的对数似然性)。这也解释了为什么它们对不同λ值的偏差度量不超过0.2的间隔。根据交叉验证的k-1倍估算模型,并将其应用于其余倍数。对于剩余折数上的应用,将计算对数似然分数。重复k次,并返回上述定义的偏差度量的每个lambda的k个结果的平均值。
—
Jo Wmann 2014年
是的,它总是在每个lambda的所有折叠中取平均值。我认为您可以直接使用偏差,也可以使用wrt与null模型的比率,这可能是仅拦截模型。有两个陷阱:a)折叠可能没有完全相同数量的数据点b)每个折叠包含(自然)不同的数据。要解决(a),您可以简单地将偏差除以所选折中的数据点数。同时使用比率法固定(a)和(b)。偏差模型假设每个模型中的数据集都是相同的(在MAP估计中,它们忽略分母的情况是相同的)。
—
Cagdas Ozgenc 2014年
但是,一旦折痕进入图片,折痕的分母就不同了。因此,比率可以通过消除分母来解决。但是我不知道平均数倍时这有多大的问题。
—
Cagdas Ozgenc 2014年
glm
(至少应该如此-我知道只有一个偏差定义)。