Ich möchte die Leistung von PGA-Golfspielern vorhersagen. Ich frage mich, ob ich neueren Ergebnissen mit der weights=
Option in der Funktion lmer () mehr Gewicht gebe.
Ich habe Daten von 2012-2014 so angelegt:
library("lme4")
library("dplyr")
head(rdDat)
Source: local data frame [6 x 5]
Groups: plrF, trnF
plrF trnF rdF wt rdScr rdPar
1 5 996 R1 1 71 71
2 5 996 R2 1 69 71
3 5 996 R3 1 70 71
4 5 996 R4 1 69 71
5 5 998 R1 3 72 72
6 5 999 R1 4 73 70
- plrF - Spieler ID
- trnF - Trounament ID
- rdF - Turnierrunde (jedes Turnier hat 4 Runden)
- Gewicht - Gewicht. Grundsätzlich Anzahl der Wochen seit dem 1. Januar 2012.
- rdScr - beobachtete Punktzahl für einen Golfer
- rdPar - Par für diese Runde.
Ich möchte lmer () verwenden, um Spielerwerte basierend auf einem zufälligen Spielereffekt und einem festen Par-Effekt zu modellieren. Teilen wir die Daten in einen Trainingssatz und einen Testsatz auf.
oRdDat <- rdDat %>% filter(wt <= 120)
newdat <- rdDat %>% filter(wt > 120)
Passen Sie ein Modell an die beobachteten Daten an:
lmr1 <- lmer(rdScr ~ rdPar + (1 | plrF), data= oRdDat)
Verwenden Sie die Ergebnisse, um die neuen Daten vorherzusagen und den absoluten Fehler unserer Vorhersage zu berechnen:
pred0 <- cbind(newdat, prScr = predict(lmr1, newdat, allow.new.levels = TRUE)) %>%
mutate(diff = abs(prScr - rdScr))
und verwenden Sie diese diff
Variable, um den mittleren absoluten Fehler unserer Projektion zu überprüfen:
summary(pred0$diff)[4]
Mean
2.481
Ich halte es jedoch für sehr vernünftig anzunehmen, dass neuere Ergebnisse (z. B. Ende 2014) einen größeren Einfluss auf unsere Prognose haben sollten als Ergebnisse ab Anfang 2012. Daher passe ich dazu:
wlmr1 <- lmer(rdScr ~ rdPar + (1 | plrF), weights = wt, data= oRdDat)
Vorhersage wie zuvor und überprüfen Sie die MAE:
summary(pred1$diff)[4]
Mean
2.474
Schrittweise Verbesserung! :-D
Lassen wir die Frage beiseite, wie das optimale Gewichtungsschema aussehen würde und ob sich die hier gezeigte kleine Verbesserung tatsächlich lohnt. Meine Frage ist: weights=wt
Tut diese Option das, was ich möchte? Bieten Sie beispielsweise neueren Ergebnissen mehr Gewicht, um zukünftige Ergebnisse zu projizieren?
Vielen Dank!