我使用R运行了一个基本的逻辑回归模型,我计算出的概率从不小于0.5,这对我来说听起来并不正确。

时间:2018-10-24 03:38:15

标签: r logistic-regression

我正在尝试学习R和预测模型,所以我认为我应该进行逻辑回归来确定我的梦幻足球联赛进入季后赛的球队的概率。

我有一张表格,其中包含前一个赛季的数据,这些数据包括团队名称,总胜利,总损失,得分,反对,以及他们是否进入了季后赛(1或0)。然后,我运行以下回归模型。

请参见下表。

Team    Wins    Losses  PointsFor   PointsAgainst   Playoffs
<fctr>  <dbl>   <dbl>   <dbl>   <dbl>   <dbl>
Team 1  6   1   649.4   567.3   1
Team 2  5   2   603.3   523.5   1
Team 3  5   2   603.0   491.2   1
Team 4  4   3   604.7   616.0   1
Team 5  4   3   581.2   587.9   0
Team 6  3   4   635.1   623.5   0
Team 7  3   4   626.6   619.8   0
Team 8  3   4   577.1   620.6   0
Team 9  3   4   556.5   552.4   0
Team 10 3   4   551.9   637.4   0
Team 11 3   4   517.1   515.7   1
Team 12 0   7   446.3   596.9   0

然后我运行下面的模型。

playoff.lm <- glm( Playoffs ~ Wins + Losses + PointsFor + PointsAgainst, data = predict.2017, family = binomial(link = "logit"))

具有以下结果

Call:
glm(formula = Playoffs ~ Wins + Losses + PointsFor + PointsAgainst, 
    family = binomial(link = "logit"), data = predict.2017)

Deviance Residuals: 
     Min        1Q    Median        3Q       Max  
-1.46807  -0.22076  -0.07455   0.05830   1.44255  

Coefficients: (1 not defined because of singularities)
              Estimate Std. Error z value Pr(>|z|)
(Intercept)   15.45650   20.16166   0.767    0.443
Wins           3.27222    3.04645   1.074    0.283
Losses              NA         NA      NA       NA
PointsFor     -0.01558    0.08507  -0.183    0.855
PointsAgainst -0.03203    0.06161  -0.520    0.603

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 16.3006  on 11  degrees of freedom
Residual deviance:  5.7816  on  8  degrees of freedom
AIC: 13.782

Number of Fisher Scoring iterations: 8

然后,我使用本赛季的预测数据来估算进入季后赛的球队的概率。

playoffpredict <-  predict(playoff.lm,newdata = summary.2018, type="response")

invlogit <- function(x)
{
    1/(1+exp(-x))
}

prob <- sapply(playoffpredict, invlogit)


results <- cbind(summary.2018,prob)

results

问题是我的概率永远不会低于0.5。这似乎不正确。

Team    Wins    Losses  PointsFor   PointsAgainst   Prob of Playoff
Team 1  7   0   829.7   561.3   0.7309
Team 2  5   2   743.9   673.0   0.5522
Team 3  5   2   694.8   609.0   0.6933
Team 4  5   2   649.7   634.4   0.6897
Team 5  4   3   696.9   610.1   0.5339
Team 6  3   4   694.2   679.7   0.5002
Team 7  3   4   679.8   666.8   0.5003
Team 8  3   4   569.5   621.9   0.5072
Team 9  2   5   797.5   818.3   0.5000
Team 10 2   5   662.7   853.8   0.5000
Team 11 2   5   655.3   732.0   0.5000
Team 12 1   6   549.8   763.5   0.5000

我知道这很简单,并且没有很多数据。我将添加来自先前季节的更多数据,但我只是在尝试入门。

1 个答案:

答案 0 :(得分:0)

首先,您的模型似乎不太准确。您的p值很高,因此您没有任何重要的变量。尝试组合并记录它们(例如对数(损失))或其他内容。您的错误预测可能来自模型的强大功能