Оценка параметров модели ARX, ARIX, AR или ARI
оценивает параметры модели ARX или AR
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%.
Оцените 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.