En numerosas áreas de psicología y de ciencias del Comportamiento no es posible medir directamente las variables que interesan; por ejemplo, los conceptos de inteligencia y de clase social.
En estos casos es necesario recoger medidas indirectas que están relacionadas con los conceptos que interesan.
El análisis de factores comunes y únicos (analisis factorial) busca describir la relación de covariación entre múltiples variables en términos de pocas variables aleatorias no observables llamadas factores.
El análisis de factores es un técnica descriptiva con alguna similitud con componentes principales.
En el análisis de componentes principales, en realidad, solo se hacen transformaciones ortogonales de las variables originales, haciendo hincapie en la varianza de las nuevas variables. En el análisis factorial, por el contrario, interesa más explicar la estructura de las covarianzas entre las variables.
2 Idea intuitiva
La idea es encontrar Factores no observables que influyan en las variables observadas.
3 Diferencia y similitud entre FA y PCA
En la siguiente figura se ilustra que FA busca factores que influyan sobre las X’s, mientras que PCA busca la forma en que las X’s influyen sobre las CP.
Otra figura ilustrativa de la diferencia entre FA y PCA.
4 Modelo
El modelo estadístico en FA es el siguiente:
donde \(X_1, X_2, \ldots, X_p\) representan las variables cuantitativas observadas, \(f_1, f_2, \ldots, f_k\) representan los factores no observables, los \(\lambda_{ij}\) son los aportes de los factores a cada una de las variables. Se desea que \(k \leq p\).
Matricialmente el modelo se puede escribir como
El vector \(X\) es de tamaño \(p\times1\) con media \(\boldsymbol{\mu}\) y matriz de covarianzas \(\boldsymbol{\Sigma}\). La matriz \(\boldsymbol{\Lambda}\) se llama matriz de ponderaciones, cargas o pesos.
Las clases de factores son:
Comunes: \(f_1, f_2, \ldots, f_k\).
Únicos: \(u_1, u_2, \ldots, u_p\).
y estos factores se puede ver en el modelo estadístico:
Una ilustración de ambos factores se puede ver en la siguiente figura.
5 Supuestos
Para efectos de estimación se asume que
6 Comunalidad y especificidad
Para la variable \(i\)-ésima variable se tiene que
y asumiendo que los factores son ortogornales, la varianza de ella está dada por
7 Varianza y correlacion
El resultado anterior se puede escribir matricialmente como
Si los factores son ortogonales \(\Phi=I\) entonces
Cuando las variables originales se han estandarizado, el analisis puede desarrollarse a partir de la matriz de correlaciones \(\boldsymbol{R}\)
8 Métodos de estimación
Tres métodos pueden ser usados para estimar las ponderaciones factoriales \(\lambda_{ij}\).
Método de la componente principal
Método del factor principal
Método de máxima verosimilitud
9 Método de la componente principal
Los pasos necesarios para realizar la estimación de la matriz de pesos \(\boldsymbol{\Lambda}\) son:
Calcule la matriz de correlaciones \(\boldsymbol{R}\).
Obtenga los valores y vectores propios de \(\boldsymbol{R}\).
Usando los valores propios calcule la variabilidad acumulada hasta cada uno de los factores.
Elija el número \(k\) de factores a usar, ya sea por un valor preestablecido de \(k\) o para explicar un mínimo de variabilidad.
Estime la matriz de pesos \(\hat{\boldsymbol{\Lambda}}\) usando la expresión \(\hat{\boldsymbol{\Lambda}} = \boldsymbol{P}_1 \boldsymbol{D}_1^{1/2}\) donde \(\boldsymbol{D}_1\) es una matriz diagonal con los \(k\) valores propios más grandes de mayor a menor. \(\boldsymbol{P}_1\) es una matriz con los \(k\) vectores propios asociados a los \(k\) valores propios elegidos.
10 Ejemplo
Para un estudio de aceptación de un nuevo producto se indagó con un grupo de consumidores sobre los siguientes atributos de este nuevo producto: gusto \(X_1\), costo \(X_2\), sabor \(X_3\), tamano por porcion \(X_4\) y calorías suministradas \(X_5\). La matriz de correlación obtenida fue la siguiente:
Obtenga la estimación de la matriz \(\boldsymbol{\Lambda}\) de pesos de tal manera que se explique al menos un 90% de la variabilidad observada. Calcule la comunalidad y la especificidad de cada variable.
Solución
Calculemos los valores y vectores propios de \(\boldsymbol{R}\).
Comunalidad y especificidad (varianza especifica) se obtiene así.
11 Método del factor principal
Los pasos necesarios para realizar la estimación de la matriz de pesos \(\boldsymbol{\Lambda}\) y la matriz de unicidades \(\boldsymbol{\Psi}\) a partir de la matriz \(\boldsymbol{R}\) son los siguientes:
Estime comunalidades iniciales \(\hat{h}_i^2=1-\frac{1}{r^{ii}}\) donde \(r^{ii}\) es el \(i\)-esimo elemento en la diagonal de \(\boldsymbol{R}^{-1}\).
Con los valores estimados \(\hat{h}_i^2\) del paso anterior calcule la nueva matriz \(\boldsymbol{R}-\hat{\boldsymbol{\Psi}}\) asi:
Aplique Metodo de la componente principal a \(\boldsymbol{R}-\hat{\boldsymbol{\Psi}}\) para obtener \(\boldsymbol{\Lambda}\).
Con los valores de \(\boldsymbol{\Lambda}\) se calculan las comunalidades \(\hat{h}_i^2\).
Repita los pasos 2 a 4 tantas veces como sea necesario hasta que las comunalidades estimadas se estabilicen o converjan.
Nota: para realizar la estimacion a partir de \(\boldsymbol{\Sigma}\) se siguen pasos similares a los mostrados, consultar Diaz (2007) pagina 255 para detalles.
12 Método de máxima verosimilitud
Para estimar \(\boldsymbol{\Lambda}\) y la matriz de unicidades \(\boldsymbol{\Psi}\) se asume que:
Los factores \(f \sim Normal\),
Los errores \(U \sim Normal\),
y que \(\boldsymbol{\Phi}=\boldsymbol{I}\).
Sea \(X_1, X_2, \ldots, X_n\) una m.a. de una \(N_p(\boldsymbol{\mu},\boldsymbol{\Sigma})\), la funcion de verosimilitud \(L\) para esta muestra es:
Se demuestra que la maximizacion de \(l=\log(L)\) con respecto a \(\boldsymbol{\Lambda}\) y \(\boldsymbol{\Psi}\) conduce a las siguientes ecuaciones:
Estas ecuaciones se pueden resolver de forma iterativa usando por ejemplo el Me-todo Newton-Raphson.
13 Numero de factores a seleccionar
Método 1: elegir \(k\) de tal manera que se explique al menos un porcentaje de varianza total.
Método 2: escoger el valor de \(k\) como el número de valores propios mayores que la media de ellos mismos.
Método 3: probar si \(k\) es un número adecuado de factores para ajustar la estructura de covarianza, es decir, se quiere probar \(H_0: \boldsymbol{\Sigma} = \boldsymbol{\Lambda} \boldsymbol{\Lambda}^T + \boldsymbol{\Psi}\). El estadistico de la prueba razon de verosimilitud para probar esta hipótesis es:
la cual se distribuye aproximadamente como una \(\chi^2\) con \(\nu=0.5[(p-k)^2-p-k]\) grados de libertad, \(p\) número de variables y \(\boldsymbol{S}\) es la matriz covarianzas muestral.
14 Rotacion de factores
El objetivo de FA es la obtención de una estructura de factores.
La interpretación de las ponderaciones o coeficientes factoriales es adecuada si cada variable pondera altamente solo un factor determinado.
¿Que hacer para lograr una interpretación?
Se puede recurrir a una rotación, a continuación los dos tipos de rotaciones.
Rotación ortogonal: varimax, quartimax, bentlerT, equamax, varimin, geominT y bifactor.
Identificar las variables cuyas correlaciones con el factor son las más elevadas en valor absoluto.
Intentar dar un nombre a los factores. El nombre se asigna de acuerdo con la estructura de las correlaciones: Cuando es positiva (resp.negativa) la relación entre el factor y dicha variable es directa (resp. inversa).
Una ayuda en la interpretación de los factores puede ser la representación gráfica de los resultados obtenidos. La representación se hace tomando los factores dos a dos. Cada factor representa un eje de coordenadas. A estos ejes se les denomina ejes factoriales.
Eliminar las cargas factoriales bajas y de este modo suprimir información redundante.
Generalmente, se toma como significativas las cargas superiores a 0.5 en valor absoluto.
¿Cuál es la interpretacion más correcta? Todo depende de la teoría que subyace al problema, esto llevar al analista a hacer más hincapie en una interpretación u otra.
16 Ejemplo
Supongamos que se tiene este resultado de una FA. ¿Cómo se podrían interpretar los factores?
Solución
Factor 1: nutricional
Factor 2: gustativo
17 Ejemplo de interpretación
A un grupo de estudiantes se les hicieron pruebas de matemáticas, física, química, inglés, historia y dibujo. El modelo ajustado con los pesos de los factores dentro de cada variable se muestra a continuación.
¿Cómo se podrían interpretar los factores?
Solución
Factor 1: ciencias
Factor 2: humanidad
18factanal function
factanal(x, factors, data =NULL, covmat =NULL, n.obs =NA, subset, na.action, start =NULL,scores =c("none", "regression", "Bartlett"),rotation ="varimax", control =NULL, ...)
Esta función está en el paquete base stats. La función factanal realiza un análisis factorial de máxima verosimilitud dada una matriz de covarianza o matriz de datos.
A continuación la explicación de cada argumento de la función.
x: A formula or a numeric matrix or an object that can be coerced to a numeric matrix.
factors: The number of factors to be fitted.
data: An optional data frame (or similar: see model.frame), used only if x is a formula. By default the variables are taken from environment(formula).
covmat: A covariance matrix, or a covariance list as returned by cov.wt. Of course, correlation matrices are covariance matrices.
n.obs: The number of observations, used if covmat is a covariance matrix.
subset: A specification of the cases to be used, if x is used as a matrix or formula.
na.action: The na.action to be used if x is used as a formula.
start: NULL or a matrix of starting values, each column giving an initial set of uniquenesses.
scores: Type of scores to produce, if any. The default is none, “regression” gives Thompson’s scores, “Bartlett” given Bartlett’s weighted least-squares scores. Partial matching allows these names to be abbreviated.
rotation: character. “varimax” or “promax” or “none”.
19 Ejemplo expectativa de vida
Los datos de la Tabla 5.1 (en Everitt & Hothorn (2011) página 148) muestran la esperanza de vida en años por país, edad y sexo. Los datos provienen de Keyfitz y Flieger (1971) y se relacionan con las expectativas de vida en la década de 1960.
Aplicar FA a los datos de expectativa de vida.
Solución
Primero vamos a cargar los datos.
url <-'https://raw.githubusercontent.com/fhernanb/datos/master/life.txt'life <-read.table(url, header=T)rownames(life) <- life[, 1] # Para nombrar las filaslife <- life[, -1] # Eliminando la variable pais
Las variables anteriores se interpretan así: m0 es la expectativa de vida de los hombres al nacer, m25 es la expectativa de los hombres al cumplir los 25 años, …, w75 es la expectativa de vida de las mujeres de 75 años.
La matriz de correlación es:
R <-cor(life) # Matriz de correlacionesround(R, digits=2)
La función plot_obsfa se utiliza para dibujar las observaciones en los primeros planos de los factores. A esta función ingresa la matriz de scores y los factores a dibujar en eje X y eje Y.