案例加权逻辑回归


9

我正在研究一些逻辑回归问题。(“常规”和“有条件”)。

理想情况下,我想对每个输入案例进行加权,以便glm将更多的精力放在正确预测较高加权案例上,而可能会误分类较低加权案例。

当然这已经完成了。谁能指出我一些相关的文献(或者可能建议修改的似然函数。)

谢谢!


1
您假设分类是目标,而不是预测。为了获得最佳的概率估计,您无需重新加权任何东西。“假阴性”和“假阳性”仅在强制选择下出现,并且通常没有人在强迫进行纯二进制选择。
Frank Harrell

@弗兰克你说的很好。最终,该项目的目标是预测进一步事件的结果。(因此,我认为可以将其视为带有训练数据的机器学习趣味。)某些结果比其他结果更“重要”,因此我一直在寻找一种对它们进行加权的方法。Nick对于似然函数的建议是合理的,并且在代码中实现应该是微不足道的。
诺亚

1
听起来好像您需要精确的概率模型,而无需权重。
Frank Harrell

1
对; 插入成本函数并使用预测的概率,您将获得最佳决策。
弗兰克·哈雷尔

1
在经过良好校准的概率模型中,没有“错误”,只有随机性无法预测。最佳决策是预测概率和做出各种决策以采取行动的成本函数的函数。
Frank Harrell 2015年

Answers:


3

glmweights正是为此目的持有一个参数。您可以为它提供任意尺度的数字向量,该向量具有与观察值相同的权数。

我现在才意识到你可能没有说话R。如果没有,您可能想要。


我对R非常熟悉,但是我想了解似然函数背后的数学原理。我可能会用C ++或其他某种语言编写代码。(仅仅相信glm函数的“黑匣子”并不总是最好的解决方案)
诺亚

啊。对你好。好吧,据我所知,权重只是用于将每次观察的对数似然乘以。因此,如果您编写的是非加权版本,则添加权重应该是轻而易举的事。还要注意,您始终可以查看源代码glm以(可能)找到C实现。
尼克·萨卜比

2
@Nick,我也误以为这是glm中weights参数的功能-不是。实际上,当二项式结果基于不同数量的试验时,它实际上用于二项式结果。例如,如果第一个观测值是Binomial(),第二个观测值是Binomial (),则它们的权重将是。同样,glm()中的weights参数不是采样权重。要在R中执行此操作,您需要根据权重扩展数据集,并使模型适合扩展后的数据集(不过,在这种情况下,SE可能是错误的)。3,.57,.53,7

3
这是留言板上有关“权重”参数的讨论:r.789695.n4.nabble.com/Weights-in-binomial-glm-td1991249.html
Macro

@Macro:谢谢!井井有条。如果我在您发表评论之前用过它,那可能是让我
大吃一惊的事情之一

1

如果您可以访问SAS,则可以使用PROC GENMOD轻松完成此操作。只要每个观察值都有一个权重变量,权重语句的使用将使您能够执行所需的分析。我最常使用处理逆概率的权重来使用它,但是我认为没有理由不为您的数据分配权重以强调某些类型的情况,只要您确保N保持恒定即可。您还需要确保包括某种ID变量,因为从技术上讲,加重的案例是重复观察到的。示例代码,观察ID为“ id”,权重变量为“ wt”:

proc genmod data=work.dataset descending;
    class id;
    model exposure = outcome covariate / dist=bin link=logit;
    weight wt;
    repeated subject=id/type=ind;
run;
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.