python - 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 模型将是我正在寻找的,因为它允许在未观察到的因素中存在相关性,并且由于我无法观察到所有内容,因此每个种族中可能存在可能相关的因素。
解决方案
推荐阅读
- arrays - 为什么 numpy 在比较两个数组中的元素较大值时不会更快?
- visual-studio-code - 有没有办法只撤消 vscode 中的一行?
- r - 有没有办法使用 Quantmod 从矩阵中提取元素?
- typescript - 为什么我不能在打字稿类的构造函数中访问抽象属性
- swift - 将字典转换为数组并访问值 Swift 之一
- css - 子元素的正确样式
- c++ - c ++设计(多重继承与列出相关数据)
- python - 您能否解释一下范围内的 d(arr-1,0,-1)(什么是 0 和 -1)?
- vim - 如何在vim中进行键绑定,让用户插入,重复插入?
- javascript - Chrome 控制台返回数组而不是它的值,这是为什么呢?