In un precedente post ho utilizzato la piattaforma Generalised Regression (Genreg) in JMP Pro a analizzare i dati che ho raccolto mentre giocavo a un gioco da tavolo con mia figlia . Poiché nel mio modello (Player) c'era solo un singolo effetto, non ero in grado di mostrare i metodi di selezione delle variabili disponibili in Genreg.
Avere accesso a metodi di selezione variabili come la selezione lazo o avanti è particolarmente importante quando la risposta è non numerica (come rosso / blu / verde o piccolo / medio / grande) poiché i modelli di regressione logistica ordinale e nominale possono essere facilmente sovraffollati. Qui, vedremo un esempio in cui consideriamo molti più effetti per modellare la risposta.
I dati
Useremo il file Diabetes.jmp, che è disponibile nel JMP cartella di dati di esempio. Il set di dati misura la progressione del diabete nel corso di un anno, con attributi come età, sesso e livelli di colesterolo per ogni individuo nel campione di 442 pazienti. Vogliamo utilizzare questi attributi per modellare "Y Ordinal", che identifica la gravità del diabete di ciascun paziente: basso, medio o alto. Come suggerisce il nome della colonna di risposta, lo modelleremo utilizzando un modello di regressione logistica ordinale, che è nuovo in Genreg per la versione 14. È ragionevole sospettare che ci siano interazioni tra le nostre variabili esplicative, quindi includeremo nel nostro modello gli effetti principali e le interazioni a due fattori. La specifica di questo modello nella finestra di dialogo Fit Model è semplice utilizzando la macro "Factorial to Degree".
Launching an ordinal logistic model for the Diabetes dataLaunching an ordinal logistic model for the Diabetes dataLaunching an ordinal logistic model for the Diabetes data Avvio di un modello logistico ordinale per i dati del diabete
Dopo aver specificato il nostro modello e premuto il pulsante Esegui, entriamo nella piattaforma di regressione generalizzata. Genreg esegue automaticamente una misura di massima verosimiglianza (modello completo, nessuna selezione di variabili) per noi sui dati di allenamento. Ma sono preoccupato per il sovrasfruttamento, quindi non voglio il MLE. Voglio invece fare il Lazo, poiché ci fornirà un modello più parsimonioso che dovrebbe adattarsi meglio ai nuovi dati.
Doing a Lasso fit in GenregDoing a Lasso fit in GenregDoing a Lasso fit in Genreg Fare un lazo in forma in Genreg
Lasso output for the Diabetes dataLasso output for the Diabetes dataLasso output for the Diabetes dataUscita lazo per i dati del diabete
Come possiamo vedere nell'output, il lazo produce un modello che utilizza solo 15 parametri rispetto ai 57 candidati originali. Quindi abbiamo un modello che è molto più facile da interpretare / spiegare rispetto al MLE. Quanto meglio il modello a laccio esegue su nuove osservazioni rispetto al modello a 57 termini? È più facile da vedere utilizzando la piattaforma di confronto del modello. Possiamo vedere che il modello completo si adatta molto bene ai dati di addestramento e terribilmente sui dati di convalida (la convalida R ^ 2 è negativa, sempre un cattivo segno). Questo è un caso classico di overfitting . Nel frattempo, il modello del lazo presenta percentuali R3 e di errata classificazione molto migliori rispetto ai dati di convalida. Quindi il modello del lazo è il chiaro preferito qui.
Lasso vs MLE using the Model Comparison platformLasso vs MLE using the Model Comparison platformLasso vs MLE using the Model Comparison platformLasso vs MLE utilizzando la piattaforma di confronto modelli
Il caso multinomiale
Come in il mio post precedente , la nostra risposta ha un ordinamento naturale. Ma ignoriamolo per ora in modo che possiamo fare la selezione delle variabili su un problema multinomiale. La selezione variabile è particolarmente importante in questo caso, perché il modello multinomiale è così facile da sovraparametrizzare o sovralimentare.
Perché questo modello è così facile da indossare? Se abbiamo predittori di p e la nostra risposta richiede k livelli, il modello che stiamo montando ha parametri p * (k-1). Nel caso dei nostri dati sul diabete, disponiamo di 56 predittori e tre livelli della nostra risposta, in modo tale da considerare 56 * (3-1) = 112 parametri da considerare. Questo può andare fuori controllo velocemente! Per ulteriori informazioni su questo modello, controllare il Aiuto JMP .
Lanciamo Genreg esattamente come prima. Passiamo semplicemente la distribuzione a Multinomial.
Launching the Multinomial in GenregLaunching the Multinomial in GenregLaunching the Multinomial in Genreg Lancio del Multinomiale in Genreg
Di nuovo useremo il laccio per la stima e la selezione delle variabili. Questa volta, il laccio restituisce un modello con solo 25 variabili, il che significa che ha eliminato quasi 90 parametri dal nostro modello. E mentre potrebbe non sembrare che il modello Lazo abbia una grande R ^ 2 generalizzata sui dati di validazione (circa 0,35), il modello completo ha un R ^ 2 generalizzato peggiore di -2 sul set di validazione!
Lasso summaryLasso summaryLasso summary Riassunto del lazo
Lasso beats the MLE even worse in the Multinomial caseLasso beats the MLE even worse in the Multinomial caseLasso beats the MLE even worse in the Multinomial caseIl Lasso batte l'MLE ancora peggio nel caso Multinomial
Prova tu stesso!
Sono entusiasta del supporto per le risposte ordinali e multinomiali in Genreg in JMP Pro 14. Questo tipo di dati è molto comune nella pratica, ma come abbiamo visto con i dati sul diabete, dobbiamo stare attenti a costruire modelli. Gli strumenti di selezione delle variabili interattive in Genreg possono aiutarti a creare modelli che si adattino meglio e siano più facili da interpretare. Fatemi sapere cosa ne pensate.