ecmlsrmle

Least-squares regression with missing data

Syntax

[Parameters, Covariance, Resid, Info] = ecmlsrmle(Data, Design,
MaxIterations, TolParam, TolObj, Param0, Covar0, CovarFormat)

Arguments

Data

NUMSAMPLES-by-NUMSERIES matrix with NUMSAMPLES samples of a NUMSERIES-dimensional random vector. Missing values are represented as NaNs. Only samples that are entirely NaNs are ignored. (To ignore samples with at least one NaN, use mvnrmle.)

Design

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 NUMSERIES 1, 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.

MaxIterations

(Optional) Maximum number of iterations for the estimation algorithm. Default value is 100.

TolParam

(Optional) Convergence tolerance for estimation algorithm based on changes in model parameter estimates. 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 TolParam 0 and TolObj 0, do the maximum number of iterations (MaxIterations), whatever the results of the convergence tests.

TolObj

(Optional) Convergence tolerance for estimation algorithm based on changes in the objective function. 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 TolParam 0 and TolObj 0, do the maximum number of iterations (MaxIterations), whatever the results of the convergence tests.

Param0

(Optional) NUMPARAMS-by-1 column vector that contains a user-supplied initial estimate for the parameters of the regression model. Default is a zero vector.

Covar0

(Optional) NUMSERIES-by-NUMSERIES matrix that contains a user-supplied initial or known estimate for the covariance matrix of the regression residuals. Default is an identity matrix.


For covariance-weighted least-squares calculations, this matrix corresponds with weights for each series in the regression. The matrix also serves as an initial guess for the residual covariance in the expectation conditional maximization (ECM) algorithm.

CovarFormat

(Optional) String that specifies the format for the covariance matrix. The choices are:

  • 'full' - Default method. Compute the full covariance matrix.

  • 'diagonal' - Force the covariance matrix to be a diagonal matrix.

Description

[Parameters, Covariance, Resid, Info] = ecmlsrmle(Data, Design, MaxIterations, TolParam, TolObj, Param0, Covar0, CovarFormat) estimates a least-squares regression model with missing data. The model has the form

DatakN(Designk×Parameters,Covariance)

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

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

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

To summarize the outputs of ecmlsrmle:

  • Parameters is a NUMPARAMS-by-1 column vector of estimates for the parameters of the regression model.

  • Covariance is a NUMSERIES-by-NUMSERIES matrix of estimates for the covariance of the regression model's residuals. For least-squares models, this estimate may not be a maximum likelihood estimate except under special circumstances.

  • Resid is a NUMSAMPLES-by-NUMSERIES matrix of residuals from the regression.

Another output, Info, is a structure that contains additional information from the regression. The structure has these fields:

  • Info.Obj – A variable-extent column vector, with no more than MaxIterations elements, that contains 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 least-squares, the objective function is the least-squares objective function.

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

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

Notes

If doing covariance-weighted least-squares, Covar0 should usually be a diagonal matrix. Series with greater influence should have smaller diagonal elements in Covar0 and series with lesser influence should have larger diagonal elements. Note that if doing CWLS, Covar0 need not be a diagonal matrix even if CovarFormat = 'diagonal'.

You can configure Design as a matrix if NUMSERIES = 1 or as a cell array if NUMSERIES  1.

  • If Design is a cell array and NUMSERIES = 1, each cell contains a NUMPARAMS row vector.

  • If Design is a cell array and NUMSERIES > 1, each cell contains a NUMSERIES-by-NUMPARAMS matrix.

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.

  • ecmlsrmle is more strict than mvnrmle about the presence of NaN values in the Design array.

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

References

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

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

Joe Sexton and Anders Rygh Swensen, "ECM Algorithms that Converge at the Rate of EM," Biometrika, Vol. 87, No. 3, 2000, pp. 651-662.

A. P. Dempster, N.M. Laird, and D. B. Rubin, "Maximum Likelihood from Incomplete Data via the EM Algorithm," Journal of the Royal Statistical Society, Series B, Vol. 39, No. 1, 1977, pp. 1-37.

Was this topic helpful?