Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

factoran

El análisis factorial

Sintaxis

lambda = factoran(X,m)
[lambda,psi] = factoran(X,m)
[lambda,psi,T] = factoran(X,m)
[lambda,psi,T,stats] = factoran(X,m)
[lambda,psi,T,stats,F] = factoran(X,m)
[...] = factoran(...,param1,val1,param2,val2,...)

Descripción

lambda = factoran(X,m) Devuelve la estimación de máxima verosimilitud, de la matriz de cargas de factores, en un modelo de análisis de factor común con elementos comunes. es una-por-matriz donde cada fila es una observación de variables.lambdamXndd El elemento TH de la matriz es el coeficiente, o carga, del factor TH para la variable TH.(i,j)dmlambdaji De forma predeterminada, llama a la función para rotar las cargas de factor estimadas mediante la opción.factoranrotatefactors'varimax'

[lambda,psi] = factoran(X,m) también devuelve estimaciones de máxima verosimilitud de las desviaciones específicas como un vector de columna de longitud.psid

[lambda,psi,T] = factoran(X,m) también devuelve la matriz de rotación de cargas por factor.mmT

[lambda,psi,T,stats] = factoran(X,m) también devuelve una estructura que contiene información relativa a la hipótesis nula, Hstats0, que el número de factores comunes es. incluye los siguientes campos:mstats

CampoDescripción
loglike

Valor de log-verosimilitud maximizado

dfe

Grados de error de libertad =((d-m)^2 - (d+m))/2

chisq

Estadística de Chi cuadrado aproximada para la hipótesis nula

p

Nivel de significancia de la cola derecha para la hipótesis nula

no computa los campos y a menos que sea positivo y todas las estimaciones de desviación específicas en son positivas (ver más abajo).factoranchisqpdfepsiHeywood Case Si es una matriz de covarianza, también debe especificar el parámetro si desea calcular los campos y.X'nobs'factoranchisqp

[lambda,psi,T,stats,F] = factoran(X,m) también devuelve, en, predicciones de los factores comunes, conocidos como puntuaciones de factor. es una-por-matriz donde cada fila es una predicción de factores comunes.FFnmm Si es una matriz de covarianza, no se puede calcular. rota utilizando el mismo criterio que para.XfactoranFfactoranFlambda

[...] = factoran(...,param1,val1,param2,val2,...) le permite especificar pares de nombre/valor de parámetro opcionales para controlar el ajuste del modelo y las salidas. Los siguientes son los pares de parámetro/valor válidos.

ParámetroValor
'xtype'

Tipo de entrada en la matriz. puede ser uno de:X'xtype'

'data'

Datos sin procesar (predeterminado)

'covariance'

Covarianza definida positiva o matriz de correlación

'scores'

Método para predecir puntuaciones de factores. se omite si no se trata de datos sin procesar.'scores'X

'wls'
'Bartlett'

Sinónimos de una estimación de mínimos cuadrados ponderada que se trata como fixed ()Fdefault

'regression'
'Thomson'

Sinónimos de una predicción de error cuadrada media mínima que equivale a una regresión de cresta

'start'

Punto de partida para las desviaciones específicas en la optimización de máxima verosimilitud.psi Se puede especificar como:

'random'

Elige valores distribuidos uniformemente en el intervalo [0,1].d

'Rsquared'

Elige el vector inicial como tiempos de factor de escala (predeterminado).diag(inv(corrcoef(X))) Para ver ejemplos, véase Jöreskog.[2]

Entero positivo

Realiza el número dado de ajustes de máxima verosimilitud, cada uno inicializado como con. Devuelve el ajuste con la mayor probabilidad.'random'factoran

Matriz

Realiza un ajuste de máxima probabilidad para cada columna de la matriz especificada. La optimización TH se inicializa con los valores de la columna TH.ii La matriz debe tener filas.d

'rotate'

Método utilizado para rotar cargas y puntuaciones de factores. puede tener los mismos valores que el parámetro de.'rotate''Method'rotatefactors Consulte la página de referencia para obtener una descripción completa de los métodos disponibles.rotatefactors

 

'none'

No realiza ninguna rotación.

 

'equamax'

Caso especial de la rotación Ortomax. Utilice los parámetros, y para controlar los detalles de la rotación.'normalize''reltol''maxit'

 

'orthomax'

Rotación ortogonal que maximiza un criterio basado en la varianza de las cargas.

Utilice los parámetros,, y para controlar los detalles de la rotación.'coeff''normalize''reltol''maxit'

 

'parsimax'

Caso especial de la rotación Ortomax (por defecto). Utilice los parámetros, y ' ' para controlar los detalles de la rotación.'normalize''reltol'maxit

 

'pattern'

Realiza una rotación oblicua (el valor predeterminado) o una rotación ortogonal para que coincida mejor con una matriz de patrón especificada. Utilice el parámetro para elegir el tipo de rotación.'type' Utilice el parámetro para especificar la matriz de patrón.'target'

 

'procrustes'

Realiza una rotación oblicua (la predeterminada) o ortogonal para que coincida mejor con una matriz de destino especificada en el sentido de mínimos cuadrados.

Utilice el parámetro para elegir el tipo de rotación.'type' Se usa para especificar la matriz de destino.'target'

 

'promax'

Realiza una rotación oblicua de Procusto a una matriz de destino determinada por una función de una solución Ortomax.factoran

Utilice el parámetro para especificar el exponente para crear la matriz de destino.'power' Debido a que utiliza internamente, también puede especificar los parámetros que se aplican a.'promax''orthomax''orthomax'

 

'quartimax'

Caso especial de la rotación Ortomax (por defecto). Utilice los parámetros, y ' ' para controlar los detalles de la rotación.'normalize''reltol'maxit

 

'varimax'

Caso especial de la rotación Ortomax (por defecto). Utilice los parámetros, y para controlar los detalles de la rotación.'normalize''reltol''maxit'

 

Función

Función Handle a la función de rotación del formulario

[B,T] =  myrotation(A,...)

donde se encuentra una-por-matriz de cargas de factor no giradas, es una-por-matriz de cargas giradas, y es la matriz correspondiente-por-rotación.AdmBdmTmm

Utilice el parámetro para pasar argumentos adicionales a esta función de rotación.factoran'userargs' Ver.Función de rotación definida por el usuario

'coeff'

Coeficiente, a menudo denotado como, definiendo el criterio específico.γ'orthomax' Debe ser de a.01 El valor corresponde a Quartimax, y corresponde a VARIMAX.01 El valor predeterminado es.1

'normalize'

Indicador que indica si la matriz de carga debe ser normalizada por filas (1) o izquierda sin normalizar (0) para o rotación.'orthomax''varimax' El valor predeterminado es 1.

'reltol'

Tolerancia de convergencia relativa o rotación.'orthomax''varimax' El valor predeterminado es.sqrt(eps)

'maxit'

Límite de iteración o rotación.'orthomax''varimax' El valor predeterminado es.250

'target'

Matriz de carga de factor de destino para rotación.'procrustes' Necesario para la rotación.'procrustes' No hay valor predeterminado.

'type'

Tipo de rotación.'procrustes' Puede ser (por defecto) o.'oblique''orthogonal'

'power'

Exponente para crear la matriz de destino en la rotación.'promax' Debe ser ≥.1 El valor predeterminado es.4

'userargs'

Denota el comienzo de los valores de entrada adicionales para una función de rotación definida por el usuario. anexa todos los valores subsiguientes, en orden y sin procesamiento, a la lista de argumentos de la función de rotación, siguiendo la matriz de cargas de factores no giradas.factoranA Ver.Función de rotación definida por el usuario

'nobs'

Si es una matriz de covarianza o correlación, indica el número de observaciones que se utilizaron en su estimación.X Esto permite el cálculo de significancia para la hipótesis nula incluso cuando los datos originales no están disponibles. No hay ningún valor predeterminado. se omite si se trata de datos sin procesar.'nobs'X

'delta'

Límite inferior para las desviaciones específicas durante la optimización de máxima verosimilitud.psi El valor predeterminado es.0.005

'optimopts'

Estructura que especifica los parámetros de control para el algoritmo iterativo que utiliza la función para calcular las estimaciones de máxima verosimilitud. Cree esta estructura con la función.statset Escriba para ver los nombres y valores predeterminados de los parámetros que acepta en la estructura.statset('factoran')factoranoptions Consulte la página de referencia para obtener más información sobre estas opciones.statset

Ejemplos

contraer todo

Cargue los datos de ejemplo.

load carbig

Defina la matriz de variables.

X = [Acceleration Displacement Horsepower MPG Weight];  X = X(all(~isnan(X),2),:);

Calcule las cargas de factores utilizando una predicción de error cuadrada media mínima para un análisis factorial con dos factores comunes.

[Lambda,Psi,T,stats,F] = factoran(X,2,'scores','regression'); inv(T'*T);   % Estimated correlation matrix of F, == eye(2) Lambda*Lambda' + diag(Psi); % Estimated correlation matrix Lambda*inv(T);              % Unrotate the loadings F*T';                       % Unrotate the factor scores

Crear biplot de dos factores.

biplot(Lambda,'LineWidth',2,'MarkerSize',20)

Calcule las cargas de factores utilizando la matriz de covarianza (o correlación).

[Lambda,Psi,T] = factoran(cov(X),2,'xtype','cov')
Lambda = 5×2

   -0.2432   -0.8500
    0.8773    0.3871
    0.7618    0.5930
   -0.7978   -0.2786
    0.9692    0.2129

Psi = 5×1

    0.2184
    0.0804
    0.0680
    0.2859
    0.0152

T = 2×2

    0.9476    0.3195
    0.3195   -0.9476

% [Lambda,Psi,T] = factoran(corrcoef(X),2,'xtype','cov')

Aunque las estimaciones son las mismas, el uso de una matriz de covarianza en lugar de datos sin procesar no le permite solicitar puntuaciones o nivel de significancia.

Utilice la rotación PROMAX.

[Lambda,Psi,T,stats,F] = factoran(X,2,'rotate','promax',...                                       'powerpm',4); inv(T'*T)                            % Estimated correlation of F, 
ans = 2×2

    1.0000   -0.6391
   -0.6391    1.0000

                                     % no longer eye(2) Lambda*inv(T'*T)*Lambda'+diag(Psi)   % Estimated correlation of X
ans = 5×5

    1.0000   -0.5424   -0.6893    0.4309   -0.4167
   -0.5424    1.0000    0.8979   -0.8078    0.9328
   -0.6893    0.8979    1.0000   -0.7730    0.8647
    0.4309   -0.8078   -0.7730    1.0000   -0.8326
   -0.4167    0.9328    0.8647   -0.8326    1.0000

Trace las variables no rotadas con ejes oblicuos superpuestos.

invT = inv(T); Lambda0 = Lambda*invT; figure() line([-invT(1,1) invT(1,1) NaN -invT(2,1) invT(2,1)], ...      [-invT(1,2) invT(1,2) NaN -invT(2,2) invT(2,2)], ...      'Color','r','linewidth',2) grid on hold on biplot(Lambda0,'LineWidth',2,'MarkerSize',20)        xlabel('Loadings for unrotated Factor 1') ylabel('Loadings for unrotated Factor 2')

Trace las variables giradas en los ejes oblicuos.

figure() biplot(Lambda,'LineWidth',2,'MarkerSize',20)

Sintaxis para pasar argumentos adicionales a una función de rotación definida por el usuario:

[Lambda,Psi,T] = ...      factoran(X,2,'rotate',@myrotation,'userargs',1,'two'); 

Más acerca de

contraer todo

Modelo de análisis de factor

calcula la estimación de máxima verosimilitud (MLE) de la matriz de cargas de factor Λ en el modelo de análisis factorialfactoran

x=μ+Λf+e

donde es un vector de variables observadas, es un vector constante de medios, Λ es una constante matriz d-por-m de cargas de factor, es un vector de factores comunes estandarizados e independientes, y es un vector de factores específicos independientes. , y son de longitud d. es de longitud m.xμfexμef

Como alternativa, el modelo de análisis de factores se puede especificar como

cov(x)=ΛΛT+Ψ

Dónde Ψ=cov(e) es una matriz diagonal d-por-d de varianzas específicas.

Sugerencias

Variables de datos observadas

Las variables en la matriz de datos observada deben ser linealmente independientes, es decir, deben tener rango completo, para que la estimación de máxima verosimilitud tenga éxito. reduce los datos sin procesar y una matriz de covarianza a una matriz de correlación antes de realizar el ajuste.Xcov(X)factoran

Estandariza los datos observados a la media cero y la varianza de la unidad antes de estimar las cargas.factoranXlambda Esto no afecta al ajuste del modelo, ya que los MLEs de este modelo son invariables a escala. Sin embargo, y se devuelven en términos de las variables estandarizadas, es decir, es una estimación de la matriz de correlación de los datos originales (aunque no después de una rotación oblicua).lambdapsilambda*lambda'+diag(psi)X Mira y.Las cargas de estimación y factor de trazadoFunción de rotación definida por el usuario

Heywood Case

Si los elementos son iguales al valor del parámetro (es decir, son esencialmente cero), el ajuste se conoce como un caso Heywood, y la interpretación de las estimaciones resultantes es problemática.psi'delta' En particular, puede haber varios máximos locales de la probabilidad, cada uno con diferentes estimaciones de las cargas y las desviaciones específicas. Los estuches Heywood pueden indicar un sobreajuste (es decir, demasiado grande), pero también pueden ser el resultado de un ajuste insuficiente.m

Rotación de cargas de factor y puntuaciones

A menos que especifique explícitamente ninguna rotación utilizando el parámetro, rota las cargas de factor estimadas y las puntuaciones de los factores.'rotate'factoranlambdaF La matriz de salida se utiliza para rotar las cargas, es decir,, donde está el MLE inicial (sin rotar) de las cargas.  es una matriz ortogonal para rotaciones ortogonales y la matriz de identidad para ninguna rotación.Tlambda = lambda0*Tlambda0T La inversa de se conoce como la matriz de rotación del eje primario, mientras que en sí misma está relacionada con la matriz de rotación del eje de referencia.TT Para las rotaciones ortogonales, las dos son idénticas.

calcula las puntuaciones de los factores que se han rotado por, es decir,, donde contiene las predicciones no giradas.factoraninv(T')F = F0 * inv(T')F0 La covarianza estimada del is, que, para la rotación ortogonal o no, es la matriz de identidad.Finv(T'*T) La rotación de cargas y puntuaciones de factores es un intento de crear una estructura más fácil de interpretar en la matriz de cargas después de la estimación de máxima verosimilitud.

Referencias

[1] Harman, H. H. Modern Factor Analysis. 3rd Ed. Chicago: University of Chicago Press, 1976.

[2] Jöreskog, K. G. “Some Contributions to Maximum Likelihood Factor Analysis.” Psychometrika. Vol. 32, Issue 4, 1967, pp. 443–482.

[3] Lawley, D. N., and A. E. Maxwell. Factor Analysis as a Statistical Method. 2nd Ed. New York: American Elsevier Publishing Co., 1971.

Capacidades ampliadas

Introducido antes de R2006a