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

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

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

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

Примечание

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

Например, предположим y и u - выходные и входные сигналы, которые содержат NaNs. Эти данные отбираются в 0.2 s. Следующий синтаксис создает новую 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) к ненулевому значению, чтобы активировать коррекцию для выбросов в алгоритме оценки.

См. также

Чтобы узнать больше о теории обработки недостающих данных и выбросов, смотрите главу о предварительной обработке данных в Систему идентификации: Теория для пользователя, Второе издание, Lennart Ljung, Prentice Hall PTR, 1999.