Hola:
Me gustaría saber cómo ingresar una matriz de correlación (o matriz de covarianza) en JMP para realizar un análisis de factores comunes (o análisis de componentes principales). No puedo encontrar ningún ejemplo en la documentación ni en ninguna parte.
Estoy seguro de que alguien lo ha hecho antes en JMP.
¿Puedes publicar tu solución?
Gracias
Narayanan
No veo ninguna respuesta a tu pregunta de hace casi 20 meses. ¿Alguien respondió? Tengo la misma pregunta. Quiero introducir mis propias matrices de correlación y covarianza en un análisis de componentes principales simple, pero no encuentro la manera.
Gracias.
Miguel
Hola @MaxiumumFactors y @AN1 ,
Revisé el índice de scripts de JMP para ver si hay alguna forma de introducir tus propias matrices, pero creo que JMP no lo permite, ya que solo trabaja con la matriz que genera. Si te interesa, considera añadir una publicación a la lista de deseos .
Gracias,
Ben
Soy Yusuke Ono, tester sénior de JMP Japón. Disculpen de antemano mi bajo nivel de inglés.
Si tiene JMP Pro, la plataforma del modelo de ecuaciones estructurales admite matrices de covarianza (o matrices de correlación) y vectores de media como entrada, y puede ajustar análisis factorial confirmatorio (CFA) y otros SEM.
La función propia del lenguaje de script JMP (JSL) permite la descomposición de valores propios en matrices simétricas. El análisis de componentes principales (ACP) se puede realizar mediante la descomposición de valores propios, por lo que se puede utilizar para el ACP .
El análisis factorial por estimación de máxima verosimilitud es más complejo. Es difícil programar el algoritmo de máxima verosimilitud. Por lo tanto, recomiendo el siguiente método, aunque sigue siendo complejo.
Si utiliza la función de Cholesky , puede simular datos ficticios cuya matriz de convarianza y vector de medias sean exactamente iguales a los suyos (si su matriz de convarianza es semidefinida positiva). Si su matriz de covarianza es aquellos y su vector de medias es significar , puede generar los datos como se muestra a continuación.
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`;
Tenga en cuenta que algunos resultados de estos datos ficticios carecen de significado. Por ejemplo, los gráficos de puntuación en el análisis de componentes principales (PCA) dependen de valores de semilla aleatorios. Solo los resultados relacionados con la matriz de covarianza y el vector de media son significativos. Por ejemplo, los máximos, los mínimos y las correlaciones de Spearman/Kendall carecen de significado porque dependen de información distinta a las medias y las covarianzas.
El siguiente código es un ejemplo. Debe ser difícil comprender y programar este "método de datos ficticios" si no está familiarizado con JSL. Además, mi explicación en inglés no es fácil de entender. También omití la explicación matemática de por qué este cálculo puede generar datos ficticios con el vector de media y la matriz de covarianza que desea. Si tiene alguna pregunta, me gustaría que la respondiera.
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>Una de las ventajas únicas de JMP es su interactividad. Por ejemplo, se pueden encontrar valores atípicos en el gráfico de puntuaciones de la plataforma PCA. Si se parte de datos resumidos (como medias, desviaciones estándar y correlaciones), se pierde información sobre los datos. Yo también siento cierta incomodidad al intentar realizar análisis en libros de texto. Sin embargo, últimamente, creo que cada vez más libros de texto ofrecen conjuntos de datos brutos de muestra, no datos resumidos. En cualquier caso, si desea que admitamos la entrada de datos resumidos (como la plataforma SEM de JMP Pro) también para PCA y Análisis Factorial, me gustaría que lo incluyera en la lista de deseos (como comentó <A href="https://community.jmp.com/t5/user/viewprofilepage/user-id/51054" target="_blank">@Ben_BarrIngh</A> ).</DIV>