Совершенствуйте первоначальную модель ARMAX в командной строке

В этом примере показано, как оценить первоначальную модель и совершенствовать ее с помощью pem.

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

load iddata8

Разделите данные в начальный набор данных оценки и набор данных улучшения.

init_data = z8(1:100);
refine_data = z8(101:end);

init_data iddata объект, содержащий первые 100 выборок от z8 и refine_data iddata объект, представляющий остающиеся данные в z8.

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

na = 4;
nb = [3 2 3];
nc = 2;
nk = [0 0 0];

sys = armax(init_data,[na nb nc nk]);

armax использует свойства алгоритма по умолчанию оценить sys.

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

opt = armaxOptions;
opt.SearchOptions.Tolerance = 1e-5;
opt.SearchOptions.MaxIterations = 50;

refine_sys = pem(refine_data,sys,opt);

Сравните припадок первоначальных и усовершенствованных моделей.

compare(refine_data,sys,refine_sys)

Figure contains an axes object. The axes object contains 3 objects of type line. These objects represent refine\_data (y1), sys: 80.05%, refine\_sys: 81.25%.

refine_sys обеспечивает более близкую подгонку к данным, чем sys.

Можно так же использовать polyest или armax совершенствовать предполагаемую модель.

Смотрите также

Функции