exponenta event banner

Обработка недостающих данных и отклонений

Обработка отсутствующих данных

Сбои сбора данных иногда приводят к отсутствию измерений как во входном, так и в выходном сигналах. При импорте данных, содержащих отсутствующие значения, с помощью мастера импорта MATLAB ® эти значения автоматически устанавливаются вNaN. NaN служит флагом для несуществующих или неопределенных данных. При печати данных на графике времени, содержащем отсутствующие значения, на графике появляются промежутки, на которых отсутствуют данные.

Вы можете использовать misdata для оценки отсутствующих значений. Эта команда линейно интерполирует отсутствующие значения для оценки первой модели. Затем она использует эту модель для оценки отсутствующих данных в качестве параметров путем минимизации выходных ошибок предсказания, полученных из восстановленных данных. Можно указать структуру модели, которую требуется использовать в misdata аргумент или оценка модели порядка по умолчанию с помощью n4sid способ. Дополнительные сведения см. в разделе misdata справочная страница.

Примечание

Можно использовать только misdata по данным временной области, хранящимся в iddata объект. Дополнительные сведения о создании iddata см. раздел Представление данных временной и частотной областей с использованием объектов iddata.

Например, предположим y и u - выходные и входные сигналы, содержащие NaNs. Эти данные отбираются на 0.2 с. Следующий синтаксис создает новый iddata объект с этими входным и выходным сигналами.

dat = iddata(y,u,0.2) % y and u contain NaNs 
                      % representing missing data

Применить misdata к новому объекту данных. Например:

dat1 = misdata(dat);
plot(dat,dat1)        % Check how the missing data
                      % was estimated on a time plot

Обработка отклонений

Сбои могут привести к ошибкам в измеренных значениях, называемых отклонениями. Такие отклонения могут быть вызваны скачками сигнала или сбоями в измерениях. Если не удалить отклонения из данных, это может отрицательно сказаться на расчетных моделях.

Для определения наличия отклонений выполните одну из следующих задач:

  • Перед оценкой модели постройте график данных на графике времени и определите значения, которые выходят за пределы диапазона.

  • После оценки модели постройте график остатков и определите необычно большие значения. Дополнительные сведения о печати остатков см. в разделах на странице «Анализ остатков». Оцените исходные данные, ответственные за большие остатки. Например, для модели Model и данные проверки Dataдля печати остатков можно использовать следующие команды:

% Compute the residuals
  E = resid(Data,Model)
% Plot the residuals
  plot(E)

Затем попробуйте использовать следующие методы для удаления или минимизации влияния отклонений:

  • Извлеките информационные части данных в сегменты и объедините их в один набор данных мультиэксперимента (см. Извлечение и сегмент данных модели). Дополнительные сведения о выборе и извлечении сегментов данных см. в разделе Выбор подмножеств данных.

    Совет

    Входные данные в каждом из сегментов данных должны последовательно захватывать систему. Разделение данных на значимые сегменты для данных в установившемся состоянии приводит к минимальной потере информации. Избегайте слишком малого размера сегментов данных.

  • Замена отклонений вручную на NaNs, а затем используйте misdata для восстановления помеченных данных. Этот подход рассматривает отклонения как отсутствующие данные и описывается в разделе Обработка отсутствующих данных. Этот метод используется, когда данные содержат несколько входов и выходов, а также когда вам трудно найти надежные сегменты данных во всех переменных.

  • Удаление отклонений путем предварительной фильтрации данных для высокочастотного содержимого, поскольку отклонения часто являются результатом резких изменений. Дополнительные сведения о фильтрации см. в разделе Фильтрация данных.

Примечание

Алгоритм оценки может обрабатывать отклонения, назначая меньший вес данным отклонения. Надежный критерий ошибки применяет штраф за ошибку, который является квадратичным для малых и средних ошибок прогнозирования и линейным для больших ошибок прогнозирования. Поскольку отклонения вызывают большие ошибки прогнозирования, этот подход придает меньший вес соответствующим точкам данных во время оценки модели. Установите ErrorThreshold вариант оценки (см. Advanced.ErrorThreshold в, например, polyestOptions) к ненулевому значению, чтобы активировать коррекцию для отклонений в алгоритме оценки.

См. также

Чтобы узнать больше о теории обработки недостающих данных и отклонений, см. главу о предварительной обработке данных в System Identification: Theory for the User, Second Edition, by Lennart Ljung, Prentice Hall PTR, 1999.