Di recente un utente JMP mi ha chiamato con la seguente domanda: “Quando cerco di adattare un modello di regressione logistica nominale ricevo un messaggio di avviso JMP che mi dice che una 'Risposta deve avere almeno due livelli'. E la piattaforma non funzionerà. Tuttavia, quando seleziono un modello con un sottoinsieme delle mie variabili predittive, il modello viene eseguito. Cosa sta succedendo? È tutto perduto?"
È tutto perduto? Forse no.
Figure 1. A JMP Alert message.Figure 1. A JMP Alert message.Figure 1. A JMP Alert message.Figure 1. A JMP Alert message.Figura 1. Un messaggio di avviso JMP.
Il motivo del messaggio di avviso JMP sopra riportato è la mancanza di troppi dati nel set di dati. La caratteristica operativa predefinita di JMP consiste nell'escludere dall'analisi le righe che contengono dati mancanti. La piattaforma non funzionerà se l'entità della mancanza è abbastanza grave. A volte anche i dati mancanti contengono informazioni che possiamo utilizzare per risolvere problemi pratici. Come possiamo esplorare questa possibilità se JMP, per impostazione predefinita, esclude le righe di dati con dati mancanti? La risposta: utilizzare il rilevamento dei dati mancanti, l'imputazione e le capacità informative di modellazione mancante di JMP.
Le migliori pratiche di modellazione statistica suggeriscono che dovremmo dedicare un po' di tempo ed energie a valutare la qualità di un set di dati con un occhio di riguardo a questioni come valori anomali, valori senza senso, valori mancanti e qualsiasi altra caratteristica che rende problematica l'analisi. Questo articolo fornisce un esempio di come utilizzare le capacità di JMP relative alla "mancanza" dei dati per prendere comunque decisioni valide e intraprendere le azioni appropriate.
Ogni problema di modellazione dovrebbe iniziare con un problema aziendale che vale il nostro tempo da risolvere. Lavorerò su un problema ipotetico ma illustrativo. Un comitato organizzatore di un torneo di pesca sportiva vuole comprendere i fattori chiave della soddisfazione dei partecipanti rispetto al torneo per cercare di guidare la partecipazione ripetuta. Chiedono informazioni, dati e feedback ai partecipanti dell'anno passato sulla probabilità che parteciperanno allo stesso torneo l'anno prossimo. Il comitato raccoglie informazioni dai partecipanti tramite un sondaggio. Tuttavia, una caratteristica delle persone che vanno a pescare è... beh... potrebbero non essere sempre le più sincere o disponibili. Quante persone darebbero via i loro luoghi di pesca preferiti, più produttivi, per l'atterraggio del BIG ONE, a un perfetto sconosciuto? O il tipo di esca che hanno usato?
Il comitato chiede ai partecipanti se è probabile che ritornino l'anno prossimo, l'età del partecipante e il tipo di esca (artificiale o viva). Età e tipo di esca sono le variabili predittive utilizzate nella modellazione. Il set di dati completo è mostrato di seguito:
Figure 2: The Original DataFigure 2: The Original DataFigure 2: The Original DataFigure 2: The Original DataFigura 2: i dati originali
Notare che ci sono diversi valori mancanti sia nell'età del partecipante che nel tipo di esca? colonne. Poiché JMP esclude le righe contenenti dati mancanti, se si tenta di modellare i dati "così come sono", si ottiene il messaggio di avviso JMP mostrato nella figura 1. In effetti ci sono solo due righe senza valori mancanti (evidenziati nella figura 2.)! Non c'è da stupirsi che JMP ci stia avvisando!
Come dobbiamo procedere? Trova gli intervistati e chiedi "di nuovo"? Fabbricare dati? Abbandonare?
Bene, torniamo indietro di un minuto. Con una rapida ispezione visiva della tabella dei dati mostrata nella figura 2, è facile individuare i dati mancanti. E se avessimo un set di dati molto più grande? Milioni di righe? Centinaia di colonne? L'ispezione visiva per "mancanza" è una soluzione insostenibile. Le piattaforme Missing Data Pattern ed Explore Missing Values di JMP vengono in soccorso. Quando troviamo righe di valori mancanti... cosa facciamo per il fatto che mancano? Da qui vengono in nostro aiuto le funzionalità Esplora i valori mancanti e Informativa mancante in JMP.
Usiamo la piattaforma Missing Data Pattern per trovare i valori mancanti. La piattaforma produce la tabella Missing Data Pattern mostrata in figura 3 (in basso a destra). La colonna Patterns è la chiave. I valori diversi da zero indicano un modello di mancanza all'interno della tabella di dati originale. Nella voce della riga della colonna Modelli, ogni cifra del modello è un indicatore binario di una colonna nella tabella di dati originale. Un modello di tutti zeri (prima riga) non indica valori mancanti. La voce della colonna Conteggio indica che sono presenti 2 righe senza valori mancanti. La seconda riga indica un modello di mancanza in cui le righe hanno valori mancanti esclusivamente dal tipo di esca? colonna. La terza riga, valori mancanti nella colonna Età del partecipante. Utilizzando la caratteristica di collegamento dinamico della firma di JMP, selezionando le righe 2 e 3 nella tabella dati Modello dati mancanti, verranno selezionate le righe corrispondenti nei dati originali.
Figure 3. Missing Data Pattern Data Table and Original DataFigure 3. Missing Data Pattern Data Table and Original DataFigure 3. Missing Data Pattern Data Table and Original DataFigure 3. Missing Data Pattern Data Table and Original DataFigura 3. Tabella dati modello dati mancanti e dati originali
Ora che abbiamo trovato i valori mancanti, come possiamo rispondere alla domanda fondamentale... Quali fattori influenzano la probabilità di ritorno dei partecipanti? Da qui passiamo all'utilizzo della piattaforma Esplora i valori mancanti di JMP per imputare i valori per la colonna Età del partecipante. Non sono dati di fabbricazione? Non è disonesto? Beh... non esattamente... soprattutto se riveliamo che stiamo creando valori surrogati nell'interesse di non dover buttare fuori il bambino con l'acqua del bagnetto dal punto di vista della modellazione. Risulta... con un po' di magia di modellazione... se scegliamo saggiamente i nostri valori surrogati, le stime dei parametri per gli effetti saranno comunque significative. All'interno della piattaforma Esplora i valori mancanti sono presenti due algoritmi di imputazione. Per questo esempio ho scelto l'opzione di imputazione normale multivariata mostrata nella figura 4 di seguito. Nota che i valori surrogati uguali alla media dell'età del partecipante sono ora popolati nelle righe con valori mancanti nella tabella dei dati originale.
Figure 4. Multivariate Normal ImputationFigure 4. Multivariate Normal ImputationFigure 4. Multivariate Normal ImputationFigure 4. Multivariate Normal ImputationFigura 4. Imputazione normale multivariata
Ora come gestiamo i valori mancanti nel tipo di esca? colonna. Un modo per gestire i valori mancanti per una variabile predittiva categoriale consiste nell'invocare la funzionalità Informative Missing di JMP. Il principio alla base dell'utilizzo di un costrutto mancante informativo è che siamo disposti a presumere che ci sia qualche tema, comunanza o variabile in agguato che sta dietro al fatto che il valore manca. Come forse la riluttanza di un concorrente di un torneo a rivelare il tipo di esca che ha usato per qualche motivo sconosciuto?
Dalla finestra delle specifiche del modello di adattamento invochiamo l'informazione mancante selezionando l'informazione mancante dal menu a discesa del triangolo rosso delle specifiche del modello mostrato nella figura 5. di seguito.
Figure 5. Model Specification and Informative MissingFigure 5. Model Specification and Informative MissingFigure 5. Model Specification and Informative MissingFigure 5. Model Specification and Informative Missing Figura 5. Specifiche del modello e informazioni mancanti
Selezionando Informativa mancante, JMP assegnerà un nuovo livello per Tipo esca? predittore categoriale di "Mancante" e procedere con il processo di adattamento del modello utilizzando tutti i valori in tutte le colonne delle variabili del predittore. La figura 6 di seguito mostra la parte Riepilogo effetti del report del modello di regressione logistica nominale. Nota che tipo di esca? sembra davvero influenzare la risposta.
Figure 6. Effect Summary TableFigure 6. Effect Summary TableFigure 6. Effect Summary TableFigure 6. Effect Summary Table Figura 6. Tabella riassuntiva degli effetti
Un ulteriore esame del JMP Prediction Profiler come mostrato nella Figura 7. indica che il livello di valore mancante di Bait Type? sta davvero guidando la risposta Sì!
Figure 7. Prediction ProfilerFigure 7. Prediction ProfilerFigure 7. Prediction ProfilerFigure 7. Prediction ProfilerFigura 7. Profiler di previsione
Ora è qui che entra in gioco l'esperienza nel settore. È logico che un concorrente di un torneo che sperimenta MOLTO successo nella cattura del pesce potrebbe essere certamente propenso a NON rivelare il tipo di esca che ha usato. Segreti commerciali? Ma sarebbero sicuramente inclini a tornare a un torneo in cui hanno avuto successo.
Dopo l'analisi, un'analisi più approfondita dei record del torneo ha rivelato dati aggiuntivi che sono certamente in concomitanza con la nozione di partecipanti segreti. Il grafico di regressione logistica Fit Y per X di seguito nella figura 8. della probabilità di tornare l'anno prossimo? è una funzione del peso totale del pesce catturato... e i partecipanti che li hanno catturati non ci dicono molto dei loro segreti.
Figure 8. Logistic Regression PlotFigure 8. Logistic Regression PlotFigure 8. Logistic Regression PlotFigure 8. Logistic Regression PlotFigura 8. Grafico di regressione logistica
Quindi la prossima volta che hai dei valori mancanti in un set di dati, ricorda che usando JMP puoi forse imparare qualcosa sul sistema ANCHE quando i dati sono effettivamente mancanti! Non tutto è davvero perduto.