arx

Оцените параметры модели ARX или AR с помощью наименьших квадратов

Синтаксис

sys = arx(data,[na nb nk])
sys = arx(data,[na nb nk],Name,Value)
sys = arx(data,[na nb nk],___,opt)

Описание

Примечание

arx не поддерживает непрерывно-разовые оценки. Используйте tfest вместо этого.

sys = arx(data,[na nb nk]) возвращает модель полинома структуры ARX, sys, с предполагаемыми параметрами и ковариациями (неуверенность параметра) использование метода наименьших квадратов и задал orders.

sys = arx(data,[na nb nk],Name,Value) оценивает полиномиальную модель с дополнительными опциями, заданными одним или несколькими аргументами пары Name,Value.

sys = arx(data,[na nb nk],___,opt) задает опции оценки, которые конфигурируют цель оценки, начальные условия и обрабатывают смещения данных о вводе/выводе.

Входные параметры

data

Данные об оценке.

Задайте data как объект iddata, объект frd или объект данных частотной характеристики idfrd.

[na nb nk]

Полиномиальные порядки.

[na nb nk] задает полиномиальные порядки модели ARX.

  • нет данных Порядок полиномиального A (q).

    Задайте na как Ny-by-Ny матрица неотрицательных целых чисел. Ny является количеством выходных параметров.

  • nb — Порядок полиномиального B (q) + 1.

    nb является Ny-by-Nu матрица неотрицательных целых чисел. Ny является количеством выходных параметров, и Nu является количеством входных параметров.

  • nk — Задержка ввода - вывода, выраженная как зафиксированные начальные нули полинома B.

    Задайте nk как Ny-by-Nu матрица неотрицательных целых чисел. Ny является количеством выходных параметров, и Nu является количеством входных параметров.

opt

Опции оценки.

opt является набором опций, который задает опции оценки, включая:

  • смещения данных о вводе/выводе

  • выведите вес

Используйте arxOptions, чтобы создать набор опций.

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

'InputDelay'

Введите задержки. InputDelay является числовым вектором, задающим задержку каждого входного канала. Задайте входные задержки целочисленных множителей шага расчета Ts. Например, InputDelay = 3 означает задержку трех периодов выборки.

Для системы с входными параметрами Nu, набор InputDelay к Nu-by-1 вектор, где каждая запись является численным значением, представляющим входную задержку соответствующего входного канала. Можно также установить InputDelay на скалярное значение применять ту же задержку со всеми каналами.

Значение по умолчанию: 0 для всех входных каналов

'IODelay'

Транспортные задержки. IODelay является числовым массивом, задающим отдельную транспортную задержку каждой пары ввода/вывода.

Задайте транспортные задержки как целые числа, обозначающие задержку кратного шагу расчета, Ts.

Для системы MIMO с Ny выходные параметры и входные параметры Nu, набор IODelay к Ny-by-Nu массив, где каждая запись является численным значением, представляющим транспортную задержку соответствующей пары ввода/вывода. Можно также установить IODelay на скалярное значение применять ту же задержку со всеми парами ввода/вывода. Полезный как замена для порядка nk, можно факторизовать задержки max(nk-1,0) как значение IODelay.

Значение по умолчанию: 0 для всех пар ввода/вывода

'IntegrateNoise'

Задайте интеграторы в шумовых каналах.

Добавление интегратора создает модель ARIX, представленную:

A(q)y(t)=B(q)u(tnk)+11q1e(t)

где,11q1 интегратор в шумовом канале, e (t).

IntegrateNoise является логическим вектором длины Ny, где Ny является количеством выходных параметров.

Значение по умолчанию: false(Ny,1), где Ny является количеством выходных параметров

Выходные аргументы

sys

Модель ARX, которая соответствует данным об оценке, возвратилась как объект idpoly дискретного времени. Эта модель создается с помощью заданных порядков модели, задержек и опций оценки.

Информация о результатах оценки и используемых опциях хранится в свойстве Report модели. Report имеет следующие поля:

Сообщите о полеОписание
Status

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

Method

Команда оценки используется.

InitialCondition

Обработка начальных условий во время образцовой оценки, возвращенной как одно из следующих значений:

  • 'zero' — Начальные условия были обнулены.

  • 'estimate' — Начальные условия были обработаны как независимые параметры оценки.

Это поле особенно полезно, чтобы просмотреть, как начальные условия были обработаны, когда опцией InitialCondition в наборе опции оценки является 'auto'.

Fit

Количественная оценка оценки, возвращенной как структура. Смотрите Функцию потерь и Образцовые Метрики качества для получения дополнительной информации об этих метриках качества. Структура имеет следующие поля:

Поле Описание
FitPercent

Мера по нормированной среднеквадратической ошибке (NRMSE) того, как хорошо ответ модели соответствует данным об оценке, выраженным как процент.

LossFcn

Значение функции потерь, когда оценка завершается.

MSE

Мера по среднеквадратической ошибке (MSE) того, как хорошо ответ модели соответствует данным об оценке.

FPE

Итоговая ошибка прогноза для модели.

AIC

Необработанная мера по Критериям информации о Akaike (AIC) образцового качества.

AICc

Маленький объем выборки исправил AIC.

nAIC

Нормированный AIC.

BIC

Байесовы информационные критерии (BIC).

Parameters

Ориентировочные стоимости параметров модели.

OptionsUsed

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

RandState

Состояние потока случайных чисел в начале оценки. Пустой, [], если рандомизация не использовалась во время оценки. Для получения дополнительной информации смотрите rng в документации MATLAB®.

DataUsed

Атрибуты данных используются для оценки, возвращенной как структура со следующими полями:

Поле Описание
Name

Имя набора данных.

Type

Тип данных.

Length

Количество выборок данных.

Ts

'SampleTime' .

InterSample

Введите междемонстрационное поведение, возвращенное как одно из следующих значений:

  • 'zoh' — Нулевой порядок содержит, поддерживает кусочно-постоянный входной сигнал между выборками.

  • 'foh' — Хранение первого порядка поддерживает кусочно-линейный входной сигнал между выборками.

  • 'bl' — Ограниченное полосой поведение указывает, что непрерывно-разовый входной сигнал имеет нулевую силу выше частоты Найквиста.

InputOffset

Сместите удаленный из входных данных временного интервала во время оценки. Для нелинейных моделей это - [].

OutputOffset

Сместите удаленный из выходных данных временного интервала во время оценки. Для нелинейных моделей это - [].

Для получения дополнительной информации об использовании Report см. Отчет Оценки.

Примеры

свернуть все

Сгенерируйте входные данные на основе заданной модели ARX, и затем используйте эти данные, чтобы оценить модель ARX.

A = [1  -1.5  0.7];
B = [0 1 0.5];
m0 = idpoly(A,B);
u = iddata([],idinput(300,'rbs'));
e = iddata([],randn(300,1));
y = sim(m0,[u e]);
z = [y,u];
m = arx(z,[2 2 1]);

Используйте arxRegul, чтобы автоматически определить константы регуляризации и использовать значения для оценки модели FIR порядка 50.

Получите значения R и L.

load regularizationExampleData eData;
orders = [0 50 0];
[L,R] = arxRegul(eData,orders);

По умолчанию ядро TC используется.

Используйте возвращенный Lambda и значения R для упорядоченной оценки модели ARX.

opt = arxOptions;
opt.Regularization.Lambda = L;
opt.Regularization.R = R;
model = arx(eData,orders,opt);

Больше о

свернуть все

Структура ARX

Структура модели ARX:

y(t)+a1y(t1)+...+anay(tna)=b1u(tnk)+...+bnbu(tnbnk+1)+e(t)

Параметры na и nb являются порядками модели ARX и nk, являются задержкой.

  • y(t)— Выведите во время t.

  • na — Количество полюсов.

  • nb — Количество обнуляет плюс 1.

  • nk — Количество входных выборок, которые происходят перед входом, влияет на вывод, также названный потерей времени в системе.

  • y(t1)y(tna) — Предыдущие выходные параметры, от которых зависит текущая производительность.

  • u(tnk)u(tnknb+1) — Предыдущие и задержанные входные параметры, от которых зависит текущая производительность.

  • e(t) — Бело-шумовое значение воздействия.

Более компактный способ записать разностное уравнение

A(q)y(t)=B(q)u(tnk)+e(t)

q является оператором задержки. А именно,

A(q)=1+a1q1++anaqna

B(q)=b1+b2q1++bnbqnb+1

Модели временных рядов

Для данных timeseries, которые не содержат входных параметров, одного вывода и orders = na, модель имеет структуру AR порядка na.

Структура модели AR

A(q)y(t)=e(t)

Несколько входных параметров и моделей Одно Вывода

Для нескольких - входные системы, nb и nk являются векторами - строками, где i th элемент соответствует порядку и задержке, сопоставленной с i th вход.

y(t)+A1y(t1)+A2y(t2)++Anay(tna)=          B0u(t)+B1u(t1)++Bnbu(tnb)+e(t)

Мультивыведите модели

Для моделей с несколькими входными параметрами и несколькими выходными параметрами, na, nb и nk содержат одну строку для каждого выходного сигнала.

В нескольких - выходной случай, arx минимизирует трассировку ошибочной ковариационной матрицы прогноза или норму

t=1NeT(t)e(t)

Преобразовать это к произвольной квадратичной норме с помощью взвешивающего матричного Lambda

t=1NeT(t)Λ1e(t)

используйте синтаксис

opt = arxOptions('OutputWeight',inv(lambda))
m = arx(data,orders,opt)

Оценка начальных условий

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

Для данных частотного диапазона может быть необходимо настроить данные начальными условиями та круговая свертка поддержки.

Установите опцию оценки InitialCondition (см. arxOptions) к одному следующие значения:

  • 'zero' — Никакая корректировка.

  • 'estimate' — Выполните корректировку данных начальными условиями та круговая свертка поддержки.

  • 'auto' Автоматически выберите между 'zero' и 'estimate' на основе данных.

Алгоритмы

QR-факторизация решает сверхрешительный набор линейных уравнений, которые составляют проблему оценки наименьших квадратов.

Без регуляризации вектор параметров модели ARX θ оценивается путем решения нормального уравнения:

(JTJ)θ=JTy

где J является матрицей регрессора, и y является измеренный вывод. Поэтому

θ=(JTJ)1JTy.

Используя регуляризацию добавляет срок регуляризации:

θ=(JTJ+λR)1JTy

где, λ и R являются константами регуляризации. Смотрите arxOptions для получения дополнительной информации о константах регуляризации.

Когда матрица регрессии больше, чем MaxSize, заданный в arxOptions, данные сегментируются, и QR-факторизация выполняется итеративно на этих сегментах данных.

Представлено до R2006a