## Multivariate Normal Regression Functions

Financial Toolbox™ software has a number of functions for multivariate normal regression with or without missing data. The toolbox functions solve four classes of regression problems with functions to estimate parameters, standard errors, log-likelihood functions, and Fisher information matrices. The four classes of regression problems are:

Additional support functions are also provided, see Support Functions.

In all functions, the MATLAB® representation for the number of observations (or samples) is `NumSamples = `m, the number of data series is `NumSeries = `n, and the number of model parameters is `NumParams = `p. The moment estimation functions have `NumSeries = NumParams`.

The collection of observations (or samples) is stored in a MATLAB matrix `Data` such that

for `k = 1, ..., NumSamples`, where `Data` is a `NumSamples`-by-`NumSeries` matrix.

For the multivariate normal regression or least-squares functions, an additional required input is the collection of design matrices that is stored as either a MATLAB matrix or a vector of cell arrays denoted as `Design`.

If `Numseries = 1`, `Design` can be a `NumSamples`-by-`NumParams` matrix. This is the “standard” form for regression on a single data series.

If `Numseries = 1`, `Design` can be either a cell array with a single cell or a cell array with `NumSamples` cells. Each cell in the cell array contains a `NumSeries`-by-`NumParams `matrix such that

`$\text{Design}\left\{\text{k}\right\}={H}_{k}$`

for` k = 1, ..., NumSamples`. If `Design` has a single cell, it is assumed to be the same `Design` matrix for each sample such that

`$\text{Design}\left\{1\right\}={H}_{1}=\dots ={H}_{m}.$`

Otherwise, `Design` must contain individual design matrices for each sample.

The main distinction among the four classes of regression problems depends upon how missing values are handled and where missing values are represented as the MATLAB value `NaN`. If a sample is to be ignored given any missing values in the sample, the problem is said to be a problem “without missing data.” If a sample is to be ignored if and only if every element of the sample is missing, the problem is said to be a problem “with missing data” since the estimation must account for possible `NaN` values in the data.

In general, `Data` may or may not have missing values and `Design` should have no missing values. In some cases, however, if an observation in `Data` is to be ignored, the corresponding elements in `Design` are also ignored. Consult the function reference pages for details.

### Multivariate Normal Regression Without Missing Data

You can use the following functions for multivariate normal regression without missing data.

 `mvnrmle` Estimate model parameters, residuals, and the residual covariance. `mvnrstd` Estimate standard errors of model and covariance parameters. `mvnrfish` Estimate the Fisher information matrix. `mvnrobj` Calculate the log-likelihood function.

The first two functions are the main estimation functions. The second two are supporting functions that can be used for more detailed analyses.

### Multivariate Normal Regression With Missing Data

You can use the following functions for multivariate normal regression with missing data.

 `ecmmvnrmle` Estimate model parameters, residuals, and the residual covariance. `ecmmvnrstd` Estimate standard errors of model and covariance parameters. `ecmmvnrfish` Estimate the Fisher information matrix. `ecmmvnrobj` Calculate the log-likelihood function.

The first two functions are the main estimation functions. The second two are supporting functions used for more detailed analyses.

### Least-Squares Regression With Missing Data

You can use the following functions for least-squares regression with missing data or for covariance-weighted least-squares regression with a fixed covariance matrix.

 `ecmlsrmle` Estimate model parameters, residuals, and the residual covariance. `ecmlsrobj` Calculate the least-squares objective function (pseudo log-likelihood).

To compute standard errors and estimates for the Fisher information matrix, the multivariate normal regression functions with missing data are used.

 `ecmmvnrstd` Estimate standard errors of model and covariance parameters. `ecmmvnrfish` Estimate the Fisher information matrix.

### Multivariate Normal Parameter Estimation With Missing Data

You can use the following functions to estimate the mean and covariance of multivariate normal data.

 `ecmnmle` Estimate the mean and covariance of the data. `ecmnstd` Estimate standard errors of the mean and covariance of the data. `ecmnfish` Estimate the Fisher information matrix. `ecmnhess` Estimate the Fisher information matrix using the Hessian. `ecmnobj` Calculate the log-likelihood function.

These functions behave slightly differently from the more general regression functions since they solve a specialized problem. Consult the function reference pages for details.

### Support Functions

Two support functions are included.

 `convert2sur` Convert a multivariate normal regression model into an SUR model. `ecmninit` Obtain initial estimates for the mean and covariance of a `Data` matrix.

The `convert2sur` function converts a multivariate normal regression model into a seemingly unrelated regression, or SUR, model. The second function `ecmninit` is a specialized function to obtain initial ad hoc estimates for the mean and covariance of a `Data` matrix with missing data. (If there are no missing values, the estimates are the maximum likelihood estimates for the mean and covariance.)