| Type: | Package | 
| Title: | Penalized Likelihood Factor Analysis via Nonconvex Penalty | 
| Version: | 2.3.11 | 
| Date: | 2024-01-06 | 
| Depends: | Matrix, ellipse, tcltk | 
| Description: | Computes the penalized maximum likelihood estimates of factor loadings and unique variances for various tuning parameters. The pathwise coordinate descent along with EM algorithm is used. This package also includes a new graphical tool which outputs path diagram, goodness-of-fit indices and model selection criteria for each regularization parameter. The user can change the regularization parameter by manipulating scrollbars, which is helpful to find a suitable value of regularization parameter. | 
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] | 
| URL: | https://doi.org/10.1007/s11222-014-9458-0, https://doi.org/10.1016/j.csda.2014.05.011, https://doi.org/10.1007/s41237-016-0007-3, https://keihirose.com | 
| Repository: | CRAN | 
| NeedsCompilation: | yes | 
| Packaged: | 2024-01-14 12:32:37 UTC; hirosekei | 
| Author: | Kei Hirose | 
| Maintainer: | Kei Hirose <mail@keihirose.com> | 
| Date/Publication: | 2024-01-14 15:50:02 UTC | 
fanc (penalized maximum likelihood factor analysis via nonconvex penalties)
Description
This package computes the solution path of penalized maximum likelihood estimates via MC+ penalties.
Usage
fanc(x, factors, n.obs, rho, gamma, cor.factor=FALSE, normalize=TRUE, 
     normalize.penalty=FALSE, covmat, type="MC", model="FA", control=list())Arguments
| x | A data matrix. | 
| factors | The number of factors. | 
| cor.factor | An indicator of the factor correlation.  If  | 
| normalize | If  | 
| normalize.penalty | If  | 
| rho | The values of rho. It can be a scalar or a matrix. | 
| gamma | The values of gamma. It must be a vector. | 
| covmat | A covariance matrix, which is needed if the data matrix  | 
| n.obs | The number of observations, which is needed to calculate the model selection criteria and goodness-of-fit indices when the data matrix  | 
| type | Type of penalty. If  | 
| model | Type of model.  | 
| control | A list of control parameters. See ‘Details’. | 
Details
The control argument is a list that can supply any of the following components:
- length.rho
- 
Candidates of tuning parameters which is used for grid search of reparametrization of MC+. 
- length.gamma
- 
A length of tuning parameter which controls sparsenesses. For each rho,gamma=Infyields soft threshold operator (i.e., lasso penalty) andgamma=+1produces hard threshold operator.
- max.rho
- 
Maximum value of rho. 
- max.gamma
- 
A maximum value of gamma (excludes Inf.).
- min.gamma
- 
A minimum value of gamma. 
- eta
- 
A tuning parameter used for preventing the occurrence of improper solutions. etamust be non-negative.
- ncand.initial
- 
The number of candidates of initial values of factor loadings. 
- ncand.initial.prenet
- 
The number of candidates of initial values for prenet penalty. Because the prenet penalty is unstable when rhois large,ncand.initial.prenetmust be large. Default is 1000.
- maxit.em
- 
A maximum number of iterations for EM algortihm. 
- maxit.cd
- 
A maximum number of iterations for coordinate descent algortihm. 
- maxit.bfgs
- 
A maximum number of iterations for BFGS algorithm used in the update of factor correlation. 
- maxit.initial
- 
A maximum number of iterations for choosing the initial values. 
- start
- 
Type of start. If "cold", the initial value of factor loadings is randomly chosen for each tuning parameter, which can be slow.
- Delta
- 
A proportion of maximum value of rho to minimum value of rho, i.e., rho.min=Delta*rho.max.
- min.uniquevar
- 
A minimum value of unique variances. 
- tol.em
- 
A positive scalar giving the tolerance at which the parameter in EM is considered close enough to zero to terminate the algorithm. 
- tol.cd
- 
A positive scalar giving the tolerance at which the factor loadings in coordinate descent is considered close enough to zero to terminate the algorithm. 
- tol.bfgs
- 
A positive scalar giving the tolerance at which the factor correlation in BFGS algorithm is considered close enough to zero to terminate the algorithm. 
- min.rhozero
- 
If "TRUE", the minimum value of"rho"is zero.
- zita
- 
A value of hyper-parameter of factor correlation. 
- progress
- 
If "TRUE", the progress for each tuning parameter is displayed.
- openmp
- 
If "TRUE", the parallel computation via OpenMP is excecuted.
- num.threads
- 
The number of threads of the openmp. Only used when openmpis"TRUE",
- gamma.ebic
- 
The value of gamma used in the extended BIC 
Value
| loadings | factor loadings | 
| uniquenesses | unique variances | 
| Phi | factor correlation | 
| rho | rho | 
| AIC | AIC | 
| BIC | BIC | 
| CAIC | CAIC | 
| df | degrees of freedom (number of non-zero parameters for the lasso estimation) | 
| criteria | values of AIC, BIC and CAIC | 
| goodness.of.fit | values of GFI and AGFI | 
| gamma | a value of gamma | 
| Npflag | If the number of observation is larger than the number of variables, 1, otherwise 0. | 
| factors | the number of factors | 
| cor.factor | An indicator of the factor correlation | 
| x | data matrix | 
| convergence | indicator of convergence of EM algorithm, coordinate descent and BFGS. If all of these variables are 0, the algorithm has been converged | 
Author(s)
Kei Hirose
mail@keihirose.com
References
Hirose, K. and Yamamoto, M. (2014). 
Sparse estimation via nonconcave penalized likelihood in a factor analysis model,
Statistics and Computing, in press
See Also
out and plot.fanc objects.
Examples
#generate data
set.seed(0)
loadings0 <- matrix(c(rep(0.8,5),rep(0,5),rep(0,5),rep(0.8,5)),10,2)
common.factors0 <- matrix(rnorm(50*2),50,2)
unique.factors0 <- matrix(rnorm(50*10,sd=sqrt(0.36)),50,10)
x <- common.factors0 %*% t(loadings0) + unique.factors0
#fit data
fit <- fanc(x,2)
fit2 <- fanc(x,2,cor.factor=TRUE) #factor correlation is estimated
#print candidates of gamma and rho
print(fit)
#output for fixed tuning parameters
out(fit, rho=0.1, gamma=Inf)
#select a model via model selection criterion
select(fit, criterion="BIC", gamma=Inf)
#plot solution path
plot(fit)
output from a "fanc" object for fixed value of gamma.
Description
This functions give us the loadings from a "fanc" object for fixed value of gamma.
Usage
out(x, rho, gamma, scores=FALSE, df.method="active")
Arguments
| x | Fitted  | 
| gamma | The value of gamma. | 
| rho | The value of rho. | 
| scores | Logical flag for outputting the factor scores. Defalut is FALSE. | 
| df.method | Two types of degrees of freedom are supported.  If  | 
Value
| loadings | factor loadings | 
| uniquenesses | unique variances | 
| Phi | factor correlation | 
| scores | factor scores | 
| df | degrees of freedom (number of non-zero parameters for the lasso estimation) | 
| criteria | values of AIC, BIC and CAIC | 
| goodness.of.fit | values of GFI and AGFI | 
| rho | a value of rho | 
| gamma | a value of gamma | 
Author(s)
Kei Hirose
mail@keihirose.com
References
Hirose, K. and Yamamoto, M. (2014). 
Sparse estimation via nonconcave penalized likelihood in a factor analysis model,
Statistics and Computing, in press
See Also
fanc and plot.fanc objects.
plot the solution path from a "fanc" object.
Description
This functions plots the solution paths from a "fanc" object for fixed value of gamma.
Usage
## S3 method for class 'fanc'
plot(x, Window.Height=500, type=NULL, df.method="active", ...)
Arguments
| x | Fitted  | 
| Window.Height | A window height. The default is 500. | 
| type | Two plot types are supported.  If  | 
| df.method | Two types of degrees of freedom are supported.  If  | 
| ... | Other graphical parameters to plot | 
Value
NULL
Author(s)
Kei Hirose
mail@keihirose.com
References
Hirose, K. and Yamamoto, M. (2014). 
Sparse estimation via nonconcave penalized likelihood in a factor analysis model,
Statistics and Computing, in press
See Also
fanc and out objects.
select from a "fanc" object for fixed value of gamma.
Description
This functions give us the loadings from a "fanc" object for fixed value of gamma.
Usage
select(x, criterion=c("BIC","AIC","CAIC","EBIC"), 
	gamma,  scores=FALSE, df.method="active")
Arguments
| x | Fitted  | 
| criterion | The criterion by which to select the tuning parameter rho. One of "AIC", "BIC", "CAIC", or "EBIC". Default is "BIC". | 
| gamma | The value of gamma. | 
| scores | Logical flag for outputting the factor scores. Defalut is FALSE. | 
| df.method | Two types of degrees of freedom are supported.  If  | 
Value
| loadings | factor loadings | 
| uniquenesses | unique variances | 
| Phi | factor correlation | 
| scores | factor scores | 
| df | degrees of freedom (number of non-zero parameters for the lasso estimation) | 
| criteria | values of AIC, BIC and CAIC | 
| goodness.of.fit | values of GFI and AGFI | 
| rho | a value of rho | 
| gamma | a value of gamma | 
Author(s)
Kei Hirose
mail@keihirose.com
References
Hirose, K. and Yamamoto, M. (2014). 
Sparse estimation via nonconcave penalized likelihood in a factor analysis model,
Statistics and Computing, in press
See Also
fanc and plot.fanc objects.