Идентификация нелинейных моделей 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 — Максимальное количество итераций.

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

Чтобы видеть полный список доступных опций оценки, смотрите 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.

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

Функции

Приложения

Похожие темы