Нелинейные модели 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
— Максимальное количество итераций.
Tolerance
— Условие для завершения итеративного поиска, когда ожидаемое улучшение значений параметров меньше заданного значения.
Чтобы видеть полный список доступных опций оценки, смотрите 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.