misdata

Reconstruct missing input and output data

Syntax

Datae = misdata(Data)
Datae = misdata(Data,Model)
Datae = misdata(Data,MaxIterations,Tol)

Description

Datae = misdata(Data) reconstructs missing input and output data. Data is time-domain input-output data in the iddata object format. Missing data samples (both in inputs and in outputs) are entered as NaNs. Datae is an iddata object where the missing data has been replaced by reasonable estimates.

Datae = misdata(Data,Model) specifies a model used for the reconstruction of missing data. Model is any linear identified model (idtf, idproc, idgrey, idpoly, idss). If no suitable model is known, it is estimated in an iterative fashion using default order state-space models.

Datae = misdata(Data,MaxIterations,Tol) specifies maximum number of iterations and tolerance. MaxIterations is the maximum number of iterations carried out (the default is 10). The iterations are terminated when the difference between two consecutive data estimates differs by less than Tol%. The default value of Tol is 1.

Examples

collapse all

Load data with missing data points.

load('missing_data.mat')

missing_data is an iddata object containing input-output data.

Plot the data.

plot(missing_data)

The output data contains missing data between indices 10 and 100.

To reconstruct missing data using a specified model, estimate the model using measured data that has no missing samples. In this example, estimate a transfer function model with 2 poles.

data2 = missing_data(101:end);
model = tfest(data2,2);

Reconstruct the missing data.

datae = misdata(missing_data,model);

Plot the original and reconstructed data.

plot(missing_data,'b',datae,'--r')

If you do not specify a model for reconstructing the data, the software alternates between estimating missing data and estimating models, based on the current data reconstruction.

Algorithms

For a given model, the missing data is estimated as parameters so as to minimize the output prediction errors obtained from the reconstructed data. See Section 14.2 in Ljung (1999). Treating missing outputs as parameters is not the best approach from a statistical point of view, but is a good approximation in many cases.

When no model is given, the algorithm alternates between estimating missing data and estimating models, based on the current reconstruction.

See Also

| | |

Introduced before R2006a