Нелинейные модели ARX расширяют линейную модель ARX к нелинейному случаю. Для получения информации о структуре нелинейных моделей ARX смотрите то, Что Нелинейные Модели ARX?
Можно оценить нелинейные модели ARX в приложении System Identification или в командной строке с помощью команды nlarx
. Чтобы оценить нелинейную модель ARX, вы сначала готовите данные об оценке. Вы затем конфигурируете образцовую структуру и алгоритм оценки, и затем выполняете оценку. После оценки можно подтвердить предполагаемую модель, как описано в, Подтверждают Нелинейные Модели ARX.
Можно использовать однородно выбранные данные ввода - вывода временного интервала или данные timeseries (никакие входные параметры) для оценки нелинейных моделей ARX. Ваши данные могут иметь нуль или более входные каналы и один или несколько выходных каналов. Вы не можете использовать данные частотного диапазона для оценки.
Чтобы подготовить данные к образцовой оценке, импортируйте свои данные в рабочую область MATLAB® и выполните одно из следующих действий:
В приложении System Identification — Импортируют данные в приложение, как описано в Представляют Данные.
В командной строке — Представляют ваши данные как объект iddata
.
После импортирования данных можно анализировать качество данных и предварительно обработать данные путем интерполяции отсутствующих значений, фильтрации, чтобы подчеркнуть определенный частотный диапазон или передискретизации использования различного шага расчета. Для получения дополнительной информации смотрите Способы Подготовка данных для System Identification. Для большинства приложений вы не должны удалять смещения и линейные тренды от данных перед нелинейным моделированием. Однако удаление тренда данных может быть полезным в некоторых случаях, такой как прежде, чем смоделировать отношение между изменением во вводе и выводе о рабочей точке.
После подготовки ваших данных об оценке можно сконфигурировать образцовую структуру, функцию потерь и алгоритм оценки, и затем оценить модель с помощью данных об оценке.
Нелинейная модель ARX состоит из стандартных и пользовательских регрессоров и средства оценки нелинейности. Блок-схема представляет структуру нелинейной модели ARX в сценарии симуляции.
Сконфигурировать структуру нелинейной модели ARX:
Сконфигурируйте образцовые регрессоры.
Выберите стандартные и пользовательские регрессоры на основе своего знания физической системы, которую вы пытаетесь смоделировать.
Задайте стандартные регрессоры одним из следующих способов:
Задайте порядки модели и задержку, чтобы создать набор стандартных регрессоров. Для получения дополнительной информации смотрите Нелинейные Порядки Модели ARX и Задержку.
Инициализируйте использование линейной модели ARX. Можно выполнить эту операцию в командной строке только. Инициализация конфигурирует нелинейную модель ARX, чтобы использовать стандартные регрессоры линейной модели. Для получения дополнительной информации смотрите, Инициализируют Нелинейную Оценку ARX Используя Линейную Модель.
Задайте пользовательские регрессоры. Пользовательские регрессоры являются произвольными функциями прошлых вводов и выводов, такими как продукты, степени и другие выражения MATLAB переменных ввода и вывода. Задайте пользовательские регрессоры в дополнение к, или вместо, стандартные регрессоры для большей гибкости в моделировании ваших данных.
Включайте только подмножество стандартных и пользовательских регрессоров как входные параметры к нелинейной функции нелинейного блока средства оценки. Только включая подмножество регрессоров может помочь уменьшать сложность модели и сохранить оценку хорошо подготовленной.
Выбор подмножества использовать может потребовать нескольких испытаний. Можно исследовать нелинейный график ARX помочь вам получить сведения, какие регрессоры имеют самый сильный эффект на образцовый вывод. Понимание относительной важности регрессоров на выводе может затем помочь вам решить который регрессоры включать в нелинейную функцию.
Сконфигурируйте блок средства оценки нелинейности.
Задайте и сконфигурируйте средство оценки нелинейности, F (x).
Здесь, x является вектором регрессоров, и r является средним значением регрессоров x. вывод блока линейной функции и является аффинным когда d ≠ 0. d является скалярным смещением. представляет вывод нелинейного функционального блока. Q является матрицей проекции, которая делает вычисления хорошо подготовленными. Точная форма F (x) зависит от вашего выбора средства оценки нелинейности. Нелинейность по умолчанию является сетью вейвлета. Для получения информации о доступных средствах оценки нелинейности смотрите Доступные Средства оценки Нелинейности для Нелинейных Моделей ARX.
Можно также выполнить одну из следующих задач:
Исключите нелинейную функцию из средства оценки нелинейности, таким образом что F (x) = .
Исключите линейную функцию от средства оценки нелинейности, таким образом что F (x) = .
Вы не можете исключить линейную функцию от древовидных разделов и нейронных сетей.
Для получения информации о том, как сконфигурировать образцовую структуру в командной строке и в приложении, смотрите Оценку Нелинейные Модели 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 (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.