请帮我完善这个零膨胀负二项式模型

机器算法验证 r 多重回归 负二项分布 诊断 零通胀
2022-03-27 17:43:55

我一直在研究棒球模型,以使用小联盟统计数据预测大联盟级别的成功。在此站点(1、2、3)上发布多个线程收到有价值反馈后,我决定采用零膨胀负二项式模型作为最适合我的数据的模型。

对于那些不想回到旧线程的人,我将在这里回顾一些故事。此外,对于那些阅读过旧线程的人来说,关于我使用的变量的一些细节已经改变。

在我的模型中,因变量,进攻生涯胜过替补(oWAR),代表了美国职业棒球大联盟级别的成功,并被衡量为球员在其职业生涯中参与的每场比赛的进攻贡献的总和(详情在这里 - http://www.fangraphs.com/library/misc/war/)。自变量是用于统计数据的 z 得分小联盟进攻变量,这些统计数据被认为是大联盟级别成功的重要预测指标,包括年龄(在年轻时取得更多成功的球员往往有更好的前景),三振出局率 [SOPct ]、步行率 [BBPct] 和调整后的产量(衡量进攻性产量的全球指标)。此外,由于位置是一个球员能否进入大联盟的重要决定因素(那些在较容易位置上打球的人将被要求在更高的进攻水平上表现,以便与处于更困难位置的球员具有相同的价值),我已经包含了虚拟变量来解释位置。

编辑:我添加了以下段落以回应以下答案中的以下评论:

“我看到你在 Logit 和负二项式过程中没有包含相同的协变量——为什么不呢?通常,每个相关的预测变量都会影响这两个过程。”

我认为如果我解释数据生成过程会有所帮助。一名球员在小联盟踢球。在某个时候,当他们在小联盟级别表现出足够的技能(这是统计上的成功和观察到的特征的组合,球探认为这将使他们在大联盟级别取得成功),一名球员被提升到大联盟. 此时,他们有机会积累 oWAR。至此,第一个数据生成过程(由 logit 模型捕获)结束。现在,一个不同的数据生成过程接管了,玩家根据他们在大联盟级别的比赛方式积累 oWAR。一些球员表现不佳,累积零oWAR,就像没有进入大满贯赛的球员一样。这也是我认为这个模型合适的原因之一。将一个累积为零的球员与一个进入大联盟但没有在那个水平上取得成功(并且仍然以零 oWAR 结束他的职业生涯)的球员区分开来并不一定容易。我没有在模型的计数部分包括位置假人,因为 oWAR 测量值已经针对球员所扮演的位置进行了调整,而小联盟统计数据则没有。当我尝试在模型中测试它们时,毫不奇怪,它们并不重要。我从模型的 logit 部分省略了 BB Pct 统计量,因为它不显着(p = 0.22)我没有在模型的计数部分包括位置假人,因为 oWAR 测量值已经针对球员所扮演的位置进行了调整,而小联盟统计数据则没有。当我尝试在模型中测试它们时,毫不奇怪,它们并不重要。我从模型的 logit 部分省略了 BB Pct 统计量,因为它不显着(p = 0.22)我没有在模型的计数部分包括位置假人,因为 oWAR 测量值已经针对球员所扮演的位置进行了调整,而小联盟统计数据则没有。当我尝试在模型中测试它们时,毫不奇怪,它们并不重要。我从模型的 logit 部分省略了 BB Pct 统计量,因为它不显着(p = 0.22)

“由于您的数据似乎是一个面板(您反复观察球员/球队),您可以考虑更复杂的东西,例如固定或随机效应。”

就数据的采样方式而言,一名球员可以在数据集中出现一次(如果他们只在小联盟的水平上度过了一年),如果他们需要多年的时间才能晋级,则可以多次进入数据集。在阅读了固定与随机效应模型之后,我看不出如何使用固定模型来预测样本外的玩家。但是,我确信存在固定效果(由玩家确定的效果未在因变量中捕获),因此我不完全了解如何处理该问题。

结束编辑

在尝试了一个线性的、Box-Cox 变换的基本 GLM 模型,但结果通常很差,我被引导到模型的零膨胀负二项分布集。在尝试了不同的变量组合并按照 R 中计数数据回归模型的出色分步指南中的步骤进行操作后,我选择了以下模型(如下所示)。

模型 型号1

此外,当我使用三明治标准误差重新估计标准误差时,模型似乎仍然具有适当的自变量。

三明治标准错误 三明治

在这一点上,考虑到我拥有的数据集,我认为我不会找到更好的模型类型。但是,我仍然存在一些问题。第一个问题可能是我正在使用的数据集的函数。在我看到的大多数讨论零膨胀数据的示例中,零显然比其他值多(因此得名)。然而,零的数量似乎仍然少于总因变量的 50%,通常甚至没有那么高。在我的数据集中,大约 87% 的因变量为零,即很难在美国职业棒球大联盟中取得成功。我猜该模型在技术上应该能够解释这种情况(尽管预测值低于具有更多非零值的模型),但我不确定如何检查是否是这种情况。当我创建一个拟合值和皮尔逊残差图时,

拟合与皮尔逊残差 FvP

拟合残差与原始残差 FvR

由于不知道这些图在良好拟合回归中的具体情况,我决定采用此处描述的样本数据并在一个我知道拟合被认为良好的示例中检查这些图。

拟合与皮尔逊残差 - 样本问题 FvPEx

拟合残差与原始残差 - 样本问题 FvREx

显然,这些情节看起来与我的不太相似。我不确定与 a) 模型错误指定有多大关系 b) 我的因变量有 87% 的零的事实和 c) 这是一个简单的示例问题,旨在完美地拟合这个模型,而我的数据很混乱,真实世界的数据。对此问题的任何想法将不胜感激。

我的第二个问题,我不确定是否应该在第一个问题之后或同时处理,与功能形式规范有关。我不知道我的自变量的形式是否正确。一位朋友向我建议,我可以尝试 a) 带循环的多个分数多项式或 b) 非正式地添加协变量、交互等多项式。我目前的问题是我不知道如何实现R 中的 a 点,除了随机选择一些之外,我不确定要尝试哪种形式来尝试 b 点。再次,非常感谢您对这个单独的(但相关的?)问题的帮助。

如果有人有任何问题,我会尽力回答。在我的第一篇文章 ( 1 ) 中,我提到我无法提供数据集,但如果有人想看,我已获准这样做。

1个回答

零膨胀模型旨在处理过度分散的数据 - 87% 的零通常被认为是过度分散的,但您可以在拟合泊松后检查均值 < 方差。查看您是否已处理过度离散的一个好方法是使用模型简单地预测样本如果你有过度分散的数据,并且只使用负二项式回归或泊松,你会看到样本中的预测份额和样本中的实际份额偏差很大。这将表明过度分散没有得到充分处理。但我的猜测是你很好 - 额外的 logit 过程使模型非常灵活。0,1,2,

您可以考虑将交互项包括为预测变量(如您所述);有些可能有意义并改善您的预测,有些则可能没有。要决定包含哪些内容,您要么有一些先验知识,即某些交互会产生影响(也许年龄对职位有不同的影响?)。或者您通过将整个样本分成两半来选择模型,使用前半部分拟合模型,使用估计值预测后半部分,然后比较预测结果和实际结果。您应该很快就会看到哪些模型可以提供更好的预测。此方法还可以帮助您避免过度拟合(即,将现有数据拟合得如此紧密,以至于甚至包含随机噪声,这会损害预测能力)。为了不要太接近你的训练数据集,“训练”一半和“预测”

我看到您在 Logit 和负二项式过程中没有包含相同的协变量 - 为什么不呢?通常,每个相关的预测因素都会影响这两个过程。编辑:好的,只有一件事。如果您的目标是预测,您可能不仅要查看显着性,还要查看系数的大小。一个大的微不足道的系数可以极大地改变你的预测(因此你可能仍然想保留它),即使如果目标只是解释数据你会放弃它。

由于您的数据似乎是一个面板(您反复观察球员/球队),您可以考虑更复杂的东西,如固定或随机效应。固定效应不允许样本外预测(您无法预测样本中没有玩家的结果),但应该在样本内很好地预测。不确定这对于零膨胀负二项式是否存在;是最近应用的固定效应 ZI-Poisson。我不是随机效应专家。但是,如果你的预测器不能很好地预测,那么两者都可以改进预测,并且大部分行动都在不可观察的情况下进行。编辑:如果你只观察一些球员一次,并且想做出样本预测,那么固定效应不是一个好主意。