| Type: | Package | 
| Title: | Maximum Likelihood Factor Analysis | 
| Version: | 1.1 | 
| Date: | 2015-11-04 | 
| Author: | Koulik Khamaru <koulik123@gmail.com>, Rahul Mazumder<rahul.mazumder@gmail.com > | 
| Maintainer: | Koulik Khamaru <koulik123@gmail.com> | 
| Description: | Perform Maximum Likelihood Factor analysis on a covariance matrix or data matrix. | 
| License: | GPL-3 | 
| Imports: | rARPACK, stats | 
| Suggests: | MASS | 
| RoxygenNote: | 5.0.0 | 
| NeedsCompilation: | no | 
| Packaged: | 2015-11-20 19:31:47 UTC; Flash | 
| Repository: | CRAN | 
| Date/Publication: | 2015-11-21 15:56:06 | 
Calculates the Maximum likelihood Factor analysis with a dataset.
Description
Calculates the Maximum likelihood Factor analysis with a dataset.
Usage
Factmle(data, rnk, Psi_init = c(), lb = 0.01, index = c(), lb2 = 0.01,
  tol = 10^-7, Max_iter = 1000)
Arguments
| data | The dataset. It is a n*p numeric matrix, where n is the number of observations and p is the number of variables. | 
| rnk | Rank constraint for the Factor analysis problem. It must a positive integer less than the number of variables p | 
| Psi_init | The initial value of Psi. It is a p*1 numeric vetor, where p is the number of variables. Default value is a vector of uniform random numbers. | 
| lb | The lower bound on the Psi values. The default value is set to 0.05 | 
| index | This option is for modified version of factmle.The default value is a null vector. If assigned a zero vector, it will perform MLFA keeping some of the Psi values specified by the index at a specifed level *lb2* | 
| lb2 | This option of modified version of factmle algorithm. The default value is 0.001. The Psi values specified by the *index* is kept constant at *lb2* while doing MLFA. | 
| tol | Precision parameter. Default is 10^-7 | 
| Max_iter | Maximum number of iterations. Default is 1000. | 
Value
A list with the following components
| Psi | A vector containing the unique variances. | 
| Lambda | A p*rnk matrix containing the factor loadings in the columns. | 
| Nll | A vector containing the negative Log-likelihood values at every iteration. | 
| Nllopt | The value of the negative log-likelihood upon convergence. | 
See Also
svds
Examples
library(MASS)
library(stats)
Psi=runif(15,min=0.2,max=1.3)
Lambda=mvrnorm(n=15,mu=rep(0,3),Sigma = diag(rep(1,3)))
data=mvrnorm(n=5000,mu=rep(0,15),Sigma = diag(Psi)+Lambda%*%t(Lambda))
x=Factmle(data,3)
Calculates the Maximum likelihood Factor analysis with a covariance Matrix.
Description
Calculates the Maximum likelihood Factor analysis with a covariance Matrix.
Usage
Factmle_cov(S, rnk, Psi_init = c(), lb = 0.01, index = c(), lb2 = 0.01,
  tol = 10^-7, Max_iter = 1000)
Arguments
| S | The Covariance Matrix. It is a p*p numeric matrix, where p is the number of variables. | 
| rnk | Rank constraint for the Factor analysis problem. It must a positive integer less than the number of variables p | 
| Psi_init | The initial value of Psi. It is a p*1 numeric vetor, where p is the number of variables.Default value is a vector of uniform random numbers. | 
| lb | The lower bound on the Psi values. The default value is set to 0.05 | 
| index | This option is for modified version of factmle.The default value is a null vector. If assigned a zero vector, it will perform MLFA keeping some of the Psi values specified by the index at a specifed level *lb2* | 
| lb2 | This option of modified version of factmle algorithm. The default value is 0.001. The Psi values specified by the *index* is kept constant at *lb2* while doing MLFA. | 
| tol | Precision parameter. Default is 10^-7 | 
| Max_iter | Maximum number of iterations. Default is 1000. | 
Value
A list with the following components
- Psi
- A vector containing the unique variances. 
- Lambda
- A p*rnk matrix containing the factor loadings in the columns. 
- Nll
- A vector containing the negative Log-likelihood values at every iteration. 
- Nllopt
- The value of the negative log-likelihood upon convergence. 
See Also
eigs_sym
Examples
library(MASS)
library(stats)
Psi=runif(15,min=0.2,max=1.3)
Lambda=mvrnorm(n=15,mu=rep(0,3),Sigma = diag(rep(1,3)))
data=mvrnorm(n=5000,mu=rep(0,15),Sigma = diag(Psi)+Lambda%*%t(Lambda))
S=cov(data)
x=Factmle_cov(S,3)