Aktualisierung der Klassifizierungswahrscheinlichkeit in der logistischen Regression über die Zeit

19

Ich baue ein Vorhersagemodell auf, das die Erfolgswahrscheinlichkeit eines Schülers am Ende eines Semesters vorhersagt. Ich bin speziell daran interessiert, ob der Student erfolgreich ist oder nicht, wobei Erfolg in der Regel als Abschluss des Kurses und Erreichen von 70% oder mehr der insgesamt möglichen Punkte definiert wird.

Wenn ich das Modell einsetze, muss die Schätzung der Erfolgswahrscheinlichkeit im Laufe der Zeit aktualisiert werden, sobald weitere Informationen verfügbar sind - idealerweise unmittelbar nach dem Eintreten eines Ereignisses, wenn ein Schüler eine Aufgabe einreicht oder eine Note für eine Aufgabe erhält. Diese Aktualisierung klingt für mich nach Bayes, aber angesichts meiner Ausbildung in Bildungsstatistik liegt sie etwas außerhalb meiner Komfortzone.

Bisher habe ich die logistische Regression (eigentlich Lasso) mit einem historischen Datensatz verwendet, der wochenbasierte Schnappschüsse enthält. Dieser Datensatz hat Beobachtungen korreliert, da jeder Schüler Beobachtungen mit ; Beobachtungen für einen Schüler sind korreliert. Ich modelliere nicht speziell die Korrelation innerhalb der wöchentlichen Beobachtungen eines bestimmten Schülers. Ich glaube, das müsste ich nur in einer inferentiellen Umgebung berücksichtigen, da Standardfehler zu klein wären. Ich denke, aber ich bin mir nicht sicher, dass das einzige Problem, das sich aus den korrelierten Beobachtungen ergibt, darin besteht, dass ich vorsichtig sein muss, wenn ich eine Kreuzvalidierung durchführe, um gruppierte Beobachtungen in einer Teilmenge der Daten zu behalten, damit ich sie nicht bekomme Künstlich niedrige Fehlerraten außerhalb der Stichprobe basierend auf Vorhersagen über eine Person, die das Modell bereits gesehen hat.TermLength/7

Ich verwende das glmnet-Paket von R , um ein Lasso mit einem logistischen Modell zu erstellen , um eine Wahrscheinlichkeit für Erfolg / Misserfolg zu generieren und automatisch Prädiktoren für einen bestimmten Kurs auszuwählen. Ich habe die Variable week als Faktor verwendet und mit allen anderen Prädiktoren interagiert. Ich denke nicht, dass dies im Allgemeinen von der Schätzung einzelner wochenbasierter Modelle abweicht, außer dass es eine Vorstellung davon gibt, wie es ein gemeinsames Modell geben kann, das während der Laufzeit gültig ist und über verschiedene Risikoanpassungsfaktoren zu verschiedenen Wochen angepasst wird.

Meine Hauptfrage lautet: Gibt es eine bessere Möglichkeit, die Klassifizierungswahrscheinlichkeiten im Zeitverlauf zu aktualisieren, als nur den Datensatz in wöchentliche (oder andere intervallbasierte) Schnappschüsse aufzuteilen, indem eine mit jedem anderen Feature interagierende Variable für den Zeitraumfaktor eingeführt wird, und Verwenden von kumulativen Funktionen (kumulierte Punkte, kumulierte Unterrichtstage usw.)?

Meine zweite Frage lautet: Fehlt mir hier etwas Kritisches zur prädiktiven Modellierung mit korrelierten Beobachtungen?

Meine dritte Frage lautet: Wie kann ich dies auf eine Echtzeitaktualisierung verallgemeinern, wenn ich wöchentliche Schnappschüsse mache? Ich plane, nur Variablen für das aktuelle wöchentliche Intervall einzufügen, aber das scheint mir kludgey.

Zu Ihrer Information, ich bin in angewandten pädagogischen Statistiken ausgebildet, habe aber einen Hintergrund in mathematischen Statistiken von vor langer Zeit. Ich kann etwas raffinierteres tun, wenn es Sinn macht, aber ich muss es in relativ zugänglichen Begriffen erklären.

Anne Z.
quelle

Antworten:

4

Sie können von hier nicht dorthin gelangen. Sie müssen mit einem anderen Modell beginnen. Ich würde die wöchentlichen Schnappschüsse aufbewahren und ein stochastisches Modell um die Übergänge in der Zustandsvariablen jedes Schülers erstellen. Angenommen, es gibt 10 Wochen, die 11 Entscheidungspunkte ergeben, . Der Zustand bei ist , wobei 1 oder 0 ist, je nachdem, der Student eingeschrieben ist oder nicht ; und ist die Punktzahl zu diesem Zeitpunkt (die Summe der bisherigen Test- und Hausaufgabenergebnisse). Die Anfangswerte sind . Sie müssen sich über zwei Übergänge Gedanken machen: und die Verteilung von .t i ( Z i , S i ) Z i S i ( 1 , 0 ) P r o b ( z i = 0 | s i - 1 ) S it0,t1,,tnti(Zi,Si)ZiSi(1,0)Prob(zi=0|si1)Si

Die Dropout-Wahrscheinlichkeiten sind nicht stationär, da Sie kurz vor dem endgültigen Drop-without-Penalty-Datum eine Reihe von Dropouts erhalten. Sie können diese jedoch anhand vergangener Daten abschätzen. Sie können auch die Wahrscheinlichkeit eines Abbruchs in Abhängigkeit von der aktuellen (düsteren) Leistung abschätzen.

Die Werte sind zufällige Berechnungen eines Binomialergebnisses (Anzahl der korrekten Antworten auf einen Test mit beispielsweise Elementen). Sie können wahrscheinlich eine bedingte Unabhängigkeit annehmen - nehmen Sie einen latenten "Talent" -Parameter für jeden Schüler an, und abhängig von diesem Wert ist jede neue Punktzahl unabhängig von der aktuellen Leistung. Sie könnten diese Annahme anhand Ihrer historischen Daten testen ... Ändern scheiternde Studenten ihre Lerngewohnheiten und erzielen einen Gewinn? Aber die meisten Schüler verhalten sich formtreu. Ein bedingt unabhängiges Modell sollte also in Ordnung sein.nSn

Grundsätzlich scheitert ein Schüler, wenn eine Punktzahl auf 0 übergeht oder die Punktzahl die 70% -Pass-Schwelle nicht überschreitet.SZS

Schauen wir uns den Prozess genauer an . Zur Vereinfachung des Modells wird davon ausgegangen, dass bei der Bewertung 70 Punkte oder mehr von insgesamt 100 möglichen Punkten erhalten werden, die aus 10 Testobjekten pro Woche stammen.S

Zu Studienbeginn ist die Bestehenswahrscheinlichkeit eines Schülers einfach die Bestehensquote der vorherigen Klasse.

Zum Zeitpunkt 1 hat der Schüler Punkte verdient (oder ist ausgestiegen). Er besteht, wenn er mindestens von 90 Punkten verdient . Dies ist ein Binomialproblem, das ich leicht berechnen kann, wenn ich die Erfolgswahrscheinlichkeit des Schülers kenne. Dies wird nicht länger der "Klassendurchschnitt" sein; Ich muss mich an den bisherigen Erfolg des Schülers anpassen. Ich würde dafür eine Tabelle aus der Vergangenheit verwenden, aber Sie könnten einen gewichteten Durchschnitt aus der Erfolgsquote der gesamten Klasse und dem persönlichen Erfolg des Schülers erstellen. Die Bayes-Regel sollte hier helfen. 70 - S 1S170S1

Als Bonus können Sie eine Reihe von Wahrscheinlichkeiten berechnen, die sich mit fortschreitender Laufzeit verringern sollten. Tatsächlich werden starke Studenten vor Ende des Semesters die 70% -Marke überschreiten, und ihr Erfolg wird zu diesem Zeitpunkt sicher sein. Bei schwachen Schülern wird das Scheitern auch vor dem Ende festgestellt.

RE: Frage 3. Solltest du in die kontinuierliche Zeit gehen? Das würde ich nicht tun, da dies zu stochastischen Prozessen mit kontinuierlicher Zeit führt und die Mathematik über meiner Gehaltsstufe liegt. Darüber hinaus ist es unwahrscheinlich, dass Sie ein wesentlich anderes Ergebnis erzielen.

Der beste Weg, um das von mir beschriebene Modell zu aktualisieren, besteht nicht darin, auf kontinuierliche Zeit umzusteigen, sondern die Übergangswahrscheinlichkeiten auf der Grundlage früherer Erfahrungen anzupassen. Vielleicht fallen schwache Schüler weiter zurück, als ein Unabhängigkeitsmodell vorhersagen würde. Das Einbeziehen von Inhomegenität würde das Modell mehr verbessern, als von diskreter zu kontinuierlicher Zeit überzugehen.

Placidia
quelle
0

Wenn ich Vorhersagemodelle für eine ähnliche Art der Bereitstellung trainiere, stelle ich sicher, dass meine Datasets ein Term_End_Date aufweisen, damit ich die verbleibende Zeit bis zum Ende der Laufzeit ermitteln kann. Dies wird wahrscheinlich ein wesentlicher Prädiktor in Ihrem Modell sein.

In Bezug auf die Frage der korrelierten Beobachtungen ist es wahrscheinlich wichtig, wie groß Ihr Datenbestand ist. Wenn möglich, würde ich zufällig 1 Beobachtung für jeden Studenten auswählen, geschichtet nach [Anzahl der Wochen bis zum Semesterende]. Ich würde auch von älteren Begriffen greifen, wenn möglich. Wenn Sie nicht über genügend Daten verfügen, können Sie eine Neuabtastungsmethode wie Bootstrap ausprobieren.

Ich denke, das Wichtigste, wenn Sie über einen kleinen Datensatz verfügen, ist, dass Sie genügend Daten als Speicher behalten, um sicherzustellen, dass Ihr endgültiges Modell stabil ist.

Ich denke, wenn Sie fertig sind und eine Bewertungsformel haben, ist die Implementierung ziemlich einfach. Aber ja, Sie sollten immer noch die wöchentlichen x-Variablen eingeben, die Sie zur Berechnung des Scores benötigen. Dies klingt jedoch eher nach einem Problem bei der Datenerfassung und weniger nach der Modellimplementierung.

Josh
quelle