Aggiornamento della probabilità di classificazione nella regressione logistica nel tempo


19

Sto costruendo un modello predittivo che prevede la probabilità di successo di uno studente alla fine di un periodo. Sono particolarmente interessato a sapere se lo studente ha successo o meno, dove il successo è generalmente definito come il completamento del corso e il raggiungimento del 70% o più punti sul totale dei punti possibili.

Quando distribuisco il modello, la stima della probabilità di successo deve essere aggiornata nel tempo man mano che diventano disponibili ulteriori informazioni, idealmente immediatamente dopo che si verifica qualcosa, come quando uno studente presenta un compito o ottiene un voto su uno. Questo aggiornamento mi sembra un po 'bayesiano, ma dato il mio addestramento in statistiche educative, è un po' fuori dalla mia zona di comfort.

Finora ho usato la regressione logistica (in realtà lazo) con un set di dati storici contenente snapshot settimanali. Questo set di dati ha osservazioni correlate, poiché ogni studente ha osservazioni ; le osservazioni per uno studente sono correlate. Non sto modellando specificamente la correlazione all'interno delle osservazioni settimanali di uno studente particolare. Credo che dovrei solo considerarlo in un contesto inferenziale poiché gli errori standard sarebbero troppo piccoli. Penso - ma non sono sicuro su questo - che l'unico problema derivante dalle osservazioni correlate sia che devo fare attenzione quando eseguo la convalida incrociata per mantenere le osservazioni raggruppate in un sottoinsieme dei dati, in modo da non ottenere tassi di errore out-of-sample artificialmente bassi basati sulla previsione di una persona che il modello ha già visto.TermLength/7

Sto usando il pacchetto glmnet di R per fare un lazo con un modello logistico per generare una probabilità di successo / fallimento e per scegliere automaticamente i predittori per un determinato corso. Ho usato la variabile settimana come fattore, interagendo con tutti gli altri predittori. Non penso che questo differisca in generale dalla semplice stima dei singoli modelli basati su settimana, tranne per il fatto che dà un'idea di come potrebbe esserci qualche modello comune che si mantiene durante il periodo che viene corretto tramite vari fattori di aggiustamento del rischio in diverse settimane.

La mia domanda principale è questa: esiste un modo migliore per aggiornare le probabilità di classificazione nel tempo piuttosto che dividere il set di dati in istantanee settimanali (o altri intervalli basati su intervalli), introducendo una variabile del fattore periodo di tempo interagita con ogni altra caratteristica, e utilizzando le funzioni cumulative (punti cumulativi guadagnati, giorni cumulativi in ​​classe, ecc.)?

La mia seconda domanda è: mi sto perdendo qualcosa di critico qui sulla modellazione predittiva con osservazioni correlate?

La mia terza domanda è: come posso generalizzare questo ad un aggiornamento in tempo reale, dato che sto facendo istantanee settimanali? Sto programmando di collegare solo variabili per l'attuale intervallo settimanale, ma questo mi sembra complicato.

Cordiali saluti, sono addestrato in statistiche educative applicate ma ho un background in statistiche matematiche da molto tempo fa. Posso fare qualcosa di più sofisticato se ha senso, ma ho bisogno che sia spiegato in termini relativamente accessibili.

Risposte:


4

Non puoi arrivarci da qui. Devi iniziare con un modello diverso. Conserverei le istantanee settimanali e costruivo un modello stocastico attorno alle transizioni nella variabile di stato di ogni studente. Supponiamo che ci siano 10 settimane, che danno 11 punti "decisione", . Lo stato in è , dove è 1 o 0, a seconda che lo studente sia iscritto o meno e è il punteggio in quel punto (la somma dei punteggi dei test e dei compiti fino ad oggi). I valori iniziali sono . Hai due transizioni di cui preoccuparti: e la distribuzione di .t i ( Z i , S i ) Z i S it0,t1,...,tntio(Zio,Sio)ZioSio(1,0)ProB(zio=0|Sio-1)Sio

Le probabilità di abbandono non sono fisse, poiché otterrai un abbuffato di abbandoni poco prima della data finale di drop-senza penalità. Ma puoi stimarli da dati passati e puoi anche stimare la probabilità di abbandono in funzione delle prestazioni attuali (lugubre).

I punteggi sono una camminata casuale su un risultato binomiale (numero di risposte corrette su un test di elementi, diciamo). Probabilmente puoi assumere l'indipendenza condizionale - assumere un parametro "talento" latente per ogni studente e, a seconda di quel valore, ogni nuovo punteggio è indipendente dalla prestazione attuale. Potresti mettere alla prova questo presupposto rispetto ai tuoi dati storici ... gli studenti che falliscono cambiano le loro abitudini di studio e ottengono una vittoria? Ma la maggior parte degli studenti si comporta in modo fedele alla forma ... quindi un modello condizionatamente indipendente dovrebbe funzionare bene.Sn

Quindi, in sostanza, uno studente fallisce se un punteggio passa a 0 o il punteggio non supera la soglia del 70%.ZS

Diamo un'occhiata più da vicino al processoPer semplificare il modello, supponiamo che la valutazione implichi l'ottenimento di 70 o più punti da un totale di 100 punti possibili, ottenuti da 10 articoli di prova ogni settimana.S

Alla base, la probabilità di passaggio di uno studente è semplicemente la percentuale di passaggio della classe precedente.

Al momento 1, lo studente ha guadagnato punti (o abbandonato). Passa se riesce a guadagnare almeno punti su 90. Questo è un problema binomiale, che posso facilmente calcolare se conosco le probabilità di successo dello studente. Questa non sarà più la "media di classe"; Ho bisogno di adattarmi alla luce del successo dello studente finora. Vorrei usare una tabella delle esperienze passate per questo, ma potresti fare una media ponderata del tasso di successo complessivo della classe e del successo personale dello studente. La regola di Bayes dovrebbe aiutare qui.S170-S1

Come bonus, puoi calcolare un intervallo di probabilità, che dovrebbe restringersi man mano che il termine avanza. In effetti, gli studenti forti supereranno il 70% prima della fine del mandato e il loro successo sarà certo a quel punto. Per gli studenti deboli, anche il fallimento diventerà certo prima della fine.

RI: domanda 3. Dovresti andare a tempo continuo? Non lo farei, perché questo mette uno nel regno dei processi stocastici a tempo continuo e la matematica in questione è al di sopra del mio grado di retribuzione. Non solo, è improbabile che tu ottenga un risultato sostanzialmente diverso.

Il modo migliore per aggiornare il modello che ho delineato non è passare al tempo continuo, ma regolare le probabilità di transizione sulla base dell'esperienza precedente. Forse gli studenti deboli restano più indietro di quanto preveda un modello di indipendenza. Incorporare l'inomogeneità migliorerebbe il modello più che passare dal tempo discreto a quello continuo.


0

Quando eseguo il training di modelli predittivi per un tipo simile di distribuzione, mi assicuro che i miei set di dati abbiano una sorta di Term_End_Date in modo da poter dedicare il tempo rimanente fino alla scadenza del termine. Questo probabilmente finirà per essere un predittore significativo nel tuo modello.

Per quanto riguarda la questione delle osservazioni correlate, suppongo che sia importante quanto sia grande un repository di dati che hai. Se possibile, selezionerei casualmente 1 osservazione per ogni studente, stratificata su [# di settimane fino alla scadenza del termine]. Vorrei anche prendere da vecchi termini, se possibile. Se non hai abbastanza dati per farlo, forse puoi provare un metodo di ricampionamento come bootstrap.

Penso che la cosa più importante se si dispone di un piccolo set di dati è mantenere sufficienti dati come riserva per assicurarsi che il modello finale sia stabile.

Penso che quando avrai finito e avrai una formula di punteggio, sarà abbastanza facile da implementare. Sì, dovresti comunque collegare le variabili x settimanali necessarie per calcolare il punteggio, ma questo suona più come un problema di raccolta dei dati e meno sull'implementazione del modello.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.