Determina el número de factores a retener en un análisis factorial. Esta acción permite evaluar la dimensionalidad de los datos utilizando varios criterios estadísticos robustos como valores propios (eigenvalues), análisis paralelo (Parallel Analysis), y correlaciones parciales (MAP). Es fundamental para decidir cuántos factores latentes explican adecuadamente la estructura de covarianza de las variables observadas.
| Parámetro | Descripción |
|---|---|
| table | Especifica la configuración de la tabla de entrada (nombre, caslib, variables calculadas, cláusula where, etc.). |
| inputs | Especifica las variables de entrada numéricas que se utilizarán para el análisis factorial. |
| criteria | Define uno o más criterios para determinar el número de factores (por ejemplo, 'EIGENVALUE', 'PARALLEL', 'MAP2'). Incluye sub-parámetros como 'threshold' (umbral) y 'nSimulations' (para análisis paralelo). |
| nFactors | Especifica cómo combinar los resultados si se utilizan múltiples criterios ('MIN', 'MAX', 'MEAN', 'MEDIAN') para decidir el número final de factores. |
| priors | Especifica el método para calcular las estimaciones de comunalidad previas (por ejemplo, 'SMC' para correlaciones múltiples al cuadrado, 'ONE' para unos, etc.). |
| corrOut | Especifica una tabla de salida CAS para almacenar la matriz de correlación, estadísticas descriptivas y el número de observaciones. |
| display | Controla qué tablas de resultados se envían al cliente para su visualización. |
| outputTables | Lista los nombres de las tablas de resultados que se guardarán en el servidor CAS. |
| freq | Especifica una variable numérica que representa la frecuencia de cada observación. |
| weight | Especifica una variable numérica para realizar un análisis ponderado. |
| varianceDivisor | Define el divisor utilizado para calcular la varianza ('DF' para grados de libertad, 'N' para número de observaciones, etc.). |
| attributes | Permite modificar atributos de las variables (etiquetas, formatos) temporalmente para la acción. |
Genera un conjunto de datos sintético con estructura de factores latentes para probar la detección de factores.
| 1 | |
| 2 | DATA casuser.factor_data; |
| 3 | array x[10]; |
| 4 | DO i = 1 to 1000; |
| 5 | f1 = rannor(1); |
| 6 | f2 = rannor(1); |
| 7 | x1 = 0.8*f1 + 0.6*rannor(1); |
| 8 | x2 = 0.7*f1 + 0.7*rannor(1); |
| 9 | x3 = 0.6*f1 + 0.8*rannor(1); |
| 10 | x4 = 0.8*f2 + 0.6*rannor(1); |
| 11 | x5 = 0.7*f2 + 0.7*rannor(1); |
| 12 | x6 = 0.6*f2 + 0.8*rannor(1); |
| 13 | x7 = rannor(1); |
| 14 | x8 = rannor(1); |
| 15 | OUTPUT; |
| 16 | END; |
| 17 | keep x1-x8; |
| 18 | |
| 19 | RUN; |
| 20 |
Utiliza el criterio predeterminado (generalmente valores propios) para determinar el número de factores en las variables especificadas.
| 1 | |
| 2 | PROC CAS; |
| 3 | factorAnalysis.faNFactors / TABLE={name="factor_data", caslib="casuser"} inputs={"x1", "x2", "x3", "x4", "x5", "x6", "x7", "x8"}; |
| 4 | |
| 5 | RUN; |
| 6 |
Aplica simultáneamente el Análisis Paralelo (con 500 simulaciones) y el criterio de Valores Propios > 1 para determinar el número de factores, utilizando 'MAX' para tomar la decisión final.
| 1 | |
| 2 | PROC CAS; |
| 3 | factorAnalysis.faNFactors / TABLE={name="factor_data", caslib="casuser"} inputs={"x1", "x2", "x3", "x4", "x5", "x6", "x7", "x8"} criteria={{type="EIGENVALUE", threshold=1.0}, {type="PARALLEL", nSimulations=500, seed=12345, alpha=0.05}} nFactors="MAX" priors={type="SMC"}; |
| 4 | |
| 5 | RUN; |
| 6 |