Идентификация нелинейных моделей ARX

Нелинейные модели ARX расширяют линейную модель ARX к нелинейному случаю. Для получения информации о структуре нелинейных моделей ARX смотрите то, Что Нелинейные Модели ARX?

Можно оценить нелинейные модели ARX в приложении System Identification или в командной строке с помощью команды nlarx. Чтобы оценить нелинейную модель ARX, вы сначала готовите данные об оценке. Вы затем конфигурируете образцовую структуру и алгоритм оценки, и затем выполняете оценку. После оценки можно подтвердить предполагаемую модель, как описано в, Подтверждают Нелинейные Модели ARX.

Подготовка данных для идентификации

Можно использовать однородно выбранные данные ввода - вывода временного интервала или данные timeseries (никакие входные параметры) для оценки нелинейных моделей ARX. Ваши данные могут иметь нуль или более входные каналы и один или несколько выходных каналов. Вы не можете использовать данные частотного диапазона для оценки.

Чтобы подготовить данные к образцовой оценке, импортируйте свои данные в рабочую область MATLAB® и выполните одно из следующих действий:

  • В приложении System Identification — Импортируют данные в приложение, как описано в Представляют Данные.

  • В командной строке — Представляют ваши данные как объект iddata.

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

После подготовки ваших данных об оценке можно сконфигурировать образцовую структуру, функцию потерь и алгоритм оценки, и затем оценить модель с помощью данных об оценке.

Сконфигурируйте нелинейную структуру модели ARX

Нелинейная модель ARX состоит из стандартных и пользовательских регрессоров и средства оценки нелинейности. Блок-схема представляет структуру нелинейной модели ARX в сценарии симуляции.

Сконфигурировать структуру нелинейной модели ARX:

  1. Сконфигурируйте образцовые регрессоры.

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

    1. Задайте стандартные регрессоры одним из следующих способов:

    2. Задайте пользовательские регрессоры. Пользовательские регрессоры являются произвольными функциями прошлых вводов и выводов, такими как продукты, степени и другие выражения MATLAB переменных ввода и вывода. Задайте пользовательские регрессоры в дополнение к, или вместо, стандартные регрессоры для большей гибкости в моделировании ваших данных.

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

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

  2. Сконфигурируйте блок средства оценки нелинейности.

    Задайте и сконфигурируйте средство оценки нелинейности, F (x).

    F(x)=LT(xr)+d+g(Q(xr))

    Здесь, x является вектором регрессоров, и r является средним значением регрессоров x. LT(x)+d вывод блока линейной функции и является аффинным когда d ≠ 0. d является скалярным смещением. g(Q(xr)) представляет вывод нелинейного функционального блока. Q является матрицей проекции, которая делает вычисления хорошо подготовленными. Точная форма F (x) зависит от вашего выбора средства оценки нелинейности. Нелинейность по умолчанию является сетью вейвлета. Для получения информации о доступных средствах оценки нелинейности смотрите Доступные Средства оценки Нелинейности для Нелинейных Моделей ARX.

    Можно также выполнить одну из следующих задач:

    1. Исключите нелинейную функцию из средства оценки нелинейности, таким образом что F (x) = LT(x)+d.

    2. Исключите линейную функцию от средства оценки нелинейности, таким образом что F (x) = g(Q(xr)).

      Примечание

      Вы не можете исключить линейную функцию от древовидных разделов и нейронных сетей.

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

Задайте опции оценки для нелинейных моделей ARX

Чтобы сконфигурировать образцовую оценку, задайте функцию потерь, которая будет минимизирована и выберет алгоритм оценки и другие опции оценки, чтобы выполнить минимизацию.

Сконфигурируйте функцию потерь

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

В командной строке используйте набор опции nlarx, nlarxOptions, чтобы сконфигурировать вашу функцию потерь. Можно задать следующие опции:

  • Focus — Задает, минимизирована ли ошибка симуляции или прогноза во время оценки параметра. По умолчанию программное обеспечение минимизирует ошибки прогноза с одним шагом, которые соответствуют значению Focus 'prediction'. Если вы хотите модель, которая оптимизирована для репродуцирования поведения симуляции, задайте Focus как 'simulation'. Минимизация ошибки симуляции требует дифференцируемых нелинейных функций и занимает больше времени, чем ошибка прогноза "один шаг вперед" минимизация. Таким образом вы не можете использовать treepartition и нелинейность neuralnet при минимизации ошибки симуляции, потому что эти средства оценки нелинейности не дифференцируемы.

  • OutputWeight — Задает взвешивание ошибки по мультивыходным оценкам.

  • Regularization — Изменяет функцию потерь, чтобы добавить штраф на отклонении предполагаемых параметров. Для получения дополнительной информации смотрите Упорядоченные Оценки Параметров модели.

Задайте алгоритм оценки

Чтобы оценить нелинейную модель ARX, программное обеспечение использует итеративные алгоритмы поиска, чтобы минимизировать ошибку между моделируемым или предсказало образцовый вывод и измеренный вывод. В командной строке используйте nlarxOptions, чтобы задать алгоритм поиска и другие опции оценки. Некоторые опции, которые можно задать:

  • SearchMethod — Метод поиска для минимизации прогноза или ошибок симуляции, таких как Ньютон Гаусса и поиск строки Levenberg-Marquardt и подход Траст-Реджион-Рефлектива Ньютона.

  • SearchOptions — Набор опции для алгоритма поиска, с полями, которые зависят от значения SearchMethod, такого как:

    • 'MaxIterations' Максимальное количество итераций.

    • Допуск Условие для завершения итеративного поиска, когда ожидаемое улучшение значений параметров является меньше, чем заданное значение.

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

После предварительной обработки данных об оценке и конфигурирования образцовой структуры и опций оценки, можно оценить модель в приложении System Identification или использование nlarx в командной строке. Получившаяся модель является объектом idnlarx, который хранит все данные модели, включая образцовые регрессоры и параметры средства оценки нелинейности. Для получения дополнительной информации об этих объектах модели, смотрите Нелинейные Образцовые Структуры. Можно подтвердить предполагаемую модель, как описано в, Подтверждают Нелинейные Модели ARX.

Инициализируйте нелинейную оценку ARX Используя линейную модель

В командной строке можно использовать модель полинома структуры ARX (idpoly только с A и B как активные полиномы) для нелинейной оценки ARX. Чтобы узнать больше, когда использовать линейные модели, смотрите, Когда Соответствовать Нелинейным Моделям.

Как правило, вы создаете линейную модель ARX с помощью команды arx. Можно предоставить линейную модель при построении или оценке нелинейной модели ARX. Например, используйте следующий синтаксис, чтобы оценить нелинейную модель ARX с помощью данных об оценке и линейной модели ARX LinARXModel.

m = nlarx(data,LinARXModel)

Здесь m является объектом idnlarx, и data является объектом iddata временного интервала. Программное обеспечение использует линейную модель для инициализации нелинейной оценки ARX:

  • Присвоение линейных порядков модели ARX и задержек как начальные значения нелинейных порядков модели ARX (свойства na и nb объекта idnlarx) и задержек (свойство nk). Программное обеспечение использует эти порядки и задержки, чтобы вычислить стандартные регрессоры в нелинейной структуре модели ARX.

  • Используя A и полиномы B линейной модели, чтобы вычислить линейную функцию средств оценки нелинейности (параметр LinearCoef объекта средства оценки нелинейности), кроме того, если средство оценки нелинейности является нейронной сетью.

Во время оценки алгоритм оценки использует эти значения, чтобы настроить нелинейную модель к данным.

Примечание

То, когда вы используете те же данные для оценки, нелинейная модель ARX инициализировала использование линейной модели ARX, производит лучшую подгонку к измеренному выводу, чем сама линейная модель ARX.

По умолчанию средство оценки нелинейности является сетью вейвлета (объект wavenet). Можно также задать различные средства оценки нелинейности ввода и вывода. Например, можно задать сигмоидальное сетевое средство оценки нелинейности.

m = nlarx(data,LinARXModel,'sigmoid')

Для примера смотрите Оценку Нелинейные Модели ARX, Инициализированные Используя Линейные Модели ARX.

Смотрите также

Функции

Приложения

Похожие темы