Main Content

mvnrmle

Multivariate normal regression (ignore missing data)

Description

[Parameters,Covariance,Resid,Info] = mvnrmle(Data,Design) estimates a multivariate normal regression model without missing data. The model has the form

DatakN(Designk×Parameters,Covariance)

for samples k = 1, ... , NUMSAMPLES.

mvnrmle estimates a NUMPARAMS-by-1 column vector of model parameters called Parameters, and a NUMSERIES-by-NUMSERIES matrix of covariance parameters called Covariance.

mvnrmle(Data, Design) with no output arguments plots the log-likelihood function for each iteration of the algorithm.

[Parameters,Covariance,Resid,Info] = mvnrmle(___,MaxIterations,TolParam,TolObj,Covar0,CovarFormat) estimates a multivariate normal regression model without missing data using optional arguments.

Input Arguments

collapse all

Data sample, specified as an NUMSAMPLES-by-NUMSERIES matrix with NUMSAMPLES samples of a NUMSERIES-dimensional random vector. If a data sample has missing values, represented as NaNs, the sample is ignored. (Use mvnrmle to handle missing data.)

Data Types: double

Model design, specified as a matrix or a cell array that handles two model structures:

  • If NUMSERIES = 1, Design is a NUMSAMPLES-by-NUMPARAMS matrix with known values. This structure is the standard form for regression on a single series.

  • If NUMSERIES1, Design is a cell array. The cell array contains either one or NUMSAMPLES cells. Each cell contains a NUMSERIES-by-NUMPARAMS matrix of known values.

    If Design has a single cell, it is assumed to have the same Design matrix for each sample. If Design has more than one cell, each cell contains a Design matrix for each sample.

These points concern how Design handles missing data:

  • Although Design should not have NaN values, ignored samples due to NaN values in Data are also ignored in the corresponding Design array.

  • If Design is a 1-by-1 cell array, which has a single Design matrix for each sample, no NaN values are permitted in the array. A model with this structure must have NUMSERIESNUMPARAMS with rank(Design{1}) = NUMPARAMS.

  • Two functions for handling missing data, ecmmvnrmle and ecmlsrmle, are stricter about the presence of NaN values in Design.

Data Types: double | cell

(Optional) Maximum number of iterations for the estimation algorithm, specified as a numeric. The default value is 100.

Data Types: double

(Optional) Convergence tolerance for estimation algorithm based on changes in model parameter estimates, specified as a numeric. The Default value is sqrt(eps) which is about 1.0e-8 for double precision. The convergence test for changes in model parameters is

ParamkParamk1<TolParam×(1+Paramk)

where Param represents the output Parameters, and iteration k = 2, 3, ... . Convergence is assumed when both the TolParam and TolObj conditions are satisfied. If both TolParam0 and TolObj0, do the maximum number of iterations (MaxIterations), whatever the results of the convergence tests.

Data Types: double | table | timetable

(Optional) Convergence tolerance for estimation algorithm based on changes in the objective function, specified as a numeric. The default value is eps ∧ 3/4 which is about 1.0e-12 for double precision. The convergence test for changes in the objective function is

|ObjkObjk1|<TolObj×(1+|Objk|)

for iteration k = 2, 3, ... . Convergence is assumed when both the TolParam and TolObj conditions are satisfied. If both TolParam0 and TolObj0, do the maximum number of iterations (MaxIterations), whatever the results of the convergence tests.

Data Types: double

(Optional) user-supplied initial or known estimate for the covariance matrix of the regression residuals, specified as an NUMSERIES-by-NUMSERIES matrix.

Data Types: double

(Optional) Format for the covariance matrix, specified as a character vector. The choices are:

  • 'full' — This is the default method that computes the full covariance matrix.

  • 'diagonal' — This forces the covariance matrix to be a diagonal matrix.

Data Types: char

Output Arguments

collapse all

Parameters of the regression model, returned as an NUMPARAMS-by-1 column vector of estimates for the parameters of the regression model.

Covariance of the regression model's residuals, returned as an NUMSERIES-by-NUMSERIES matrix of estimates for the covariance of the regression model's residuals.

Residuals from the regression, returned as an NUMSAMPLES-by-NUMSERIES matrix of residuals from the regression. For any row with missing values in Data, the corresponding row of residuals is represented as all NaN missing values, since this routine ignores rows with NaN values.

Structure containing additional information from the regression, returned as a structure. The structure has these fields:

  • Info.Obj – A variable-extent column vector, with no more than MaxIterations elements, that contain each value of the objective function at each iteration of the estimation algorithm. The last value in this vector, Obj(end), is the terminal estimate of the objective function. If you do maximum likelihood estimation, the objective function is the log-likelihood function.

  • Info.PrevParametersNUMPARAMS-by-1 column vector of estimates for the model parameters from the iteration just before the terminal iteration.

  • Info.PrevCovarianceNUMSERIES-by-NUMSERIES matrix of estimates for the covariance parameters from the iteration just before the terminal iteration.

Use the estimates in the output structure Info for diagnostic purposes.

References

[1] Roderick J. A. Little and Donald B. Rubin. Statistical Analysis with Missing Data., 2nd Edition. John Wiley & Sons, Inc., 2002.

[2] Xiao-Li Meng and Donald B. Rubin. “Maximum Likelihood Estimation via the ECM Algorithm.” Biometrika. Vol. 80, No. 2, 1993, pp. 267–278.

Version History

Introduced in R2006a