Оценка параметров модели ARX, ARIX, AR или ARI
оценивает параметры модели ARX или AR
sys = arx(data,[na nb nk])idpolysys с использованием метода наименьших квадратов и полиномиальных порядков, заданных в [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%.
Оцените timeseries AR модели с помощью arx функция. AR- модели не имеет измеренного входа.
Загрузите данные, которые содержат временные ряды z9 с шумом.
load iddata9 z9
Оцените модель AR четвертого порядка путем определения только na порядок в [na nb nk].
sys = arx(z9,4);
Исследуйте оцененные полиномиальные параметры A и подгонку оценки данным.
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)

Использование arxRegul автоматически определять константы регуляризации и использовать значения для оценки конечной импульсной характеристики модели с порядком 50.
Получите ambda l и R значения.
load regularizationExampleData eData; orders = [0 50 0]; [lambda,R] = arxRegul(eData,orders);
Используйте возвращенный l ambda и 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 выходной сигнал.
[na nb nk] - Полиномиальные порядки и задержкиПолиномиальные порядки и задержки для модели, заданные как вектор или вектор матриц 1 на 3 [na nb nk]. Полиномиальный порядок равен количеству коэффициентов для оценки в этом полиноме.
Для модели AR или ARI с timeseries, которая не имеет входов, установите [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 второго порядка с одним каналом входа, который имеет вход задержку одной выборки.
opt - опции оценкиarxOptions набор опцийОпции оценки для идентификации модели ARX, заданные как arOptions набор опций. Опции, заданные opt включать в себя следующее:
Обработка начальных условий - Используйте эту опцию только для данных частотного диапазона. Для данных временной области сигналы сдвигаются таким образом, что неизмеренные сигналы никогда не требуются в предикторах.
Входные и выходные данные смещения - Используйте эти опции, чтобы удалить смещения из данных временной области во время оценки.
Регуляризация - используйте эту опцию для управления компромиссом между ошибками смещения и отклонения в процессе оценки.
Для получения дополнительной информации см. arxOptions. Для получения примера смотрите Модель ARX с Регуляризацией.
Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.
'IntegrateNoise',true добавляет интегратор в источник шума s'InputDelay' - Входные задержкиВходы задержки, выраженные в виде целочисленных множителей шага расчета, заданные в виде разделенной запятой пары, состоящей из 'InputDelay' и одно из следующих:
Nu вектор -by-1, где Nu - количество входов - Каждая запись является числовым значением, представляющим входную задержку для соответствующего входного канала.
Скалярное значение - применить ту же задержку ко всем входным каналам.
Пример: arx(data,[2 1 3],'InputDelay',1) оценивает модель ARX второго порядка с одним каналом входа, который имеет вход задержку в трех отсчетах.
'IODelay' - Задержки на транспортеЗадержки транспорта для каждой пары вход-выход, выраженные в виде целочисленных множителей шага расчета и заданные как разделенная запятой пара, состоящие из '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' - Сложение интеграторов в канал шумаfalse (по умолчанию) | логический векторСложение интеграторов в канале шума, заданное как разделенная разделенными запятой парами, состоящая из 'IntegrateNoise' и логический вектор длины Ny, где Ny количество выходов.
Настройка 'IntegrateNoise' на true для конкретного выхода создает модель ARIX или ARI для этого канала. Шумовое интегрирование полезно в тех случаях, когда нарушение порядка нестационарно.
При использовании 'IntegrateNoise'необходимо также интегрировать данные выходы канала. Для получения примера см. Модель ARIX.
sys - модель ARXidpoly объектARX модели который подходит для данных оценки, возвращается в дискретном времени idpoly объект. Эта модель создается с использованием заданных порядков модели, задержек и опций оценки.
Информация о результатах оценки и используемых опциях хранится в Report свойство модели. Report имеет следующие поля.
| Поле отчета | Описание | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Status | Сводными данными статуса модели, которое указывает, была ли модель создана конструкцией или получена оценкой. | ||||||||||||||||||
Method | Используется команда estimation. | ||||||||||||||||||
InitialCondition | Обработка начальных условий во время оценки модели, возвращенная как одно из следующих значений:
Это поле особенно полезно для просмотра того, как были обработаны начальные условия при | ||||||||||||||||||
Fit | Количественная оценка оценки, возвращенная как структура. Смотрите функции потерь и метрики качества модели для получения дополнительной информации об этих метриках качества. Структура имеет следующие поля:
| ||||||||||||||||||
Parameters | Оценочные значения параметров модели. | ||||||||||||||||||
OptionsUsed | Набор опций, используемый для оценки. Если пользовательские опции не были настроены, это набор опций по умолчанию. Посмотрите | ||||||||||||||||||
RandState | Состояние потока случайных чисел в начале оценки. Пустой, | ||||||||||||||||||
DataUsed | Атрибуты данных, используемых для оценки, возвращаются как структура со следующими полями:
|
Для получения дополнительной информации об использовании Report, см. Отчет по оценке.
ic - Начальные условияinitialCondition объект | объектный массив initialCondition значенияПредполагаемые начальные условия, возвращенные как initialCondition объект или объектный массив initialCondition значения.
Для одного набора данных эксперимента, ic представляет в форме пространства состояний свободный ответ модели передаточной функции (A и C матрицы) на предполагаемые начальные состояния (x0).
Для набора данных нескольких экспериментов с Ne экспериментами, ic - объектный массив длины Ne, которая содержит один набор initialCondition значения для каждого эксперимента.
Для получения дополнительной информации смотрите initialCondition. Пример использования этого аргумента см. в разделе Получение начальных условий.
Модель ARX имени обозначает Autoregressive with Extra Input, потому что, в отличие от модели AR, модель ARX включает в себя вход термин. ARX также известен как Autoregressive with Exogenous Variables, где экзогенная переменная является входом термином. Структура модели ARX задается следующим уравнением:
Параметры na и nb являются порядками модели ARX, и nk является задержкой.
- Выход в момент времени
- Количество полюсов
- Количество нулей
- Количество входных выборок, которые происходят до того, как вход влияет на выход, также называемое потерей времени в системе
- Предыдущие выходы, от которых зависит выходной ток
- Предыдущие и отложенные входы, от которых зависит токовый выход
- Значение нарушения порядка белого шума
Более компактный способ написания разностного уравнения -
q - оператор задержки. В частности,
Модель ARIX (Autoregressive Integrated with Extra Input) является моделью ARX с интегратором в шумовом канале. Структура модели ARIX задается следующим уравнением:
где является интегратором в канале шума, e (t).
Для данного timeseries, которые не содержат входов, одного выхода и A na полинома порядка, модель имеет AR-структуру порядка <reservedrangesplaceholder0>.
Структура модели AR (авторегрессионная) задается следующим уравнением:
Модель ARI (Autoregressive Integrated) является AR-моделью с интегратором в шумовом канале. Структура модели ARI задается следующим уравнением:
Для систем с несколькими входами, одним выходом (MISO) с nu входами nb и nk являются векторами-строками, где i-й элемент соответствует порядку и задержке, сопоставленным с i-м входом в векторе-столбце u (t). Точно так же коэффициенты B полинома векторов-строк. Структура ARX MISO затем определяется следующим уравнением:
Для систем с несколькими входами, несколькими выходами, na, nb, и nk содержит по одной строке для каждого выходного сигнала.
В случае с несколькими выходами arx минимизирует трассировку ковариационной матрицы ошибки предсказания или нормы
Чтобы преобразовать эту норму в произвольную квадратичную норму с помощью весовой матрицы Lambda
используйте следующий синтаксис:
opt = arxOptions('OutputWeight',inv(lambda))
m = arx(data,orders,opt)
Для данных временной области сигналы сдвигаются таким образом, что неизмеренные сигналы никогда не требуются в предикторах. Поэтому нет необходимости оценивать начальные условия.
Для данных частотного диапазона может потребоваться настроить данные по начальным условиям, которые поддерживают круговую свертку.
Установите 'InitialCondition' опция оценки (см. arxOptions) к одному из следующих значений:
'zero' - Без регулировки
'estimate' - Выполните корректировку данных начальными условиями, поддерживающими круговую свертку
'auto' - Автоматический выбор 'zero' или 'estimate' на основе данных
QR-факторизация решает переопределенный набор линейных уравнений, который представляет собой задачу оценки методом наименьших квадратов.
Без регуляризации вектор параметров модели ARX оценен путем решения нормального уравнения
где J - матрица регрессора, а y - измеренный выход. Поэтому,
Использование регуляризации добавляет термин регуляризации
где, и R являются постоянными регуляризации. Для получения дополнительной информации о константах регуляризации см. arxOptions.
Когда регрессионная матрица больше, чем MaxSize заданный в arxOptions, данные сегментируются и QR-факторизация выполняется итерационно на сегментах данных.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.