Buduję model predykcyjny, który przewiduje prawdopodobieństwo sukcesu studenta na koniec semestru. Szczególnie interesuje mnie to, czy student odniesie sukces, czy nie, gdzie sukces jest zwykle definiowany jako ukończenie kursu i osiągnięcie 70% lub więcej punktów spośród wszystkich możliwych punktów.
Kiedy wdrażam model, oszacowanie prawdopodobieństwa sukcesu musi być aktualizowane z upływem czasu, gdy dostępnych jest więcej informacji - idealnie natychmiast po tym, jak coś się wydarzy, na przykład gdy uczeń składa zadanie lub otrzymuje ocenę z jednego. Ta aktualizacja brzmi dla mnie jak Bayesian, ale biorąc pod uwagę mój trening statystyki edukacyjnej, jest to trochę poza moją strefą komfortu.
Do tej pory korzystałem z regresji logistycznej (właściwie lasso) z zestawem danych historycznych zawierających migawki tygodniowe. Ten zestaw danych ma skorelowane obserwacje, ponieważ każdy uczeń ma obserwacje; obserwacje jednego ucznia są skorelowane. Nie modeluję konkretnie korelacji w cotygodniowych obserwacjach konkretnego studenta. Uważam, że musiałbym wziąć to pod uwagę jedynie w ramach wnioskowania, ponieważ standardowe błędy byłyby zbyt małe. Myślę - ale nie jestem tego pewien - że jedynym problemem wynikającym ze skorelowanych obserwacji jest to, że muszę być ostrożny, kiedy przeprowadzam walidację krzyżową, aby zachować obserwacje skupione w jednym podzbiorze danych, aby nie uzyskać sztucznie niski poziom błędów poza próbą na podstawie prognoz dotyczących osoby, którą model już widział.
Korzystam z pakietu glmnet R, aby wykonać lasso z modelem logistycznym, aby wygenerować prawdopodobieństwo sukcesu / porażki i automatycznie wybrać predyktory dla określonego kursu. Używałem zmiennej tygodnia jako czynnika, współdziałałem ze wszystkimi innymi predyktorami. Nie sądzę, że różni się to od samego oszacowania poszczególnych modeli tygodniowych, z tym wyjątkiem, że daje pewne pojęcie o tym, jak może istnieć jakiś wspólny model, który utrzymuje się przez cały okres, który jest korygowany za pomocą różnych czynników korekty ryzyka w różnych tygodniach.
Moje główne pytanie brzmi: czy istnieje lepszy sposób aktualizowania prawdopodobieństw klasyfikacji w czasie, niż tylko podział zbioru danych na cotygodniowe (lub inne oparte na interwałach) migawki, wprowadzenie zmiennej czynnikowej przedziału czasowego współdziałającej z każdą inną funkcją, oraz wykorzystując skumulowane cechy (skumulowane zdobyte punkty, skumulowane dni w klasie itp.)?
Moje drugie pytanie brzmi: czy brakuje mi czegoś krytycznego w modelowaniu predykcyjnym z korelowanymi obserwacjami?
Moje trzecie pytanie brzmi: jak mogę uogólnić to na aktualizację w czasie rzeczywistym, biorąc pod uwagę, że robię cotygodniowe migawki? Planuję po prostu podłączać zmienne dla bieżącego tygodniowego interwału, ale wydaje mi się to kludgey.
Do twojej wiadomości, jestem przeszkolony w stosowaniu statystyk edukacyjnych, ale mam doświadczenie w statystykach matematycznych dawno temu. Mogę zrobić coś bardziej zaawansowanego, jeśli ma to sens, ale muszę to wyjaśnić w stosunkowo przystępnych terminach.
źródło