arx

Оцените параметры ARX, ARIX, AR или модели ARI

Описание

пример

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

пример

sys = arx(data,[na nb nk],Name,Value) задает дополнительные опции с помощью одного или нескольких аргументов пары "имя-значение". Например, использование аргумента пары "имя-значение" 'IntegrateNoise',1 оценивает ARIX или модель структуры ARI, которая полезна для систем с неустановившимися воздействиями.

пример

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

пример

[sys,ic] = arx(___) возвращает предполагаемые начальные условия как initialCondition объект. Используйте этот синтаксис, если вы планируете симулировать или предсказать ответ модели с помощью тех же входных данных оценки и затем сравнить ответ с теми же выходными данными оценки. Слияние начальных условий дает к лучшему соответствию во время первой части симуляции.

Примеры

свернуть все

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

Задайте полиномиальную модель sys0 со структурой ARX. Модель включает входную задержку одной выборки, описанной как начальный нуль в B полином.

A = [1  -1.5  0.7];
B = [0 1 0.5];
sys0 = idpoly(A,B);

Сгенерируйте измеренный входной сигнал u это содержит случайный бинарный шум и сигнал ошибки e это содержит нормально распределенный шум. С этими сигналами симулируйте измеренный выходной сигнал y из sys0.

u = iddata([],idinput(300,'rbs'));
e = iddata([],randn(300,1));
y = sim(sys0,[u e]);

Объедините y и u в один iddata объект z. Оцените новую модель ARX с помощью z и те же полиномиальные порядки и вход задерживаются как исходная модель.

z = [y,u];
sys = arx(z,[2 2 1])
sys =
Discrete-time ARX model: A(z)y(t) = B(z)u(t) + e(t)
  A(z) = 1 - 1.524 z^-1 + 0.7134 z^-2              
                                                   
  B(z) = z^-1 + 0.4748 z^-2                        
                                                   
Sample time: 1 seconds
  
Parameterization:
   Polynomial orders:   na=2   nb=2   nk=1
   Number of free coefficients: 4
   Use "polydata", "getpvec", "getcov" for parameters and their uncertainties.

Status:                                          
Estimated using ARX on time domain data "z".     
Fit to estimation data: 81.36% (prediction focus)
FPE: 1.025, MSE: 0.9846                          

Выход отображает полином, содержащий предполагаемые параметры вместе с другими деталями оценки. Под Status, Fit to estimation data показывает, что предполагаемая модель имеет 1 шаг вперед точность предсказания выше 80%.

Оцените модель AR timeseries с помощью arx функция. Модель AR не имеет никакого измеренного входа.

Загрузите данные, которые содержат временные ряды z9 с шумом.

load iddata9 z9

Оцените четвертый порядок модель AR путем определения только na закажите в [na nb nk].

sys = arx(z9,4);

Исследуйте предполагаемое полиномиальные параметры и припадок оценки к данным.

param = sys.Report.Parameters.ParVector
param = 4×1

   -0.7923
   -0.4780
   -0.0921
    0.4698

fit = sys.Report.Fit.FitPercent
fit = 79.4835

Оцените параметры модели ARIX. Модель ARIX является моделью ARX с интегрированным шумом.

Задайте полиномиальную модель sys0 со структурой ARX. Модель включает входную задержку одной выборки, описанной как начальный нуль в B.

A = [1  -1.5  0.7];
B = [0 1 0.5];
sys0 = idpoly(A,B);

Симулируйте выходной сигнал sys0 использование случайного двоичного входа сигнализирует о u и нормально распределенный сигнал ошибки e.

u = iddata([],idinput(300,'rbs'));
e = iddata([],randn(300,1));
y = sim(sys0,[u e]);

Интегрируйте выходной сигнал и сохраните результат yi в iddata объект zi.

yi = iddata(cumsum(y.y),[]);
zi = [yi,u];

Оцените модель ARIX от zi. Установите аргумент пары "имя-значение" 'IntegrateNoise' к true.

sys = arx(zi,[2 2 1],'IntegrateNoise',true);

Предскажите выход модели с помощью предсказания с 5 шагами и сравните результат с yi.

compare(zi,sys,5)

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent zi (y1), sys: 76.25%.

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

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

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

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

opt = arxOptions;
opt.Regularization.Lambda = lambda;
opt.Regularization.R = R;
sys = arx(eData,orders,opt);

Загрузите данные.

load iddata1ic z1i

Оцените модель ARX второго порядка sys и возвратите начальные условия в ic.

na = 2;
nb = 2;
nk = 1;
[sys,ic] = arx(z1i,[na nb nk]);
ic
ic = 
  initialCondition with properties:

     A: [2x2 double]
    X0: [2x1 double]
     C: [0 2]
    Ts: 0.1000

ic initialCondition объект, который инкапсулирует свободный ответ sys, в форме пространства состояний, к вектору начального состояния в X0. Можно включить ic когда вы симулируете sys с z1i входной сигнал и сравнивает ответ с z1i выходной сигнал.

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

свернуть все

Данные об оценке в виде iddata объект, frd Объект (Control System Toolbox) или idfrd объект частотной характеристики. Для AR и моделей timeseries ARI, входного канала в data должно быть пустым.

Полиномиальные порядки и задержки модели в виде 1 3 вектора или вектора из матриц [na nb nk]. Полиномиальный порядок равен количеству коэффициентов, чтобы оценить в том полиноме.

Для AR или модели timeseries ARI, которая не имеет никакого входа, устанавливает [na nb nk] к скалярному na. Для примера см. Модель AR.

Для модели с Ny выходные параметры и входные параметры Nu:

  • na порядок полиномиального A (q) в виде Ny-by-Ny матрица неотрицательных целых чисел.

  • nb порядок полиномиального B (q) + 1 в виде Ny-by-Nu матрица неотрицательных целых чисел.

  • nk задержка ввода - вывода, также известная как транспортную задержку в виде Ny-by-Nu матрица неотрицательных целых чисел. nk представлен в моделях ARX фиксированными начальными нулями в полиноме B.

    Например, предположите это без транспортных задержек, sys.b [5 6].

    • Поскольку sys.b + 1 полином второго порядка, nb = 2.

    • Задайте транспортную задержку nk= 3 . Определение этой задержки добавляет три начальных нуля в sys.b так, чтобы sys.b теперь [0 0 0 5 6], в то время как nb остается равным 2.

    • Эти коэффициенты представляют полиномиальный B (q) = 5 q-3 + 6q-4.

    Можно также реализовать транспортные задержки с помощью аргумента пары "имя-значение" 'IODelay'.

.

Пример: arx(data,[2 1 1]) вычисляет, от iddata объект, модель ARX второго порядка с одним входным каналом, который имеет входную задержку одной выборки.

Опции оценки для идентификации модели ARX в виде arOptions опция установлена. Опции заданы opt включайте следующее:

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

  • Смещения входных и выходных данных — Использование эти опции, чтобы удалить смещения из данных временного интервала во время оценки.

  • Регуляризация — Использование эта опция, чтобы управлять компромиссом между смещением и ошибками отклонения во время процесса оценки.

Для получения дополнительной информации смотрите arxOptions. Для примера см. Модель ARX с Регуляризацией.

Аргументы name-value

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

Пример: 'IntegrateNoise',true добавляет интегратор в источнике шума s

Введите задержки, описанные как целочисленные множители шага расчета в виде разделенной запятой пары, состоящей из 'InputDelay' и одно из следующего:

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

  • Скалярное значение — Применяет ту же задержку со всеми входными каналами.

Пример: arx(data,[2 1 3],'InputDelay',1) оценивает модель ARX второго порядка с одним входным каналом, который имеет входную задержку трех выборок.

Транспортные задержки каждой пары ввода - вывода, описанной как целочисленные множители шага расчета и заданной как разделенная запятой пара, состоящая из 'IODelay' и одно из следующего:

  • Ny-by-Nu матрица, где Ny является количеством выходных параметров и Nu, является количеством входных параметров — Каждая запись является целочисленным значением, представляющим транспортную задержку соответствующей пары ввода - вывода.

  • Скалярное значение — Применяется, та же задержка применяется ко всем парам ввода - вывода. Этот подход полезен когда параметр задержки ввода - вывода nk результаты в большом количестве фиксированных начальных нулей в полиноме B. Можно факторизовать max(nk-1,0) задержки путем перемещения тех задержек от nk в 'IODelay' значение.

    Например, предположите, что у вас есть система с двумя входными параметрами, где первый вход имеет задержку трех выборок, и второй вход имеет задержку шести выборок. Также предположите, что полиномы B для этих входных параметров являются порядком n. Можно описать эти задержки с помощью следующего:

    • nk= [3 6] — Это приводит к полиномам B [0 0 0 b11 ... b1n] и [0 0 0 0 0 0 b21 ... b2n].

    • nk= [3 6] и 'IODelay',3 — Это приводит к полиномам B [b11 ... b1n] и [0 0 0 b21 ... b2n].

Сложение интеграторов в шумовом канале в виде разделенной запятой пары, состоящей из 'IntegrateNoise' и логический вектор из длины Ny, где Ny является количеством выходных параметров.

Установка 'IntegrateNoise' к true поскольку конкретный выход создает модель ARIX или ARI для того канала. Шумовое интегрирование полезно в случаях, где воздействие является неустановившимся.

При использовании 'IntegrateNoise', необходимо также интегрировать выходные данные о канале. Для примера см. Модель ARIX.

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

свернуть все

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

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

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

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

Method

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

InitialCondition

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

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

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

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

Fit

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

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

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

LossFcn

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

MSE

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

FPE

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

AIC

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

AICc

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

nAIC

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

BIC

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

Parameters

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

OptionsUsed

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

RandState

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

DataUsed

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

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

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

Type

Тип данных.

Length

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

Ts

Размер шага.

InterSample

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

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

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

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

InputOffset

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

OutputOffset

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

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

Предполагаемые начальные условия, возвращенные как initialCondition возразите или объектный массив initialCondition значения.

  • Для набора данных одно эксперимента, ic представляет, в форме пространства состояний, свободном ответе модели передаточной функции (A и матрицы C) к предполагаемым начальным состояниям (x0).

  • Для набора данных нескольких-экспериментов с экспериментами Ne, ic объектный массив длины Ne, который содержит один набор initialCondition значения для каждого эксперимента.

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

Больше о

свернуть все

Структура ARX

Имя модели ARX обозначает Autoregressive with Extra Input, потому что, в отличие от модели AR, модель ARX включает входной термин. ARX также известен как Autoregressive with Exogenous Variables, где внешняя переменная является входным термином. Структура модели ARX дана следующим уравнением:

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

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

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

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

  • nb — Количество нулей

  • 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

Модель ARIX

ARIX (Авторегрессивный Интегрированный с Дополнительным Входом) модель является моделью ARX с интегратором в шумовом канале. Структура модели ARIX дана следующим уравнением:

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

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

Модели timeseries AR

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

AR (Авторегрессивная) структура модели дан следующим уравнением:

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

АРИ Модель

Модель ARI (Autoregressive Integrated) является моделью AR с интегратором в шумовом канале. Структура модели ARI дана следующим уравнением:

A(q)y(t)=11q1e(t)

Несколько - вход, модели Одно Выхода

Для нескольких - вход, системы одно выхода (MISO) с входными параметрами nu, nb и nk является векторами-строками, где i th элемент соответствует порядку и задержке, сопоставленной с i th вход в вектор-столбце u (t). Точно так же коэффициенты полинома B являются векторами-строками. ARX структура MISO затем дан следующим уравнением:

A(q)y(t)=B1(q)u1(tnk1)+B2(q)u2(tnk2)++Bnu(q)unu(tnknu)

Несколько - вход, несколько - Выходные модели

Для нескольких - входа, нескольких - выходные системы, 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