主要内容

处理缺失数据和异常值

处理缺失数据

数据采集失败有时会导致错过了测量输入和输出信号。当你使用MATLAB进口含有缺失值的数据®导入向导时,这些值将自动设置作为一个标记为不存在或未定义的数据。当你绘制数据包含缺失值的时间曲线图,缺口出现在缺失数据存在的情节。

您可以使用错误数据估计缺失值。这个命令线性插入缺失值估计第一个模型。然后,它使用这个模型来估计缺失的数据作为参数通过最小化输出预测误差从重建获得的数据。您可以指定您想要使用的模型结构错误数据参数或估计一个默认顺序模型使用n4sid方法。有关更多信息,请参见错误数据参考页面。

请注意

你只能使用错误数据在时域数据存储在一个iddata对象。关于创造的更多信息iddata对象,看到使用iddata对象代表时间和频域的数据

例如,假设yu输出和输入信号,包含吗年代。该数据采样0.2年代,以下语法创建一个新的iddata对象与这些输入和输出信号。

dat = iddata (y, u, 0.2) % y和u包含nan %代表缺失的数据

应用错误数据命令到新的数据对象。例如:

dat1 =错误数据(dat);dat1情节(dat) %检查缺失的数据如何%估计时间曲线图

处理离群值

故障会产生错误的测量值,调用离群值。这些异常值可能被测量引起的信号峰值或故障。如果你不从你的数据删除离群值,这可以影响估计模型。

识别异常值的存在,执行以下任务:

  • 估计模型之前,情节上的数据一次情节和识别值出现的范围。

  • 估计模型后,画出残差和识别异常大的值。关于策划残差的更多信息,请参阅主题上残留分析页面。评估负责大残差的原始数据。例如,对于模型模型和验证数据数据,您可以使用以下命令残差图:

%计算残差E =渣油(数据、模型)%情节残差图(E)

接下来,尝试这些技术消除或减少离群值的影响:

  • 提取有用的数据部分片段并将它们合并到一个multiexperiment数据集(见提取和模型特定的数据段)。关于选择和提取数据段的更多信息,参见选择的数据子集

    提示

    输入的数据段必须始终令人兴奋的系统。分割成有意义的部分数据的稳态数据结果最小信息损失。避免数据段太小了。

  • 手动异常值替换为然后使用错误数据命令来重建标记数据。这种方法对异常值缺失的数据和描述处理缺失数据。使用这种方法当你的数据包含多个输入和输出,当你有困难在所有变量找到可靠的数据段。

  • 删除离群值通过前置过滤高频的数据内容,因为离群值经常由于突然的变化。关于过滤的更多信息,请参阅过滤数据

请注意

估计算法可以处理异常值的分配较小的重量的异常数据。一个健壮的误差准则适用于一个二次小错误惩罚和温和的预测错误,并是线性的大型预测错误。因为离群值产生大的预测错误,这种方法给出了一个较小的重量对应的数据点在模型估计。设置ErrorThreshold估计选项(见Advanced.ErrorThreshold例如,在polyestOptions)一个非零值激活修正异常值的估计算法。

另请参阅

学习更多的关于处理缺失数据和异常值的理论,在预处理数据看到这一章为用户系统标识:理论第二版,Lennart Ljung,普伦蒂斯霍尔PTR, 1999。