Main Content


Reconstruct missing input and output data


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


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.


collapse all

Load data with missing data points.


missing_data is an iddata object containing input-output data.

Plot the 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.


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.


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