factorAnalysis

faNFactors

Descripción

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ámetros
ParámetroDescripción
tableEspecifica la configuración de la tabla de entrada (nombre, caslib, variables calculadas, cláusula where, etc.).
inputsEspecifica las variables de entrada numéricas que se utilizarán para el análisis factorial.
criteriaDefine 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).
nFactorsEspecifica cómo combinar los resultados si se utilizan múltiples criterios ('MIN', 'MAX', 'MEAN', 'MEDIAN') para decidir el número final de factores.
priorsEspecifica el método para calcular las estimaciones de comunalidad previas (por ejemplo, 'SMC' para correlaciones múltiples al cuadrado, 'ONE' para unos, etc.).
corrOutEspecifica una tabla de salida CAS para almacenar la matriz de correlación, estadísticas descriptivas y el número de observaciones.
displayControla qué tablas de resultados se envían al cliente para su visualización.
outputTablesLista los nombres de las tablas de resultados que se guardarán en el servidor CAS.
freqEspecifica una variable numérica que representa la frecuencia de cada observación.
weightEspecifica una variable numérica para realizar un análisis ponderado.
varianceDivisorDefine el divisor utilizado para calcular la varianza ('DF' para grados de libertad, 'N' para número de observaciones, etc.).
attributesPermite modificar atributos de las variables (etiquetas, formatos) temporalmente para la acción.
Creación de datos de prueba para Análisis Factorial

Genera un conjunto de datos sintético con estructura de factores latentes para probar la detección de factores.

¡Copiado!
1 
2DATA casuser.factor_data;
3array x[10];
4DO i = 1 to 1000;
5f1 = rannor(1);
6f2 = rannor(1);
7x1 = 0.8*f1 + 0.6*rannor(1);
8x2 = 0.7*f1 + 0.7*rannor(1);
9x3 = 0.6*f1 + 0.8*rannor(1);
10x4 = 0.8*f2 + 0.6*rannor(1);
11x5 = 0.7*f2 + 0.7*rannor(1);
12x6 = 0.6*f2 + 0.8*rannor(1);
13x7 = rannor(1);
14x8 = rannor(1);
15OUTPUT;
16END;
17keep x1-x8;
18 
19RUN;
20 

Ejemplos

Utiliza el criterio predeterminado (generalmente valores propios) para determinar el número de factores en las variables especificadas.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3factorAnalysis.faNFactors / TABLE={name="factor_data", caslib="casuser"} inputs={"x1", "x2", "x3", "x4", "x5", "x6", "x7", "x8"};
4 
5RUN;
6 
Resultado :
Se mostrará una tabla indicando el número de factores sugerido basándose en los valores propios de la matriz de correlación.

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.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3factorAnalysis.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 
5RUN;
6 
Resultado :
Generará tablas detalladas comparando los valores propios observados con los simulados (análisis paralelo) y aplicará el umbral de 1.0. El resultado final 'nFactors' será el máximo sugerido por ambos métodos.

FAQ

¿Cuál es el objetivo principal de la acción faNFactors?
¿Qué función cumple el parámetro 'attributes'?
¿Para qué se utiliza el parámetro 'corrOut'?
¿Qué define el parámetro 'criteria'?
¿Para qué sirve el parámetro 'display'?
¿Qué indica el parámetro 'freq'?
¿Qué se especifica en el parámetro 'inputs'?
¿Cómo funciona el parámetro 'nFactors'?
¿Qué permite hacer el parámetro 'outputTables'?
¿Qué método define el parámetro 'priors'?
¿Qué configura el parámetro 'table'?
¿Qué especifica el parámetro 'varianceDivisor'?
¿Para qué se usa el parámetro 'weight'?