Оценка параметров модели ARX, ARIX, AR или ARI
оценивает параметры AR
модели ARX или sys = arx(data,[na nb nk])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 временного ряда с использованием 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)

Использовать 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, в форме state-space, к вектору начального состояния в X0. Вы можете включить ic при моделировании sys с z1i входной сигнал и сравнить отклик с z1i выходной сигнал.
[na nb nk] - Полиномиальные порядки и задержкиПолиномиальные порядки и задержки для модели, заданные как вектор 1 на 3 или вектор матриц [na nb nk]. Порядок многочленов равен числу коэффициентов для оценки в этом многочлене.
Для модели временных рядов AR или 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 второго порядка с одним входным каналом, который имеет задержку ввода одной выборки.
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 - количество входов - Каждая запись представляет целое значение, представляющее задержку передачи для соответствующей пары вход-выход.
Скалярное значение (Scalar value) - применить такую же задержку ко всем парам «вход-выход». Этот подход полезен, когда параметр задержки ввода-вывода nk приводит к большому количеству фиксированных нулей начала в многочлене B. Вы можете факторизировать max(nk-1,0) lags, перемещая эти lags от 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 | Используется команда оценки. | ||||||||||||||||||
InitialCondition | Обработка исходных условий при оценке модели, возвращаемых как одно из следующих значений:
Это поле особенно полезно для просмотра того, как обрабатывались начальные условия при | ||||||||||||||||||
Fit | Количественная оценка оценки, возвращенная как структура. Дополнительные сведения об этих показателях качества см. в разделе Метрики качества функции потери и модели. Структура имеет следующие поля:
| ||||||||||||||||||
Parameters | Оценочные значения параметров модели. | ||||||||||||||||||
OptionsUsed | Набор опций, используемый для оценки. Если пользовательские параметры не были настроены, это набор параметров по умолчанию. Посмотрите | ||||||||||||||||||
RandState | Состояние потока случайных чисел в начале оценки. Пустое, | ||||||||||||||||||
DataUsed | Атрибуты данных, используемых для оценки, возвращаемые в виде структуры со следующими полями:
|
Дополнительные сведения об использовании Report, см. Отчет по оценке.
ic - Исходные условияinitialCondition object | массив объектов initialCondition ценностиПредполагаемые начальные условия, возвращенные в виде initialCondition объект или массив объектов initialCondition значения.
Для набора данных одного эксперимента: ic представляет в форме state-space свободный отклик модели передаточной функции (матрицы A и C) на оцененные начальные состояния (x0).
Для набора данных нескольких экспериментов с экспериментами Ne, ic - массив объектов длиной Ne, содержащий один набор initialCondition значения для каждого эксперимента.
Дополнительные сведения см. в разделе initialCondition. Пример использования этого аргумента см. в разделе Получение начальных условий.
Имя модели ARX расшифровывается как Autoregressive with Extra Input, поскольку, в отличие от модели AR, модель ARX включает входной член. ARX также известен как Авторегрессия с экзогенными переменными, где экзогенная переменная является входным термином. Структура модели ARX задается следующим уравнением:
bnbu (t − nb − nk + 1) + e (t)
Параметры na и nb являются порядками модели ARX, а nk - задержкой.
) - Выход в момент времени t
- Количество полюсов
- количество нулей
- количество входных выборок, которые возникают до того, как вход влияет на выход, также называемое мертвым временем в системе;
(t − na) - предыдущие выходы, от которых зависит токовый выход
nk − nb + 1) - Предыдущие и задержанные входы, от которых зависит токовый выход
) - Значение возмущения белого шума
Более компактным способом записи уравнения разности является
− nk) + e (t)
q - оператор задержки. В частности,
.. + anaq − na
+ bnbq − nb + 1
Модель ARIX (Autoregressive Integrated with Extra Input) - модель ARX с интегратором в шумовом канале. Структура модели ARIX задается следующим уравнением:
+ 11 − q − 1e (t)
где − 1 - интегратор в шумовом канале, e (t).
Для данных временного ряда, не содержащих входных данных, одного выходного сигнала и полинома A порядка na, модель имеет структуру AR порядка na.
Структура AR (авторегрессионной) модели задается следующим уравнением:
e (t)
Модель ARI (Autoregressive Integrated) - модель AR с интегратором в шумовом канале. Структура модели ARI задается следующим уравнением:
q − 1e (t)
Для систем с множеством входов и одним выходом (MISO) с nu входами nb и nk являются векторами строк, где i-й элемент соответствует порядку и задержке, связанным с i-м входом в векторе столбца u (t). Аналогично, коэффициенты многочлена B являются векторами строк. Структура MISO ARX задается следующим уравнением :
+⋯+Bnu (q) unu (t − nknu)
Для систем с несколькими входами и несколькими выходами, na, nb, и nk содержат по одной строке для каждого выходного сигнала.
В случае с несколькими выходами arx минимизирует трассировку ковариационной матрицы ошибки прогнозирования или норму
(t)
Преобразование этой нормы в произвольную квадратичную норму с помощью матрицы взвешивания Lambda
1e (t)
используйте следующий синтаксис:
opt = arxOptions('OutputWeight',inv(lambda))
m = arx(data,orders,opt)
Для данных временной области сигналы сдвигаются так, что неизмеренные сигналы никогда не требуются в предикторах. Поэтому нет необходимости оценивать исходные условия.
Для данных в частотной области может потребоваться корректировка данных с помощью начальных условий, поддерживающих круговую свертку.
Установите 'InitialCondition' вариант оценки (см. arxOptions) к одному из следующих значений:
'zero' - Без регулировки
'estimate' - Произвести подгонку данных по исходным условиям, поддерживающим круговую свертку
'auto' - Автоматически выбрать 'zero' или 'estimate' на основе данных
Факторизация QR решает заранее определенный набор линейных уравнений, который составляет задачу оценки наименьших квадратов.
Без регуляризации, вектор параметров модели ARX (модель ARX) оценивается путем решения нормального уравнения
JTy
где J - матрица-регрессор, а y - измеренный выходной сигнал. Поэтому
1JTy
Использование регуляризации добавляет термин регуляризации
− 1JTy
где λ и R - постоянные регуляризации. Дополнительные сведения о константах регуляризации см. в разделе arxOptions.
Когда матрица регрессии больше, чем MaxSize указано в arxOptionsданные сегментируются, и QR-факторизация выполняется итеративно на сегментах данных.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.