fit_mvt  R Documentation 
Estimate parameters of a multivariate Student's t distribution to fit data, namely, the mean vector, the covariance matrix, the scatter matrix, and the degrees of freedom. The data can contain missing values denoted by NAs. It can also consider a factor model structure on the covariance matrix. The estimation is based on the maximum likelihood estimation (MLE) and the algorithm is obtained from the expectationmaximization (EM) method.
fit_mvt(
X,
na_rm = TRUE,
nu = c("iterative", "kurtosis", "MLEdiag", "MLEdiagresampled", "crosscumulants",
"allcumulants", "Hill"),
nu_iterative_method = c("POP", "OPP", "OPPharmonic", "ECME", "ECM", "POPapprox1",
"POPapprox2", "POPapprox3", "POPapprox4", "POPexact", "POPsigmacorrected",
"POPsigmacorrectedtrue"),
initial = NULL,
optimize_mu = TRUE,
weights = NULL,
scale_covmat = FALSE,
PX_EM_acceleration = TRUE,
nu_update_start_at_iter = 1,
nu_update_every_num_iter = 1,
factors = ncol(X),
max_iter = 100,
ptol = 0.001,
ftol = Inf,
return_iterates = FALSE,
verbose = FALSE
)
X 
Data matrix containing the multivariate time series (each column is one time series). 
na_rm 
Logical value indicating whether to remove observations with some NAs (default is 
nu 
Degrees of freedom of the

nu_iterative_method 
String indicating the method for iteratively estimating

initial 
List of initial values of the parameters for the iterative estimation method (in case

optimize_mu 
Boolean indicating whether to optimize 
weights 
Optional weights for each of the observations (the length should be equal to the number of rows of X). 
scale_covmat 
Logical value indicating whether to scale the scatter and covariance matrices to minimize the MSE
estimation error by introducing bias (default is 
PX_EM_acceleration 
Logical value indicating whether to accelerate the iterative method via
the PXEM acceleration technique (default is 
nu_update_start_at_iter 
Starting iteration (default is 1) for
iteratively estimating 
nu_update_every_num_iter 
Frequency (default is 1) for
iteratively estimating 
factors 
Integer indicating number of factors (default is 
max_iter 
Integer indicating the maximum number of iterations for the iterative estimation
method (default is 
ptol 
Positive number indicating the relative tolerance for the change of the variables
to determine convergence of the iterative method (default is 
ftol 
Positive number indicating the relative tolerance for the change of the loglikelihood
value to determine convergence of the iterative method (default is 
return_iterates 
Logical value indicating whether to record the values of the parameters (and possibly the
loglikelihood if 
verbose 
Logical value indicating whether to allow the function to print messages (default is 
This function estimates the parameters of a multivariate Student's t distribution (mu
,
cov
, scatter
, and nu
) to fit the data via the expectationmaximization (EM) algorithm.
The data matrix X
can contain missing values denoted by NAs.
The estimation of nu
if very flexible: it can be directly passed as an argument (without being estimated),
it can be estimated with several oneshot methods (namely, "kurtosis"
, "MLEdiag"
,
"MLEdiagresampled"
), and it can also be iteratively estimated with the other parameters via the EM
algorithm.
A list containing (possibly) the following elements:
mu 
Mu vector estimate. 
scatter 
Scatter matrix estimate. 
nu 
Degrees of freedom estimate. 
mean 
Mean vector estimate: mean = mu 
cov 
Covariance matrix estimate: cov = nu/(nu2) * scatter 
converged 
Boolean denoting whether the algorithm has converged ( 
num_iterations 
Number of iterations executed. 
cpu_time 
Elapsed CPU time. 
B 
Factor model loading matrix estimate according to 
psi 
Factor model idiosynchratic variances estimates according to 
log_likelihood_vs_iterations 
Value of loglikelihood over the iterations (if 
iterates_record 
Iterates of the parameters ( 
Daniel P. Palomar and Rui Zhou
Chuanhai Liu and Donald B. Rubin, "ML estimation of the tdistribution using EM and its extensions, ECM and ECME," Statistica Sinica (5), pp. 1939, 1995.
Chuanhai Liu, Donald B. Rubin, and Ying Nian Wu, "Parameter Expansion to Accelerate EM: The PXEM Algorithm," Biometrika, Vol. 85, No. 4, pp. 755770, Dec., 1998
Rui Zhou, Junyan Liu, Sandeep Kumar, and Daniel P. Palomar, "Robust factor analysis parameter estimation," Lecture Notes in Computer Science (LNCS), 2019. <https://arxiv.org/abs/1909.12530>
Esa Ollila, Daniel P. Palomar, and Frédéric Pascal, "Shrinking the Eigenvalues of Mestimators of Covariance Matrix," IEEE Trans. on Signal Processing, vol. 69, pp. 256269, Jan. 2021. <https://doi.org/10.1109/TSP.2020.3043952>
Frédéric Pascal, Esa Ollila, and Daniel P. Palomar, "Improved estimation of the degree of freedom parameter of multivariate tdistribution," in Proc. European Signal Processing Conference (EUSIPCO), Dublin, Ireland, Aug. 2327, 2021. <https://doi.org/10.23919/EUSIPCO54536.2021.9616162>
fit_Tyler
, fit_Cauchy
, fit_mvst
,
nu_OPP_estimator
, and nu_POP_estimator
library(mvtnorm) # to generate heavytailed data
library(fitHeavyTail)
X < rmvt(n = 1000, df = 6) # generate Student's t data
fit_mvt(X)
# setting lower limit for nu
options(nu_min = 4.01)
fit_mvt(X, nu = "iterative")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.