Этот пример показывает, как симулировать временной ряд и использовать параметрические и непараметрические методы для оценки и сравнения моделей временных рядов.
Сгенерируйте данные временных рядов путем создания и симуляции авторегрессивной (AR) полиномиальной модели ts_orig формы , где является случайным Гауссовым шумом. Этот шум представляет неизмеренный вход в модель. Поскольку модель является временных рядов, измеренных входами нет.
Перед вычислением , инициализируйте seed генератора случайных чисел так, чтобы значения шума были повторяемыми.
ts_orig = idpoly([1 -1.75 0.9]); rng('default') e = idinput(300,'rgs');
Симулируйте наблюдаемый выходной y_obs этой модели и преобразовать y_obs в iddata y объекта со шаг расчета по умолчанию одной секунды. Постройте график выхода модели вместе с входом шумом.
y_obs = sim(ts_orig,e); y = iddata(y_obs); plot(e) hold on plot(y_obs) title('Input Noise and Original Model Output') legend('RGS Noise','Model Output') hold off

Функции etfe и spa обеспечивают два непараметрических метода для выполнения спектрального анализа. Сравните расчетные спектры степени из etfe и spa к исходной модели.
ts_etfe = etfe(y); ts_spa = spa(y); spectrum(ts_etfe,ts_spa,ts_orig); legend('ts_{etfe}','ts_{spa}','ts_{orig}')

Теперь оцените параметрическую модель с помощью структуры AR. Оцените AR-модель второго порядка и сравните ее спектр с исходной моделью и spa оценка.
ts_ar = ar(y,2); spectrum(ts_spa,ts_ar,ts_orig); legend('ts_{spa}', 'ts_{ar}', 'ts_{orig}')

Спектр модели AR подходит для исходного спектра модели более близко, чем непараметрические модели.
Вычислите ковариационную функцию для исходной модели и AR-модели путем свертки каждого выхода модели сама с собой.
ir_orig = sim(ts_orig,[1;zeros(24,1)]); Ry_orig = conv(ir_orig,ir_orig(25:-1:1)); ir_ar = sim(ts_ar,[1;zeros(24,1)]); Ry_ar = conv(ir_ar,ir_ar(25:-1:1));
Также оцените ковариационную Ry непосредственно от наблюдаемых выходов y использование xcorr.
Ry = xcorr(y.y,24,'biased');Постройте и сравните исходные и предполагаемые ковариации.
plot(-24:24'*ones(1,3),[Ry_orig,Ry_ar,Ry]); legend('Ry_{orig}', 'Ry_{ar}', 'Ry')

Ковариация предполагаемой модели AR, Ry_ar, ближе к исходной ковариации Ry_orig.
Сравните трехэтапную точность предсказания, или процент подгонки, для исходной модели и модели AR, используя функцию compare. Здесь, compare вычисляет предсказанную характеристику ts_orig и ts_ar модели с исходными выходными данными модели y, с учетом неизмеренных входов равен нулю. Четвертый аргумент, 3, количество шагов для предсказания.
compare(y,ts_orig,ts_ar,3);

Проценты в легенде являются подобранными процентами, которые представляют качество подгонки. Точность предсказания далеко не 100% даже для исходной модели, потому что неизмеренный вход модели не учитывается в процессе предсказания. Значение аппроксимации для оценочной модели AR близко к исходной модели, что указывает на то, что модель AR является хорошей оценкой.