基于Logit回归模型,如何确定比赛获胜的最佳预测变量?
比赛获胜预测变量的选择问题
我的目标是找到比赛获胜的最佳预测变量。因为比赛结果是二元变量,我具备基础统计学知识,所以选择Logistic回归建模,代码如下:
logit_model=sm.Logit(y,X) result=logit_model.fit() result.summary()
运行后得到回归结果:
======================================================================== Model: Logit Pseudo R-squared: 0.515 Dependent Variable: win AIC: 92784.8133 Date: 2022-11-25 20:30 BIC: 92932.3349 No. Observations: 137967 Log-Likelihood: -46377. Df Model: 14 LL-Null: -95631. Df Residuals: 137952 LLR p-value: 0.0000 Converged: 1.0000 Scale: 1.0000 No. Iterations: 7.0000 ------------------------------------------------------------------------ Coef. Std.Err. z P>|z| [0.025 0.975] ------------------------------------------------------------------------ kills 0.2116 0.0050 42.7261 0.0000 0.2019 0.2213 assists 0.2439 0.0025 98.3537 0.0000 0.2391 0.2488 deaths -0.4083 0.0039 -103.6498 0.0000 -0.4160 -0.4005 baronKills 0.7598 0.0338 22.4612 0.0000 0.6935 0.8261 dragonKills 0.3566 0.0157 22.6557 0.0000 0.3257 0.3874 timeCCingOthers -0.0096 0.0006 -17.2654 0.0000 -0.0107 -0.0085 wardsPlaced 0.0051 0.0012 4.1346 0.0000 0.0027 0.0076 goldEarned -0.0003 0.0000 -45.5422 0.0000 -0.0003 -0.0003 inhibitorTakedowns 2.1111 0.0212 99.5492 0.0000 2.0696 2.1527 largestKillingSpree -0.0504 0.0070 -7.2300 0.0000 -0.0641 -0.0367 largestMultiKill 0.4043 0.0159 25.5014 0.0000 0.3732 0.4354 totalMinionsKilled 0.0043 0.0002 21.6630 0.0000 0.0039 0.0047 consumablesPurchased -0.0395 0.0032 -12.3773 0.0000 -0.0458 -0.0333 damageDealtToBuildings 0.0002 0.0000 25.9200 0.0000 0.0001 0.0002 turretKills 0.3140 0.0131 23.8875 0.0000 0.2882 0.3397 ========================================================================
基于上述结果,我有几个疑问:
- 哪个变量是比赛获胜的最佳预测变量?
- 我最初认为不能直接使用回归系数,因为所有变量来自不同分布,这个想法对吗?
- 使用z-score(因其可将值标准化至同一分布)是否合理?assists和inhibitorTakedowns的z-score最高,能否将它们视为最佳预测变量,这种思路是否存在缺陷?
问题解答
直接比较原始回归系数确实不合理
你的判断是对的,不同变量的测量尺度差异极大——比如inhibitorTakedowns(推掉的高地数)通常只有0-2个,而assists(助攻数)可能达到30+,尺度不同导致原始系数的大小完全无法反映变量的实际预测能力。用z-score判断预测能力存在明显缺陷
回归结果里的z值是统计显著性检验统计量,计算方式是系数除以标准误,它的大小仅代表“该变量系数显著不为0的置信程度”,和变量的预测能力(对获胜概率的影响幅度、对模型解释力的贡献)没有直接关系。
比如你看到assists和inhibitorTakedowns的z值很高,只能说明这两个变量和获胜结果的关联在统计上极其显著,但不能直接等同于它们是“最佳预测变量”。像goldEarned的z值绝对值也很高,但它的原始系数极小,实际对获胜概率的影响远不如系数大的变量。判断最佳预测变量的合理方法
推荐用以下几种方式:- 标准化系数:先把所有自变量做z-score标准化(每个变量减去均值再除以标准差),重新跑Logistic回归。此时得到的系数可以直接比较,绝对值越大,说明该变量每变化一个标准差,对获胜概率的对数优势比影响越大,预测能力越强。
- 边际效应:计算每个变量在样本均值处(或全样本平均)的边际效应,也就是变量每变化一个单位,获胜概率的变化量。这个指标更直观,直接对应实际概率变化,适合解释变量的实际影响。
- 模型拟合度变化:移除某个变量后,看模型的伪R²下降幅度、AIC上升幅度,变化越大说明该变量对模型整体解释力的贡献越大。
- 单变量模型表现:如果想知道单个变量的独立预测能力,可以单独用每个变量跑Logistic回归,比较各模型的伪R²、准确率等指标。
内容的提问来源于stack exchange,提问作者Meio
相关产品推荐
相关产品推荐

