预测假足球数据
我有一个问题,我将说明使用有关足球比赛的虚构数据。我的模型预测足球比赛的获胜者,然后使用predict()预测样本外数据的结果。
演示数据:
library(margins)
library(tidyverse)
fotball_data <- data_frame(TeamA = c("Manchester United", "Liverpool", "Blackburn", "Manchester United", "Arsenal", "Newcastle"),
GoalsA = c(15, 10, 5, 15, 8, 12),
TeamB = c("Manchester City", "Arsenal", "Queens Park Rangers", "Blackburn", "Manchester City", "Arsenal"),
GoalsB = c(7, 8, 10, 5, 7, 8),
Team.A.Won = c(1, 1, 0, 1, 1, 1))
> head(fotball_data)
# A tibble: 6 x 5
TeamA GoalsA TeamB GoalsB Team.A.Won
<chr> <dbl> <chr> <dbl> <dbl>
1 Manchester United 15 Manchester City 7 1
2 Liverpool 10 Arsenal 8 1
3 Blackburn 5 Queens Park Rangers 10 0
4 Manchester United 15 Blackburn 5 1
5 Arsenal 8 Manchester City 7 1
6 Newcastle 12 Arsenal 8 1
fotball_model <- glm(Team.A.Won ~ GoalsA + GoalsB,
data = fotball_data,
family = "binomial")
summary(fotball_model)
newdata <- data_frame(TeamA = c("Tottenham"), GoalsA = 12, TeamB = c("Chelsea"), GoalsB = 7, Team.A.Won = 1)
prediction <- predict.glm(fotball_model, newdata = newdata, type = "response")
到目前为止一切顺利 所有这些都很好。我的问题是如何解释最终的预测。
我可以判断为什么TeamA在这种情况下获胜。问题出在变量数量急剧增加时。有了20个变量,我再也无法真正相信自己的眼睛了。
我想做的是并排绘制单个匹配的newdata系数。
不足为奇的是,当TeamA(热刺)在12赛季到目前为止有一个目标盈余,而TeamB(切尔西)的目标盈余为7时,predict()认为TeamA将会获胜。
> prediction
1
1
您对绘制系数有任何建议吗?我知道我可能以一种过于困难的方式来解决这个问题。我总是发现stackoverflow上的好伙伴很方便。