REM_EFA {REMLA}R Documentation

Robust Estimation Maximization for Exploratory Factor Analysis

Description

This function uses the robust expectation maximization (REM) algorithm to estimate the parameters of an exploratory factor analysis model as suggested by Nieser & Cochran (2021).

Usage

REM_EFA(X, k_range, delta = 0.05, rotation = "oblimin", ctrREM = controlREM())

Arguments

X

data to analyze; should be a data frame or matrix

k_range

vector of the number of factors to consider

delta

hyperparameter between 0 and 1 that captures the researcher’s tolerance of incorrectly down-weighting data from the model (default = 0.05)

rotation

factor rotation method (default = 'oblimin'); 'varimax' is the only other available option at this time

ctrREM

control parameters (default: (steps = 25, tol = 1e-6, maxiter = 1e3, min_weights = 1e-30, max_ueps = 0.3, chk_gamma = 0.9, n = 2e4))

Value

REM_EFA returns an object of class "REM". The function summary() is used to obtain estimated parameters from the model. An object of class "REM" in Exploratory Factor Analysis is a list of outputs with four different components for each number of factor: the matched call (call), estimates using traditional expectation maximization (EM_output), estimates using robust expectation maximization (REM_output), and a summary table (summary_table). The list contains the following components:

call

match call

model

model frame

k

number of factors

constraints

p x k matrix of zeros and ones denoting the factors (rows) and observed variables (columns)

epsilon

hyperparameter on the likelihood scale

AIC_rem

Akaike information criterion based on REM estimates

BIC_rem

Bayesian information criterion based on REM estimates

mu

item intercepts

lambda

factor loadings

psi

unique variances of items

phi

factor covariance matrix

gamma

average weight

weights

estimated REM weights

ind_lik

likelihood value for each individual

lik_rem

joint log-likelihood evaluated at REM estimates

lik

joint log-likelihood evaluated at EM estimates

mu.se

standard errors of items intercepts

lambda.se

standard errors of factor loadings

psi.se

standard errors of unique variances of items

gamma.se

standard error of gamma

summary_table

summary of EM and REM estimates, SEs, Z statistics, p-values, and 95% confidence intervals

The summary function can be used to obtain estimated parameters from the optimal model based on the BIC from the EM and REM algorithms.

Author(s)

Bryan Ortiz-Torres (bortiztorres@wisc.edu); Kenneth Nieser (nieser@stanford.edu)

References

Nieser, K. J., & Cochran, A. L. (2021). Addressing heterogeneous populations in latent variable settings through robust estimation. Psychological Methods.

See Also

summary.REMLA() for more detailed summaries, oblimin() and varimax() for details on the rotation

Examples


# Modeling Exploratory Factor Analysis
library(lavaan)
library(GPArotation)
df <- HolzingerSwineford1939
data = df[,-c(1:6)]

model_EFA = REM_EFA( X = data, k_range = 1:3, delta = 0.05)
summary(model_EFA)


[Package REMLA version 1.1 Index]