Come selezionare variabili indipendenti tramite PCA?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao a tutti,
per sviluppare un modello di previsione ho la necessità di filtrare accuratamente le variabili da utilizzare. In particolare, voglio utilizzare variabili che non sono correlate. Un modo efficace per farlo è applicare PCA e selezionare le variabili che forniscono un autovalore > 1,0. Se applico questo esempio all'esempio JMP ( Rapporto sui componenti principali ), quindi selezionerei solo 1 variabile. Nei miei dati, il numero di variabili con un autovalore > 1,0 sono 9. Pertanto, so senza dubbio quante variabili voglio. Quello che non mi è chiaro è come farlo identificare quelle variabili nel report JMP. Se, ancora, utilizzo l'esempio JMP ( Rapporto sui componenti principali ), come faccio a identificare la variabile (tra le sei) che fornisce un Egeinvalue di 4,7850?
Grazie,
Davide
Re: Come selezionare variabili indipendenti tramite PCA?Si hai ragione.
Pensavo di poter selezionare un insieme di attributi tra quelli originali mentre con PCA posso crearne di nuovi (usando quelli originali).
L'argomento è chiuso. Grazie mille per il supporto!
Davide
Re: Come selezionare variabili indipendenti tramite PCA?Davide,
Stai cercando gli autovettori?Sono disponibili in JMP (sotto il triangolo rosso).Ricorda che PCA è una tecnica di "riduzione delle dimensioni" in cui ogni PC è una combinazione di tutte le variabili.
Peter fa buoni punti sull'utilizzo di metodi alternativi per la selezione delle variabili.
Karen
Re: Come selezionare variabili indipendenti tramite PCA?Probabilmente stai perdendo una discreta quantità di informazioni da questo metodo, ma questo dovrebbe essere in grado di estrarre i 3 materiali con la "minima correlazione" l'uno con l'altro.Non saranno di sicuro ortogonali.Probabilmente c'è un modo migliore per inquadrare questo (qualcosa come quello che sta dicendo Peter) per ottenere le risposte che desideri.
*Attenzione, questo è puramente inventato e non so come sia il suono.Ha senso nella mia testa che faccia quello che penso tu stia chiedendo però"
dt = Aprire ( "$DATI_campione\Solubilità.jmp" );
//eseguo multivariazioni tra tutte le sostanze chimiche
mv = Multivariato (
Y(
: Nome ( "1-ottanolo" ),
:Etere,
:Cloroformio,
:Benzene,
:Tetracloruro di carbonio,
:Esano
),
Metodo di stima( "Saggio di riga" ),
Formato matrice( "Piazza" ),
Matrice del grafico a dispersione (
Ellissi di densità( 1 ),
Ellissi ombreggiati( 0 ),
Colore ellisse( 3 )
)
);
mv_r = mv << rapporto ;
//crea le correlazioni in una tabella di dati
dt_corr = mv_r[ Matrix Box ( 1 )]<< Trasforma in tabella dati ();
//riassumo le correlazioni per tutti
dt_corr << Nuova colonna ( "Correlazione totale" , Formula(
Somma (
: Nome ( "1-ottanolo" ),
:Etere,
:Cloroformio,
:Benzene,
:Tetracloruro di carbonio,
:Esano
)
));
//i tre più bassi sono i "meno correlati" tra loro
materiali = :Riga << Ottieni valori ;
mat = :Correlazione totale << Ottieni valori ;
in alto = ordine crescente (stuoia)[ 3 ]; //seleziona il valore per il 3° più basso
cosa_vuoi_forse = materiali[ loc (tappetino<=sopra)] //afferra le 3 sostanze chimiche di correlazione totale più basse
Ritorna:
{"1-ottanolo", "Etere", "cloroformio"}
Re: Come selezionare variabili indipendenti tramite PCA?Ciao Peter,
il tuo approccio presuppone l'uso di un modello di previsione specifico. Il mio approccio consisterebbe nel filtrare le variabili da utilizzare tramite PCA e quindi utilizzare un ampio spettro di modelli di previsione. In quanto tale, il filtraggio (cioè, PCA) dovrebbe essere indipendente dal modello di previsione in uso.
Dalla tua risposta posso dire che sei un esperto qui. Poiché non sei stato in grado di rispondere alla mia domanda in modo diretto, dedurrò che JMP non è in grado di riportare l'elenco delle variabili "collegate" agli autovalori.
Grazie comunque,
Davide
Re: Come selezionare variabili indipendenti tramite PCA?Davide:
Dal momento che il tuo obiettivo è in definitiva la costruzione di un modello predittivo, piuttosto che utilizzare PCA sulle variabili indipendenti come strumento di selezione delle variabili per trovare le variabili indipendenti non correlate, presumo che ti concentrerai sull'utilizzo dei minimi quadrati ordinari, con forse un passo passo approccio introdotto, hai considerato l'utilizzo di un approccio di modellazione predittiva più diretto che sfrutti la struttura di correlazione/covarianza tra le variabili indipendenti per fornirti un modello utile?
Quello che temo è che se usi solo le variabili non correlate potresti lanciare un po 'di potere predittivo fuori dalla finestra senza saperlo davvero. I minimi quadrati parziali e, se si dispone di JMP Pro, le procedure di regressione penalizzata nella personalità Fit Model -> Generalized Regression sono fatte su misura per lo scenario di modellazione predittiva in cui la correlazione tra le variabili indipendenti è sospetta o evidente. Due delle tecniche, Lazo e Elastic Net, hanno un aspetto di selezione variabile per il loro utilizzo. Ecco un paio di collegamenti alla documentazione in linea di JMP per queste due piattaforme:
Modelli dei minimi quadrati parziali
Modelli di regressione generalizzata
Re: Come selezionare variabili indipendenti tramite PCA?Purtroppo non è quello che cerco. Supponiamo che nell'esempio io debba identificare, tra le 6 variabili, le 3 variabili meno correlate (incrociate). Quali sono? Cloroformio, benzene ed esano?
Re: Come selezionare variabili indipendenti tramite PCA?Se usi il pulsante di scelta rapida, dovresti essere in grado di "Salvare i componenti principali" nella tabella dei dati.Quindi si chiameranno semplicemente Prin1, Prin2, Prin3, ecc...
Il valore non corrisponde veramente a 1 delle sei variabili.È una formula che assomiglia a questa:

.
Non sono sicuro che questo sia esattamente quello che stavi chiedendo, ma spero che aiuti.