使用什么回归来计算多党制中的选举结果?

数据挖掘 分类 r Python 回归 预测建模
2021-10-10 05:36:17

我想预测一下议会选举的结果。我的输出将是各方收到的百分比。有超过 2 个参与方,因此逻辑回归不是一个可行的选择。我可以为每一方进行单独的回归,但在这种情况下,结果将以某种方式相互独立。它不能确保结果的总和是 100%。

我应该使用什么回归(或其他方法)?是否可以通过特定库在 R 或 Python 中使用此方法?

3个回答

罗伯特是对的,多项逻辑回归是最好的工具。尽管您需要一个整数值来表示该方作为因变量,例如:

1= 保守党多数,2= 工党多数,3= 自由党多数....(以此类推)

您可以使用 nnet 包在 R 中执行此操作。是一个快速了解如何使用它的好地方。

您想根据什么做出预测?我试图根据前几年的论文预测多党选举结果,然后使用今年一些投票站的结果预测所有其他投票站的结果。为此,我与之比较的线性模型估计了每个政党通过回归前几年的选票而获得的选票数量。如果您有所有政党的估计票数,您可以从中计算百分比。有关扩展线性模型的相关论文,请参阅非随机样本的预测。

这不是回归问题,而是多类分类问题。输出通常是任何给定测试实例(测试行)的所有类的概率。因此,在您的情况下,训练模型中任何给定测试行的输出将采用以下形式:

prob_1, prob_2, prob_3,..., prob_k

其中 prob_i 表示第 i 个类别(在您的情况下为第 i 个方)的概率,假设响应变量中有 k 个类别。请注意,这 k 个概率的总和将为 1。在这种情况下,类别预测将是具有最大概率的类别。

R中有许多分类器进行多类分类。您可以通过 R 中的nnet包并调用multinom命令来使用具有多类支持的逻辑回归。

作为替代方案,您也可以使用 R 中的gbm包并调用该gbm命令。要创建多类分类器,只需使用distribution="multinomial" while using thegbm 函数。