bj

Оцените модель полинома Поля-Jenkins, использующую данные об области времени

Синтаксис

sys = bj(data, [nb nc nd nf nk])
sys = bj(data,[nb nc nd nf nk], Name,Value)
sys = bj(data, init_sys)
sys = bj(data, ___, opt)
[sys,ic] = bj(___)

Описание

sys = bj(data, [nb nc nd nf nk]) оценивает модель полинома Поля-Jenkins, sys, с помощью данных временного интервала, data. [nb nc nd nf nk] задайте порядки полиномов, используемых для оценки.

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

sys = bj(data, init_sys) оценивает полином Поля-Jenkins использование полиномиальной модели init_sys сконфигурировать начальную параметризацию sys.

sys = bj(data, ___, opt) оценивает полином Поля-Jenkins использование набора опции, opt, задавать поведение оценки.

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

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

data

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

data iddata объект, который содержит значения сигналов ввода и вывода временного интервала.

Вы не можете использовать данные частотного диапазона для оценки моделей Box-Jenkins.

[nb nc nd nf nk]

Вектор из матриц, содержащих порядки и задержки модели Box-Jenkins. Матрицы должны содержать неотрицательные целые числа.

  • nb порядок полинома B плюс 1 (Матрица ny ню)

  • nc порядок полинома C плюс 1 (матрица Ny-1)

  • nd порядок полинома D плюс 1 (матрица Ny-1)

  • nf порядок полинома F плюс 1 (Матрица ny ню)

  • nk входная задержка (в количестве выборок, матрицы ny ню), где Ню является количеством входных параметров, и Ny является количеством выходных параметров.

opt

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

opt набор опций, который конфигурирует, среди других, следующего:

  • цель оценки

  • начальные условия

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

Использование bjOptions создать набор опций.

init_sys

Полиномиальная модель, которая конфигурирует начальную параметризацию sys.

init_sys должен быть idpoly модель со структурой Поля-Jenkins, которая имеет только B, C, D и активные полиномы F. bj использует параметры и ограничения, заданные в init_sys как исходное предположение для оценки sys.

Используйте Structure свойство init_sys сконфигурировать исходные предположения и ограничения для B (q), F (q), C (q) и D (q).

Задавать исходное предположение для, скажем, C (q) термин init_sys, установите init_sys.Structure.C.Value как исходное предположение.

Задавать ограничения для, скажем, B (q) термин init_sys:

  • установите init_sys.Structure.B.Minimum к минимальному B (q) содействующие значения

  • установите init_sys.Structure.B.Maximum к максимальному B (q) содействующие значения

  • установите init_sys.Structure.B.Free указать, который B (q) коэффициенты свободен для оценки

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

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

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

'InputDelay'

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

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

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

'IODelay'

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

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

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

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

'IntegrateNoise'

Логические интеграторы определения в шумовом канале.

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

Установка IntegrateNoise к true поскольку конкретный выход приводит к модели:

y(t)=B(q)F(q)u(tnk)+C(q)D(q)e(t)1q1

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

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

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

sys

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

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

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

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

Method

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

InitialCondition

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

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

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

  • 'backcast' — Начальные условия были оценены с помощью лучшего метода наименьших квадратов.

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

Fit

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

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

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

LossFcn

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

MSE

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

FPE

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

AIC

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

AICc

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

nAIC

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

BIC

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

Parameters

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

OptionsUsed

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

RandState

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

DataUsed

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

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

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

Type

Тип данных.

Length

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

Ts

Размер шага.

InterSample

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

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

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

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

InputOffset

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

OutputOffset

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

Termination

Условия завершения для итеративного поиска, используемого для ошибочной минимизации предсказания, возвращенной как структура со следующими полями:

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

Причина завершения числового поиска.

Iterations

Количество поисковых итераций выполняется алгоритмом оценки.

FirstOrderOptimality

- норма вектора просмотра градиента, когда алгоритм поиска останавливается.

FcnCount

Число раз целевая функция было названо.

UpdateNorm

Норма вектора просмотра градиента в последней итерации. Не использованный, когда методом поиска является 'lsqnonlin' или 'fmincon'.

LastImprovement

Улучшение критерия последней итерации, описанной как процент. Не использованный, когда методом поиска является 'lsqnonlin' или 'fmincon'.

Algorithm

Алгоритм используется 'lsqnonlin' или 'fmincon' метод поиска. Не использованный, когда другие методы поиска используются.

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

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

[nb nc nd nf nk]

Вектор из матриц, содержащих порядки и задержки модели Box-Jenkins. Матрицы должны содержать неотрицательные целые числа.

  • nb порядок полинома B плюс 1 (Матрица ny ню)

  • nc порядок полинома C плюс 1 (матрица Ny-1)

  • nd порядок полинома D плюс 1 (матрица Ny-1)

  • nf порядок полинома F плюс 1 (Матрица ny ню)

  • nk входная задержка (в количестве выборок, матрицы ny ню), где Ню является количеством входных параметров, и Ny является количеством выходных параметров.

ic

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

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

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

Если bj возвращает ic значения 0 и вы знают, что вы имеете ненулевые начальные условия, устанавливаете 'InitialCondition' опция в bjOptions к 'estimate' и передайте обновленный набор опции bj. Например:

opt = bjOptions('InitialCondition,'estimate')
[sys,ic] = bj(data,[nb nc nd nf nk],opt)
'auto' по умолчанию установка 'InitialCondition' использует 'zero' метод, когда начальные условия оказывают незначительное влияние на полный процесс минимизации ошибки расчета. Определение 'estimate' гарантирует, что программное обеспечение оценивает значения для ic.

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

Примеры

свернуть все

Оцените параметры одно входа, модели Box-Jenkins одно выхода от результатов измерений.

load iddata1 z1;
nb = 2;
nc = 2;
nd = 2;
nf = 2;
nk = 1;
sys = bj(z1,[nb nc nd nf nk]);

sys дискретное время idpoly модель с предполагаемыми коэффициентами. Порядок sys аналогичен описанному nb, nc, nd, nf, и nk.

Использование getpvec получить предполагаемые параметры и getcov получить ковариацию, сопоставленную предполагаемыми параметрами.

Оцените параметры мультивхода, модели Box-Jenkins одно выхода от результатов измерений.

load iddata8
nb = [2 1 1];
nc = 1;
nd = 1;
nf = [2 1 2];
nk = [5 10 15];
sys = bj(z8,[nb nc nd nf nk]);

sys оценивает параметры модели с тремя входными параметрами и одним выходом. Каждым из входных параметров сопоставили задержку с ним.

Оцените упорядоченную модель BJ путем преобразования упорядоченной модели ARX.

Загрузка данных.

load regularizationExampleData.mat m0simdata;

Оцените неупорядоченную модель BJ порядка 30.

m1 = bj(m0simdata(1:150),[15 15 15 15 1]);

Оцените упорядоченную модель BJ путем определения значения Lambda методом проб и ошибок.

opt = bjOptions;
opt.Regularization.Lambda = 1;
m2 = bj(m0simdata(1:150),[15 15 15 15 1],opt);

Получите модель BJ более низкоуровневую путем преобразования упорядоченной модели ARX, сопровождаемой сокращением порядка.

opt1 = arxOptions;
[L,R] = arxRegul(m0simdata(1:150),[30 30 1]);
opt1.Regularization.Lambda = L;
opt1.Regularization.R = R;
m0 = arx(m0simdata(1:150),[30 30 1],opt1);
mr = idpoly(balred(idss(m0),7));

Сравните выходные параметры модели с данными.

opt2 = compareOptions('InitialCondition','z');
compare(m0simdata(150:end),m1,m2,mr,opt2);

Оцените параметры одно входа, модели Box-Jenkins одно выхода при конфигурировании некоторых опций оценки.

Сгенерируйте данные об оценке.

B = [0 1 0.5];
C = [1 -1 0.2];
D = [1 1.5 0.7];
F = [1 -1.5 0.7];
sys0 = idpoly(1,B,C,D,F,0.1);
e = iddata([],randn(200,1));
u = iddata([],idinput(200)); 
y = sim(sys0,[u e]);
data = [y u];

data одно вход, набор одно выходных данных, созданный путем симуляции известной модели.

Оцените первоначальную модель Box-Jenkins.

nb = 2;
nc = 2;
nd = 2;
nf = 2;
nk = 1;
init_sys = bj(data,[2 2 2 2 1]);

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

opt = bjOptions;
opt.Display = 'on';
opt.SearchOptions.MaxIterations = 50;

opt набор опции оценки, который конфигурирует оценку, чтобы выполнить итерации 50 раз самое большее и отобразить прогресс оценки.

Повторно оцените параметры модели с помощью набора опции оценки.

sys = bj(data,init_sys,opt);

sys оценивается с помощью init_sys для начальной параметризации для полиномиальных коэффициентов.

Чтобы просмотреть результат оценки, введите sys.Report.

Оцените мультивход, модель мультивыхода Box-Jenkins от оценочных данных.

Загрузите результаты измерений.

load iddata1 z1
load iddata2 z2
data = [z1 z2(1:300)];

data содержит результаты измерений для двух входных параметров и двух выходных параметров.

Оцените модель.

 nb = [2 2; 3 4];  
 nc = [2;2]; 
 nd = [2;2]; 
 nf = [1 0; 2 2];
 nk = [1 1; 0 0];
 sys = bj(data,[nb nc nd nf nk]);

Полиномиальные коэффициенты порядка содержат одну строку для каждого выхода.

sys дискретное время idpoly модель с двумя входными параметрами и двумя выходными параметрами.

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

load iddata1ic z1i

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

nb = 2;
nc = 2;
nd = 2;
nf = 2;
nk = 1;
[sys,ic] = bj(z1i,[nb nc nd nf nk]);
ic
ic = 
  initialCondition with properties:

     A: [4x4 double]
    X0: [4x1 double]
     C: [0.8744 0.5426 0.4647 -0.5285]
    Ts: 0.1000

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

Больше о

свернуть все

Структура модели поля-Jenkins

Общая структура модели Поля-Jenkins:

y(t)=i=1nuBi(q)Fi(q)ui(tnki)+C(q)D(q)e(t)

где nu является количеством входных каналов.

Порядки модели Box-Jenkins определяются следующим образом:

nb:   B(q)=b1+b2q1+...+bnbqnb+1nc:   C(q)=1+c1q1+...+cncqncnd:   D(q)=1+d1q1+...+dndqndnf:   F(q)=1+f1q1+...+fnfqnf

Альтернативы

Чтобы оценить модель непрерывного времени, используйте:

  • tfest — возвращает модель передаточной функции

  • ssest — возвращает модель в пространстве состояний

  • bj сначала оценить модель дискретного времени и преобразовать его использование модели непрерывного времени d2c.

Ссылки

[1] Ljung, L. System Identification: теория для пользователя, верхнего Сэддл-Ривер, NJ, PTR Prentice Hall, 1999.

Расширенные возможности

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