Regresja logistyczna i zestawu danych Struktura

17

Mam nadzieję, że mogę zadać to pytanie w prawidłowy sposób. Mam dostęp do play-by-play danych, więc jest to większy problem z najlepszym podejściem i konstruowania dane poprawnie.

Co szukam zrobić to obliczyć prawdopodobieństwo wygranej jest NHL gra dany wynik i czas pozostały do ​​rozporządzenia. I postać mogę używać regresji logistycznej, ale nie jestem pewien, co zestaw danych powinien wyglądać. Chciałbym mieć kilka uwag na mecz i na każdy kawałek czasu Jestem zainteresowany? Chciałbym mieć jedną obserwację za gry i dopasować modele oddzielne za kawałek czasu? Czy regresja Ilość na Europalecie nawet właściwa droga?

Każda pomoc można zapewnić będą bardzo mile widziane!

Z poważaniem.

Btibert3
źródło
Trudne pytanie! Domyślam się, że lepiej byłoby wiedzieć więcej niż ja o procesach liczenia (i więcej niż Wikipedia: en.wikipedia.org/wiki/Counting_process )
onestop
Czy masz dostęp do ASA czasopiśmie możliwy? Wydaje mi się, że w zeszłym roku pojawił się odpowiedni artykuł, czy to na temat hokeja, czy innej dyscypliny sportu.
rolando2
Próbuję przeformułować problem (aby pobudzić dyskusję?): Powiedzmy, że mamy w grze zestaw odrębnych stanów (np. W kółko i krzyżyk). Teraz jest to rozsądne, aby utworzyć jeden model za stanie (być może za pomocą regresji logistycznej), aby przewidzieć wynik. Teraz TUTAJ mamy także grę, ale z ciągłymi stanami (tj. Czasem gry). Pytanie OP dotyczy: Jak a) dyskretyzować czas do stanów skończonych lub b) jak zbudować model, którego parametry różnią się w zależności (!) Od aktualnego czasu gry. Tam musi być ktoś, kto już rozwiązał ten problem, „Ogólne”.
steffen

Odpowiedzi:

9

Wykonaj regresję logistyczną, stosując zmienne towarzyszące „czas gry” i „gole (drużyna gospodarzy) - gole (drużyna gości)”. Trzeba będzie efekt oddziaływania tych kategoriach ponieważ ołów 2 bramki w przerwie będzie miał znacznie mniejszy wpływ niż 2 bramki ołowiu tylko 1 minutę lewej. Twoja odpowiedź brzmi „zwycięstwo (Gospodarz)”.

Nie wystarczy założyć, liniowość do tego dopasować płynnie zmieniającą modelu współczynnik dla efektu „goli (Gospodarz) - goli (Gość)”, na przykład w R można użyć mgcv„s gamfunkcję modelowego wzoru podobnego win_home ~ s(time_remaining, by=lead_home). Upewnij lead_homesię czynnik, aby uzyskać inny efekt time_remainingdla każdej wartości lead_home.

Tworzę wiele obserwacji na grę, po jednej na każdy interesujący cię czas.

fabianie
źródło
Świetny! Dzięki za pomoc. Miałem zamiar użyć R, i szło do konfiguracji dane podobne do tego, jak zasugerował, efekty interakcji i wszystko. Cieszę się, że jestem na dobrej drodze, a ja naprawdę nie appreicate czas.
Btibert3
1
Bądź ostrożny z braku niezależności generowanego przez włączenie wielu czasowe plasterki. Model efektów losowych (wielopoziomowe) może pomóc.
Eduardo Leoni,
1
@ Eduardo: Zgadzam się, że zależność nie jest modelowana i że jest to nieco problematyczne, dziękuję za zwrócenie na nią uwagi. Nie jestem pewien, w jaki sposób pomogłyby efekty losowe - ponieważ wynik binarny win_homejest stały na poziomie grupowania (tj. Dla wszystkich przedziałów czasowych dla dowolnego dopasowania, jest to 0 lub 1), w tym np. Losowy punkt przecięcia dla dopasowań po prostu doprowadzić do ogromnych problemów z separacji w tym kontekście.
Fabians
Warto również zastanowić się nad tym parametrem dla sumy zdobytych bramek, jak przewody wydają się być oddawane łatwiej w dużych grach punktacji.
James
6

Chciałbym zacząć symulację danych z modelu zabawki. Coś jak:

n.games <- 1000
n.slices <- 90

score.away <- score.home <- matrix(0, ncol=n.slices, nrow=n.games)

for (j in 2:n.slices) {
  score.home[ ,j] <- score.home[ , j-1] + (runif(n.games)>.97)
  score.away[ ,j] <- score.away[ , j-1] + (runif(n.games)>.98)
}

Teraz mamy coś do zabawy. Możesz również użyć surowych danych, ale uważam, że symulowanie danych jest bardzo pomocne w przemyśleniu sprawy.

Następny ja po prostu wykreślić dane, czyli czas fabuły gry kontra ołowiu domu, skala kolorów odpowiadających obserwowanym prawdopodobieństwa wygranej.

score.dif <- score.home-score.away

windf <- data.frame(game=1:n.games, win=score.home[ , n.slices] > score.away[, n.slices])

library(reshape)
library(ggplot2)

dnow <- melt(score.dif)
names(dnow) <- c('game', 'time', 'dif')
dnow <- merge(dnow, windf)

res <- ddply(dnow, c('time', 'dif'), function(x) c(pwin=sum(x$win)/nrow(x)))

qplot(time, dif, fill=pwin, data=res, geom='tile') + scale_color_gradient2() 

To pomoże Ci znaleźć poparcie swoich danych oraz daje surowy pomysł co prawdopodobieństwa wyglądać.

Wątek

Eduardo Leoni
źródło
1

Sprawdź statystyki frajerów na Outsiders Nożnej , a także książkę Mathletics jakiegoś natchnienia.

Football Outsiders faceci dokonać prognozy gra oparta na każdej grze w meczu piłki nożnej.

Winston w Mathletics wykorzystuje kilka technik, takich jak programowanie dynamiczne, jak również.

Możesz również rozważyć inne algorytmy, takie jak SVM.

Neil McGuigan
źródło