The penfa
class represents a (fitted) penalized factor
analysis model. It contains a description of the model as specified by the
user, a summary of the data, an internal matrix representation, the
fitting results, and the penalized quantities.
Objects can be created via the penfa
function.
version
:The penfa
package version used to create this object.
call
:The function call as returned by match.call()
.
timing
:The elapsed time (user + system) for various parts of the program as a list, including the total time.
Options
:Named list of options that were provided by the user
or filled-in automatically. See penfaOptions
for additional
details.
ParTable
:Named list describing the model parameters. Can be coerced to a data.frame. This is also called "parameter table". It includes information on the fixed, free and penalized parameters, their indices, the active penalization strategies ("none", "shrink", "diff", or "shrink + diff"), the starting values, the estimated parameters and the associated standard errors.
pta
:Named list containing parameter table attributes, like observed and latent variable names, their indices, and the number of groups.
Data
:Object of internal class "penfaData"
; contains
information about the data set. See the penfaData
class
for additional details.
SampleStats
:Object of internal class "penfaSampleStats"
;
contains the sample statistics. See the penfaSampleStats
class for additional details.
Model
:Object of internal class "penfaModel"
: the internal
(matrix) representation of the model. See the penfaModel
class for additional details.
Optim
:List. Information about the optimization process. This
includes the estimated parameters (x
), the number of estimated
parameters (npar
), the number of trust-region iterations
(iterations
), the value of the penalized objective function
(fx.pen
), the value of the unpenalized objective
function (fx.unpen
), the penalized log-likelihood (logl.pen
;
this is equal to fx.pen
multiplied by (-1)), the unpenalized
log-likelihood (logl.unpen
; this is equal to fx.unpen
multiplied
by (-1)), the penalized gradient (dx.pen
), the penalized Hessian/Fisher
information matrix (hessian.pen
), the list of control arguments for
the trust-region algorithm (control
), and how many times the
objective function became non-positive definite during the estimation
process (npd
). If penfa was called with the option verbose =
TRUE
, the following additional arguments coming from the trust-region
function trust
are reported in the Optim
slot: argpath
,
argtry
, type
, accept
, radii
, rho
,
fx.val
, fx.valtry
, change
, stepnorm
. See the
manual page of trust
from the trust
package for an overview of
these quantities.
Penalize
:Object of internal class "penfaPenalty"
; contains
information about the penalization. See the penfaPenalty
for
additional details.
Implied
:List. Model-implied moments (covariance matrix and mean vector).
Vcov
:List. Information about the covariance matrix (vcov) of
the model parameters. This slot includes the following quantities: the type
of penalized information matrix used in the model (either Hessian or Fisher;
information
), the vcov matrix of parameters (vcov
), whether
the convergence checks on the penalized gradient and the penalized
information matrix were satisfied (solution
), whether the employed
information matrix was positive-definite (pdef
), whether the
estimated factor solution was admissible (admissibility
), the
standard errors computed according to the Bayesian result from the
information matrix reported in information
(se
), and the 95%
confidence intervals (ci
).
Inference
:List. Information on effective degrees of the model
and information criteria for model selection. This slot reports the
following quantities: effective degree of freedom for each parameter
(edf.single
), total edf (edf
), influence matrix
(influence.mat
), generalized information criteria (IC
), such
as AIC and BIC.
external
:List. Empty slot.
The following methods are available for an object of class
penfa
:
signature(object = "penfa")
: Prints a short summary of the
estimation process, including the optimization method, the specified penalty
functions, the convergence status, the number of iterations, the tuning
selection strategy, and the effective degrees of freedom. See the manual page of
show,penfa-method
for details.
signature(object
= "penfa", header = TRUE, estimates = TRUE, ci = TRUE, level =
0.95,
nd = 3L, cutoff = 0.05, extra = TRUE)
: Prints a summary of the model
parameter estimates, and the optimization process. See the manual page of
summary,penfa-method
for details.
signature(object
= "penfa", type = "free", labels = TRUE)
: Returns the estimates of the
parameters in the model as a named numeric vector. See the manual page of
coef,penfa-method
for details.
signature(object =
"penfa", labels = TRUE)
: Returns a list of the model-implied moments (per
group). See the manual page of fitted,penfa-method
for details.
Geminiani, E., Marra, G., & Moustaki, I. (2021). "Single- and Multiple-Group Penalized Factor Analysis: A Trust-Region Algorithm Approach with Integrated Automatic Multiple Tuning Parameter Selection." Psychometrika, 86(1), 65-95. doi: 10.1007/s11336-021-09751-8