Валидация нелинейных моделей ARX

После оценки нелинейной модели ARX для вашей системы можно подтвердить, воспроизводит ли она поведение системы в допустимых границах. Можно проверить модель различными способами. Рекомендуется, чтобы вы использовали отдельные наборы данных для оценки и валидации вашей модели. Если валидация указывает на низкое доверие оценки, то смотрите Поиск и устранение проблем с оценкой модели для следующих шагов. Общие сведения о проверке моделей см. в разделе Валидация модели.

Сравнение выходов модели с измеренными выходами

Постройте график моделируемых или предсказанных выходов модели и измеренных выходов данных для сравнения и вычислите лучшие значения подгонки. В командной строке используйте compare команда. Вы также можете использовать sim и predict чтобы симулировать и предсказать реакцию модели. Для получения информации о графическом изображении моделируемого и предсказанного выхода в приложении, смотрите Симуляция и Предсказание в Приложении.

Проверяйте итерационные условия окончания поиска

Отчет об оценке, который генерируется после оценки модели, перечисляет причину, по которой программное обеспечение завершило оценку. Например, предположим, что отчет указывает, что оценка достигла максимального количества итераций. Можно попробовать повторить оценку, задав большее значение для максимального количества итераций. Для получения информации о том, как сконфигурировать максимальное количество итераций и других опций оценки, смотрите Задать опции оценки для нелинейных моделей ARX.

Чтобы просмотреть отчет об оценке в приложении, после завершения оценки модели просмотрите Estimation Report область вкладки Estimate. В командной строке используйте M.Report.Termination отображение условий завершения оценки, где M - предполагаемая нелинейная модель ARX. Для примера проверьте M.Report.Termination.WhyStop поле, которое описывает, почему оценка была остановлена.

Для получения дополнительной информации об отчете по оценке смотрите Отчет по оценке.

Проверяйте значения окончательных ошибок предсказания и функций потерь

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

Чтобы просмотреть эти значения для предполагаемой модели M в командной строке используйте M.Report.Fit.FPE (окончательная ошибка предсказания) и M.Report.Fit.LossFcn (значение функции потерь при завершении оценки) свойства. Меньшие значения обычно указывают на лучшую эффективность. Однако M.Report.Fit.FPE значения могут быть ненадежными, когда модель содержит много параметров относительно размера данных оценки. Используйте эти индикаторы с другими методами валидации, чтобы сделать надежные выводы.

Выполните остаточный анализ

Невязки - эти различия между выходом модели и измеренным выходом. Таким образом, невязки представляют фрагменты выхода, не объясненные моделью. Можно анализировать невязки с помощью таких методов, как тест белизны и тест независимости. Для получения дополнительной информации об этих тестах см. «Что такое остаточный анализ?».

В командной строке используйте resid для вычисления, построения и анализа невязок. Чтобы построить графики невязок в приложении, смотрите Как построить невязки в Приложении.

Исследуйте нелинейные графики ARX

Нелинейный график ARX отображает вычисленную нелинейность модели для выбранной модели выхода как функцию одного или двух регрессоров модели. Для модели M, нелинейность модели (M.Nonlinearity) является функцией оценки нелинейности, такой как wavenet, sigmoidnet, или treepartition, который использует регрессоры модели в качестве входных входов.

Чтобы понять, что построено, предположим, что {r1,r2,…,rN} являются ли N регрессоры, используемые нелинейной моделью ARX M с нелинейностью nl соответствующий выходу модели. Можно использовать getreg(M) чтобы просмотреть эти регрессоры. Выражение Nonlin = evaluate(nl,[v1,v2,...,vN]) возвращает выходы модели для заданных значений этих регрессоров, то есть r1 = v1, r2 = v2..., rN = vN. Для графического изображения нелинейностей выберите одну или две из N регрессоры, например rsub = {r1,r4}. Программное обеспечение изменяет значения этих регрессоров в заданную область, фиксируя значение остальных регрессоров и генерирует график Nonlin против rsub. По умолчанию программа устанавливает значения остальных фиксированных регрессоров в их оценочные средства, но можно изменить эти значения. Средства регрессора хранятся в Nonlinearity.Parameters.RegressorMean свойство модели.

Изучение нелинейного графика ARX может помочь вам получить представление о том, какие регрессоры оказывают самый сильный эффект на выход модели. Понимание относительной важности регрессоров на выходе может помочь вам решить, какие регрессоры включить в нелинейную функцию для этого вывода. Если форма графика выглядит как плоскость для всех выбранных значений регрессора, то модель, вероятно, линейна в этих регрессорах. В этом случае можно удалить соответствующие регрессоры из нелинейного блока и повторить оценку.

Кроме того, можно создать несколько нелинейных моделей для тех же данных с помощью различных оценок нелинейности, таких как wavenet сети и treepartition, и затем сравните нелинейные поверхности этих моделей. Согласие между графиками для различных моделей повышает доверие в том, что эти нелинейные модели захватывают истинную динамику системы.

Создание нелинейного графика ARX

Чтобы создать нелинейный график ARX в приложении System Identification, установите флажок Nonlinear ARX в области Model Views. Чтобы включить или исключить модель на графике, щелкните соответствующий значок модели в приложении. Общую информацию о создании и работе с графиками в приложении см. в разделе Работа с графиками.

В командной строке, после оценки нелинейной модели ARX M, использование plot для просмотра формы нелинейности.

plot(M)

Вы можете использовать дополнительные plot аргументы для указания следующей информации:

  • Включите на график несколько нелинейных моделей ARX.

  • Сконфигурируйте значения регрессора для вычисления значений нелинейности.

Конфигурирование нелинейного графика ARX

Чтобы сконфигурировать нелинейный график ARX:

  1. Выберите канал выхода в раскрывающемся списке Select nonlinearity at output. Отображаются значения нелинейности, которые соответствуют выбранному выходному каналу.

  2. Выберите Regressor 1 из списка доступных регрессоров. В поле Range введите область значений значений, которые будут включены на график для этого регрессора. Значения регрессора нанесены на Reg1 ось графика.

    Если опции выбора регрессора не видны, щелкните, чтобы развернуть окно Нелинейная модель ARX Plot.

  3. Задайте Regressor 2 как одну из следующих опций:

    • Чтобы отобразить три оси на графике, выберите Regressor 2. В поле Range введите область значений значений, которые будут включены на график для этого регрессора. Значения регрессора нанесены на Reg2 ось графика.

    • Чтобы отобразить только две оси, выберите <none> в списке Regressor 2.

  4. Исправьте значения регрессоров, которые не отображаются, нажав Fix Values. В диалоговом окне «Исправить значения регрессора» дважды щелкните по Value камеры, чтобы отредактировать постоянное значение соответствующего регрессора. Значения по умолчанию определяются во время оценки модели. Нажмите OK.

Если вы генерируете нелинейный график ARX в приложении, можно выполнить следующие дополнительные задачи:

ДействиеПроцедура
Измените интервал сетки регрессоров вдоль каждой оси.

В окне plot выберите Options > Set number of samples и введите количество выборок, которые будут использоваться для каждого регрессора. Нажмите Apply, а затем Close.

Для примера, если количество выборок составляет 20, каждая переменная регрессора содержит 20 точек в своей заданной области. Для 3-D графиков это приводит к оценке нелинейности в 20 x 20 = 400 точках.

Измените пределы по осям.

Выберите Options > Set axis limits, чтобы открыть диалоговое окно Пределов по осям и отредактировать пределы. Нажмите Apply.

Скрыть или показать легенду графика.Выберите Style > Legend. Еще раз выберите эту опцию, чтобы отобразить легенду.

Вращайте в трёх размерностях.

Примечание

Доступно только при выборе двух регрессоров в качестве независимых переменных.

Выберите Style > Rotate 3D и перетащите оси на графике в новую ориентацию. Чтобы отключить трехмерное вращение, выберите Style > Rotate 3D еще раз.

См. также

| | |

Похожие темы