PCA per separare due risultatiCIAO,
Ho un esito binario per un gruppo di pazienti e un lungo elenco di variabili misurate (ovvero potenziali predittori/caratteristiche). Posso eseguire un'analisi PCA sull'intero gruppo, oppure su ciascun gruppo separatamente (ovvero, pazienti positivi e pazienti negativi separatamente). Ma quello che voglio veramente è questo: quali sono le due componenti principali che meglio distinguono i positivi dai negativi? Ho sperimentato un po' con l'analisi discriminante, ma non sono andato molto avanti, qualsiasi aiuto o suggerimento sarebbe benvenuto.
Grazie!
uriele
Modellazione statistica avanzataRe: PCA per separare due risultatiCiao,
Hai preso in considerazione la piattaforma Discriminant Analysis, o la piattaforma Response Screening se hai bisogno di filtrare / focalizzare le variabili più rilevanti per la tua classificazione.
Migliore,
TSRe: PCA per separare due risultatiCiao @utkcito ,
PCA potrebbe non essere lo strumento giusto per te. Poiché hai un risultato binario (on / off, 1/0, morto / vivo), suona più come un problema di regressione logistica, molto simile all'esempio dei sopravvissuti del Titanic nei dati di esempio in JMP. Lo scopo della PCA non è necessariamente la previsione di un risultato, ovvero la separazione dei risultati 0/1. Potresti stare meglio con un albero decisionale, una rete neurale o altri metodi basati su alberi come XGBoost. Potresti anche provare a supportare le macchine vettoriali. Molte di queste opzioni dipendono dalla versione di JMP in uso (ad es. Pro o standard).
PCA è davvero progettato per trovare un insieme di vettori linearmente indipendenti (del set di dati predittore - non gli daresti i dati di risposta) che massimizza il variabilità spiegato nei dati lungo una serie di componenti di principio ortogonali. Puoi leggerlo nell'aiuto di JMP Qui . I componenti principali non saranno necessariamente buoni predittori per separare il positivo / negativo. Questo potrebbe essere molto più adatto con la piattaforma SVM. Se non hai Pro, probabilmente vorrai provare il metodo dell'albero decisionale del partizionamento o la rete neurale.
Un'altra cosa: a seconda di quante righe hai, potresti voler generare una colonna di convalida stratificata sulla colonna dei risultati e usarla per una convalida del tuo modello. Potresti anche prendere in considerazione l'aggiunta di una colonna con fattore nullo (consulta il modulo aggiuntivo di convalida automatica per JMP) per vedere se l'insieme di possibili predittori viene effettivamente visualizzato più spesso nel modello rispetto a un fattore nullo completamente casuale e ortogonale.
Spero che sia di aiuto.
In bocca al lupo!,
DS
Re: PCA per separare due risultatiSalve TS e DS,
Non cerco predittori con il PCA. Voglio caratterizzare, descrivere. Penso che l'analisi discriminante dovrebbe farlo con il metodo lineare ampio in quanto mostra le componenti principali, ma non riesco a trovare i dettagli delle componenti principali che genera per valutare se è davvero così.
Uriel.
Re: PCA per separare due risultatiPotresti considerare PLS-DA invece di PCA. PLS garantisce che i primi componenti si riferiscano alla maggiore variazione nel tuo obiettivo, in altre parole per un singolo Y dovresti sempre vedere la migliore separazione nei grafici dei punteggi dei componenti 1 e 2. Potresti quindi guardare i carichi, i coefficienti VIP v o usa i metodi a cui sei abituato in PCA per valutare l'importanza variabile.
È possibile avviare PLS-DA utilizzando PLS Personality di Modello adatto piattaforma o creando una variabile che sia 1 o 0 a seconda della categoria e quindi includendola nella sezione "Y" del PLS piattaforma.
Re: PCA per separare due risultatiCiao @utkcito ,
Sono d'accordo con @ih , la piattaforma PLS potrebbe essere più adatta a ciò che desideri fare, o anche la piattaforma SVM.
Uno dei motivi per cui l'analisi discriminante potrebbe non funzionare è che sembra che il tuo set di dati potrebbe non adattarsi completamente al formato previsto per il DA. La DA richiede X categoriali e risposte continue Y, ed è un po 'inversa, utilizzando le Y continue per prevedere alla fine le X, cioè predice una variabile di classificazione basata su una variabile Y continua nota.
Se vuoi usare le X per caratterizzare / descrivere il risultato Y, allora PLS, il partizionamento o SVM potrebbero essere piattaforme migliori, penso. E come @ih menzionato, usando i grafici VIP, puoi usarli insieme alla soglia VIP per generare un modello semplificato in cui non utilizza ogni singola colonna X nel modello. Anche il clustering potrebbe essere un'opzione, ma potrebbe non avere tanto senso quanto il PLS quando si cerca di interpretare i risultati.
Spero che tu possa usare una di queste piattaforme per aiutare il tuo lavoro.
In bocca al lupo!,
DS
Re: PCA per separare due risultatiCiao @utkcito ,
Pur concordando pienamente con gli altri sulle possibili opzioni per l'analisi dei dati, vorrei offrirvi un'altra piattaforma JMP Pro che varrà la pena provare. La regressione generalizzata (RG) è estremamente adatta per risultati binomiali/binari. Gli algoritmi LASSO ed Elastic Net vi permetteranno di trovare la migliore combinazione complessiva di variabili nello spazio fattoriale che state lavorando, e non in uno spazio a componenti principali o a fattori latenti (PLS). Sia i modelli PCA che quelli PLS possono essere difficili da determinare senza un notevole sforzo aggiuntivo. Sono inoltre disponibili numerose opzioni di cross-validazione per evitare il sovradattamento.
Le reti neurali (NN) potrebbero esserti utili. La funzione TanH, Tangente Iperbolica, è molto adatta per risultati binomiali e ti verrà automaticamente consigliato di utilizzare la convalida incrociata per evitare il sovraadattamento. (JMP e JMP Pro)
Bootstrap Forest come metodo di partizionamento ti consentirà anche di trovare i fattori più significativi nel tuo spazio fattoriale. (JMP Pro)
Un ultimo pensiero: se hai accesso a JMP 16 EA, puoi provare la funzione Model Screening in Predictive Modeling per individuare il modello complessivo migliore per i tuoi dati.
Lo screening dei modelli sarà una delle grandi novità di JMP Pro 16
Re: PCA per separare due risultatiGrazie a tutti coloro che hanno risposto, i vostri commenti sono utili: ho effettivamente utilizzato tutte queste opzioni di recente per analizzare i dati. Ero particolarmente interessato a come si sarebbe manifestata una discriminazione ortogonale, ma se non fosse direttamente possibile, andrò avanti.
Uriele.