После оценки модели Гаммерштейна-Винера для вашей системы можно подтвердить, воспроизводит ли она поведение системы в приемлемых границах. Рекомендуется, чтобы вы использовали отдельные наборы данных для оценки и валидации вашей модели. Если валидация указывает на низкое доверие оценки, то смотрите Поиск и устранение проблем с оценкой модели для следующих шагов. Общие сведения о проверке моделей см. в разделе Валидация модели.
Постройте график выхода моделируемой модели и измеренных выходных данных для сравнения и вычислите значения наилучшей подгонки. В командной строке используйте compare
команда. Вы также можете использовать sim
для симуляции отклика модели. Обратите внимание, что для моделей Гаммерштейна-Винера моделируемый и предсказанный выход модели эквивалентны, потому что эти модели имеют тривиальную шумовую составляющую, то есть аддитивное нарушение порядка в этих моделях является белым шумом. Для получения информации о графическом изображении моделируемого выхода в приложении, смотрите Симуляция и Предсказание в Приложении.
Отчет об оценке, который генерируется после оценки модели, перечисляет причину, по которой программное обеспечение завершило оценку. Например, предположим, что отчет указывает, что оценка достигла максимального количества итераций. Можно попробовать повторить оценку, задав большее значение для максимального количества итераций. Для получения информации о том, как сконфигурировать максимальное количество итераций и других опций оценки, смотрите Задайте Алгоритм Оценки.
Чтобы просмотреть отчет об оценке в приложении, после завершения оценки модели просмотрите Estimation Report область вкладки Estimate. В командной строке используйте M.Report.Termination
отображение условий завершения оценки, где M
- предполагаемая модель Гаммерштейна-Винера. Для примера проверьте M.Report.Termination.WhyStop
поле, которое описывает, почему оценка была остановлена.
Для получения дополнительной информации об отчете по оценке смотрите Отчет по оценке.
Можно сравнить эффективность нескольких оценочных моделей путем сравнения значений окончательной ошибки предсказания и функции потерь, которые показаны в отчете оценки.
Чтобы просмотреть эти значения для предполагаемой модели M
в командной строке используйте M.Report.Fit.FPE
(окончательная ошибка предсказания) и M.Report.Fit.LossFcn
(значение функции потерь при завершении оценки) свойства. Меньшие значения обычно указывают на лучшую эффективность. Однако M.Report.Fit.FPE
значения могут быть ненадежными, когда модель содержит много параметров относительно размера данных оценки. Используйте эти индикаторы с другими методами валидации, чтобы сделать надежные выводы.
Невязки - эти различия между выходом модели и измеренным выходом. Таким образом, невязки представляют фрагменты выхода, не объясненные моделью. Можно анализировать невязки с помощью таких методов, как тест белизны и тест независимости. Для получения дополнительной информации об этих тестах см. «Что такое остаточный анализ»?
В командной строке используйте resid
для вычисления, построения и анализа невязок. Чтобы построить графики невязок в приложении, смотрите Как построить невязки в Приложении.
График Гаммерштейна-Винера отображает статические входные и выходные нелинейности и линейные отклики модели Гаммерштейна-Винера.
Изучение графика Гаммерштейна-Винера может помочь вам определить, выбрали ли вы сложную нелинейность для моделирования вашей системы. Например, предположим, что вы используете кусочно-линейную входную нелинейность для оценки вашей модели, но график указывает на поведение насыщения. Можно оценить новую модель, используя вместо этого более простую нелинейность насыщения. Для многомерных систем можно использовать график Гаммерштейна-Винера, чтобы определить, исключить ли нелинейности для конкретных каналов. Если нелинейность для определенного входного или выходного канала не показывает сильного нелинейного поведения, можно оценить новую модель после установки нелинейности в этом канале на единичное усиление.
Вы можете сгенерировать эти графики в приложении System Identification и в командной строке. В окне plot можно просмотреть нелинейности и линейные отклики, щелкнув один из трех блоков, которые представляют модель:
uNL (входная нелинейность) - щелкните этот блок, чтобы просмотреть статическую нелинейность на входе в Linear Block
. График отображений evaluate(M.InputNonlinearity,u)
где M
является моделью Гаммерштейна-Винера, и u
является входом во входной блок нелинейности. Для получения информации о блоках смотрите Структуру моделей Гаммерштейна-Винера.
Linear Block
- Щелкните этот блок, чтобы просмотреть графики отклика Шаг, импульс, Бод и ноль полюсов встроенной линейной модели (M.LinearModel
). По умолчанию отображается шаговый график линейной модели.
yNL (выходная нелинейность) - щелкните этот блок, чтобы просмотреть статическую нелинейность на выходе Linear Block
. График отображений evaluate(M.OutputNonlinearity,x)
, где x
- выход линейного блока.
Чтобы создать график Гаммерштейна-Винера в приложении Системы идентификации, после оценки модели установите флажок Hamm-Wiener в области Model Views. Общие сведения о создании и работе с графиками в приложении см. в разделе Работа с графиками.
В командной строке, после того, как вы оценили модель Гаммерштейна-Винера M
, можно получить доступ к объектам, представляющим входную и выходную оценки нелинейности, используя M.InputNonlinearity
и M.OutputNonlinearity
.
Использовать plot
чтобы просмотреть форму нелинейностей и свойства линейного блока.
plot(M)
Вы можете использовать дополнительные plot
аргументы для указания следующей информации:
Включите на график несколько моделей Гаммерштейна-Винера.
Сконфигурируйте, как вычислить нелинейность в каждом входном и выходном канале.
Задайте значения времени или частоты для вычисления графиков переходных процессов и частотной характеристики линейного блока.
Чтобы сконфигурировать графики нелинейных блоков:
В окне Hammerstein-Wiener Model Plot выберите нелинейный блок, который необходимо построить.
Чтобы построить график отклика входной функции нелинейности, щелкните блок uNL.
Чтобы построить график отклика выходной функции нелинейности, щелкните блок yNL.
Выбранный блок подсвечивается зеленым цветом.
Примечание
Вход в выходной блок нелинейности yNL является выходом от Линейного Блока, а не измеренными входными данными.
Если ваша модель содержит несколько входов или выходов, выберите канал в списке Select nonlinearity at channel. Выбор канала обновляет график и отображает значения нелинейности от соответствующего входа в этот нелинейный блок.
Измените область значений горизонтальной оси графика. Эта функция доступна только для графиков, сгенерированных в приложении System Identification.
В окне plot выберите Options > Set input range, чтобы открыть диалоговое окно Range for Input to Nonlinearity. Эта функция доступна только в приложении System Identification.
Введите область значений с помощью формата [MinValue MaxValue]
. Нажмите Apply, а затем Close, чтобы обновить график.
Чтобы сконфигурировать линейный блок графика отклика:
В окне Hammerstein-Wiener Model Plot нажмите Linear Block
.
Выберите пару входных и выходных данных, для которой необходимо просмотреть ответ в списке Select I/O pair.
Выберите тип линейного графика отклика. В списке Choose plot type выберите один из следующих опций:
Step
Impulse
Bode
Pole-Zero Map
Установите временной интервал для графика шага или импульсной характеристики. Эта функция доступна только для графиков, сгенерированных в приложении System Identification.
В окне графика выберите Options > Time span. В диалоговом окне Временная область значений задайте временной промежуток в модулях времени, заданных для модели. Для временного интервала T полученный ответ строится из -T/4 в T. Нажмите Apply и затем Close.
Установите область значений частоты для Диаграммы Боде. Эта функция доступна только для графиков, сгенерированных в приложении.
Вектор частоты по умолчанию является 128 линейно распределенными значениями, большими нуля и меньшими или равными частоте Найквиста. Чтобы изменить область значений, выберите Options > Frequency range. В диалоговом окне Frequency Range задайте новый вектор частоты в модулях рад на модель временных модулей одним из следующих методов:
MATLAB® выражение, такое как (1:100)*pi/100
или logspace(-3,-1,200)
. Выражение не может содержать переменные в рабочем пространстве MATLAB.
Вектор-строка значений, таких как (1:0.1:100)
.
Нажмите Apply, а затем Close.