首页 > 解决方案 > PyLogit 数据框格式和条件 Logit 预测

问题描述

我正在努力复制论文的结果,“一种用于生成和组合统计预测模型以增强竞争事件预测的新方法”,作者是 Lessmann 等人。

我遇到的问题有两个。

首先,作者使用条件 logit 模型来堆叠模型基础层的预测。具体来说,MLR、SVM 和决策树的组合,然后用作条件 logit 模型中的输入。然后,作者将条件 logit 模型的此输出传递到第二阶段条件 logit 模型,其中包括隐含的公共概率。然后使用这些模型来预测一组坚持比赛的概率。

我遇到的问题是如何使用条件 logit 模型进行预测?据我了解,固定效应模型不能用于预测看不见的数据。也许我需要更多地挖掘实际的数学知识,但是缺少截距不会使对看不见数据的预测产生偏差吗?

其次,什么包可以让我进行条件 logit 模型?

我尝试使用 Statsmodels 条件 logit,但 pd.Panel() 在包 0.25.0 之后已被弃用,这将需要我回归我的 pandas 包以允许甚至使用 statsmodel CLogit。

鉴于此,我尝试使用 PyLogit,但似乎很难理解如何格式化数据帧以允许 PyLogit 适合然后预测保持集。

下面是传递到第一阶段的数据示例。

   horse_id  SVM_Pred1  MLR_Pred1  SVM_Pred2  race_id  target
0         1       0.20       0.50       0.34        1       0
1         2       0.40       0.30       0.40        1       0
2         3       0.14       0.10       0.20        1       0
3         4       0.50       0.50       0.60        1       0
4         5       0.30       0.30       0.28        1       1
5         6       0.68       0.72       0.69        2       0
6         7       0.70       0.80       0.73        2       1
7         8       0.20       0.13       0.17        2       0

其中 Pred 是模型类型和该模型的预测,race_id 是组,目标是获胜的个人。

这将如何格式化以被 pylogit 接受?

老实说,我被困住了,甚至注意到如何继续将此 df 格式化为 PyLogit 所需的格式。

我假设来自 PyLogit 的混合 Logit 模型将是我正在寻找的,因为它允许在未观察到的因素中存在相关性,并且由于我无法观察到所有内容,因此每个种族中可能存在可能相关的因素。

标签: pythonpandasdataframestatsmodelsforecasting

解决方案


推荐阅读