Ciao:
Vorrei sapere come inserire una matrice di correlazione (o matrice di covarianza) in JMP per condurre un'analisi dei fattori comuni (o analisi delle componenti principali). Non riesco a trovare alcun esempio nella documentazione o da nessuna parte.
Sono sicuro che qualcuno lo abbia già fatto in JMP.
Puoi pubblicare la tua soluzione?
Grazie
Narayanan
Non vedo alcuna risposta alla tua domanda di quasi 20 mesi fa. Qualcuno ha fornito una risposta? Ho la stessa domanda. Vorrei inserire le mie matrici di correlazione e covarianza in una semplice analisi delle componenti principali, ma non riesco a trovare il modo.
Grazie.
Michele
Ciao @MaxiumumFactors e @AN1 ,
Ho dato un'occhiata all'indice degli script di JMP per vedere se c'è un modo per inserire le proprie matrici, ma credo che JMP non lo consenta, lavorando solo sulla matrice che genera. Se è qualcosa che ti interessa, considera l'aggiunta di un post alla Lista dei desideri .
Grazie,
Ben
Sono Yusuke Ono, Senior Tester presso JMP Giappone. Mi scuso in anticipo per il mio inglese scarso.
Se si dispone di JMP Pro, la piattaforma Modello di equazione strutturale supporta matrici di covarianza (o matrici di correlazione) e vettori medi come input, ed è possibile adattare l'analisi fattoriale confermativa (CFA) e altri SEM.
La funzione Possedere nel linguaggio di scripting JMP (JSL) può eseguire la scomposizione degli autovalori per matrici simmetriche. L'analisi delle componenti principali (PCA) può essere eseguita tramite la scomposizione degli autovalori, quindi è possibile utilizzare la funzione Possedere per la PCA.
L'analisi fattoriale mediante stima di massima verosimiglianza è più complessa. È difficile programmare l'algoritmo di massima verosimiglianza. Pertanto, vorrei consigliare il seguente metodo, sebbene sia comunque complesso.
Utilizzando la funzione di Cholesky , è possibile simulare dati fittizi la cui matrice di convarianza e il cui vettore medio sono esattamente uguali ai propri (se la matrice di convarianza è semidefinita positiva). Se la matrice di covarianza è quelli e il vettore medio è Significare , è possibile generare i dati come di seguito.
z = J(n, NCol(cov), Random Normal());
For(i = 1, i <= NCol(z), i++,
z[0,i] = (z[0,i] - Mean(z[0,i]))
);
c = Covariance(z);
invrc = Inv(Cholesky(c))`;
rcov = Cholesky(cov);
z = J(n,1,1)*mean` + z * invrc * rcov`;
Si noti che alcuni risultati per questi dati fittizi sono privi di significato. Ad esempio, i grafici dei punteggi in PCA dipendono da semi casuali. Solo i risultati relativi alla matrice di covarianza e al vettore medio sono significativi. Ad esempio, massimi, minimi e correlazioni di Spearman/Kendall sono privi di significato perché dipendono da informazioni diverse da medie e covarianze.
Il codice seguente è un esempio. Deve essere difficile capire e programmare questo "metodo dei dati fittizi" se non si ha familiarità con JSL. Inoltre, la mia spiegazione in inglese non è di facile comprensione. Ho anche saltato la spiegazione matematica del perché questo calcolo può generare dati fittizi con il vettore medio e la matrice di covarianza desiderata. Se avete domande, vi prego di rispondermi.
Names Default To Here(1);
/////////// This is a sample data //////////////////////////////////////
New Table( "Test",
New Column( "Mean", Values( [100, 50, 30, 20] )),
New Column( "Stddev", Values( [3, 4, 2.5, 1.8] )),
New Column( "X1", Values( [1, 0.8, 0.6, 0.4])),
New Column( "X2", Values( [0.8, 1, 0.5, 0.2] )),
New Column( "X3", Values( [0.6, 0.5, 1, 0.2] )),
New Column( "X4", Values( [0.4, 0.2, 0.2, 1] ))
);
///////////////////////////// From Here ///////////////////////////////
mean colname = "Mean"; /* column name for means */
stddev colname = "Stddev"; /* column name for standard deviations */
corr colnames = {"X1", "X2", "X3", "X4"};
n = 100; /* Specify the sample size */
dt = Current Data Table();
mean = Column(dt, mean colname) << Get As Matrix; /* Read your mean vector */
sd = Column(dt, stddev colname) << Get As Matrix; /* Read your standard deviations */
r = dt <
<GET as="" matrix=""></GET>
<DIV>Uno dei punti di forza di JMP è la sua interattività. Ad esempio, è possibile trovare alcuni valori anomali nel grafico dei punteggi sulla piattaforma PCA. Partendo da dati riassuntivi (come medie, deviazioni standard e correlazioni), si perdono alcune informazioni sui dati. Anch'io provo un certo disagio quando provo alcune analisi nei libri di testo. Ma recentemente, credo che sempre più libri di testo offrano set di dati grezzi campione, non dati riassuntivi. In ogni caso, se desiderate che supportiamo l'input di dati riassuntivi (come la piattaforma SEM di JMP Pro) anche per la piattaforma PCA e Analisi Fattoriale, vi invito a inserire la richiesta nella Lista dei Desideri (come ha detto <A href="https://community.jmp.com/t5/user/viewprofilepage/user-id/51054" target="_blank">@Ben_BarrIngh</A> ).</DIV>