EDYCJA: Od czasu opublikowania tego posta śledzę tutaj dodatkowy post .
Podsumowanie poniższego tekstu: Pracuję nad modelem i próbowałem regresji liniowej, transformacji Boxa Coxa i GAM, ale nie zrobiłem dużego postępu
Korzystając z tej opcji R
, pracuję obecnie nad modelem do przewidywania sukcesu mniejszych graczy baseballowych na poziomie ligi głównej (MLB). Zmienna zależna, ofensywna kariera wygrywa nad wymianą (oWAR), jest wskaźnikiem sukcesu na poziomie MLB i jest mierzona jako suma ofensywnych wkładów w każdą grę, w którą gracz jest zaangażowany w trakcie swojej kariery (szczegóły tutaj - http : //www.fangraphs.com/library/misc/war/). Zmienne niezależne to zmienne ofensywne drugorzędnych lig z punktacją Z dla statystyk, które są uważane za ważne predyktory sukcesu na głównym poziomie ligi, w tym wiek (gracze z większym sukcesem w młodszym wieku są zwykle lepszymi perspektywami), wskaźnik wykonania [SOPct ], wskaźnik marszu [BBrate] i skorygowana produkcja (globalna miara ofensywnej produkcji). Dodatkowo, ponieważ istnieje wiele poziomów mniejszych lig, dołączyłem zmienne obojętne dla poziomu gry w mniejszej lidze (Double A, High A, Low A, Rookie i Short Season z Triple A [najwyższy poziom przed głównymi ligami] jako zmienna referencyjna]). Uwaga: Przeskalowałem WAR, aby była zmienną od 0 do 1.
Zmienny wykres rozrzutu wygląda następująco:
Dla porównania zmienna zależna oWAR ma następujący wykres:
Zacząłem od regresji liniowej oWAR = B1zAge + B2zSOPct + B3zBBPct + B4zAdjProd + B5DoubleA + B6HighA + B7LowA + B8Rookie + B9ShortSeason
i uzyskałem następujące wykresy diagnostyczne:
Istnieją wyraźne problemy z brakiem bezstronności reszt i brakiem losowej zmienności. Ponadto reszty nie są normalne. Wyniki regresji pokazano poniżej:
Postępując zgodnie z radą z poprzedniego wątku , bezskutecznie próbowałem transformacji Box-Coxa. Następnie spróbowałem GAM z linkiem do dziennika i otrzymałem te wykresy:
Oryginalny
Nowy wykres diagnostyczny
Wygląda na to, że splajny pomogły dopasować dane, ale wykresy diagnostyczne nadal wykazują słabe dopasowanie. EDYCJA: Myślałem, że początkowo patrzyłem na wartości resztkowe w stosunku do dopasowanych, ale byłem niepoprawny. Wykres, który został pierwotnie pokazany, jest oznaczony jako Oryginalny (powyżej), a wykres, który przesłałem później, jest oznaczony jako Nowy Wykres Diagnostyczny (również powyżej)
The modelu wzrosła
ale wyniki uzyskane przez polecenie gam.check(myregression, k.rep = 1000)
nie są tak obiecujące.
Czy ktoś może zasugerować kolejny krok dla tego modelu? Z przyjemnością udzielę wszelkich innych informacji, które Twoim zdaniem mogą być przydatne do zrozumienia dotychczasowych postępów. Dzięki za wszelką pomoc, którą możesz udzielić.
Odpowiedzi:
Bardzo dobra robota. Myślę, że ta sytuacja jest kandydatem do semiparametrycznego modelu logistycznego proporcjonalnych szans.Y mieć tylko 100-200 poziomów. Wkrótce Y być w pełni ciągłym [aktualizacja: pojawiła się w 2014 roku]. Model proporcjonalnych kursówβ są niezmienne w jaki sposób Y przekształca się. Oznacza to, że kwantyle również są niezmienne. Kiedy chcesz przewidywanego środka,Y zakłada się, że znajduje się we właściwej skali przedziałów.
lrm
Funkcji w Rrms
opakowania będzie pasować modelu. Na razie możesz zaokrąglićrms
zostanie wydana nowa wersja programu z nową funkcją,orm
która skutecznie pozwala na tysiące przechwyceń w modelu, tj. Pozwalaźródło
require(Hmisc); cut2(y, g=100, levels.mean=TRUE)
rms
wkrótce pojawi się nowa wersja , czy masz pojęcie, kiedy to może być?Myślę, że ponowne przetworzenie zmiennej zależnej i modelu może być tutaj owocne. Patrząc na twoje resztki z
lm()
, wydaje się, że głównym problemem są gracze z WOJĄ o wysokiej karierze (którą zdefiniowałeś jako sumę całej WOJNY). Zauważ, że twoja najwyższa przewidywana (skalowana) WOJNA to 0,15 na maksymalnie 1! Sądzę, że dwie zmienne zależne zaostrzają ten problem:Jednak w kontekście przewidywania, w tym czas odgrywany jawnie jako kontrola (w jakikolwiek sposób, czy to jako waga, czy jako mianownik w obliczaniu średniej WO kariery), przynosi efekt przeciwny do zamierzonego (również podejrzewam, że jego wpływ byłby również nieliniowy). Dlatego sugeruję czas modelowania nieco mniej jawnie w modelu mieszanym przy użyciu
lme4
lubnlme
.Zmienna zależna byłaby sezonową WOJNĄ i miałbyś inną liczbęj=mi pór roku na gracza i . Model miałby gracza jako efekt losowy i byłby zgodny z następującymi zasadami:
Z
lme4
wyglądałoby to mniej więcej taklmer(sWAR ~ <other stuff> + (1|Player), data=mydata)
Nadal może być konieczne włączenie sięsWAR , ale myślę, że pomoże to w sprzężeniu zwrotnym.
źródło