В этом примере показано, как использовать информационный критерий Байеса (BIC) для выбора степеней p и q модели ARMA. Оцените несколько моделей с различными значениями p и q. Для каждой оцененной модели выводите значение целевой функции логарифмической правдоподобности. Введите значение логарифмической правдоподобности в aicbic
вычислить меру BIC подгонки (что штрафует за сложность).
Симулируйте временные ряды ARMA (2,1) с 100 наблюдениями .
Mdl0 = arima('Constant',0.2,'AR',{0.75,-0.4},... 'MA',0.7,'Variance',0.1); rng('default') Y = simulate(Mdl0,100); figure plot(Y) xlim([0,100]) title('Simulated ARMA(2,1) Series')
Постройте график функции автокорреляции (ACF) и функции частичной автокорреляции (PACF) для моделируемых данных.
figure subplot(2,1,1) autocorr(Y) subplot(2,1,2) parcorr(Y)
И выборка ACF, и PACF распадаются относительно медленно. Это согласуется с моделью ARMA. Задержки ARMA не могут быть выбраны исключительно путем просмотра ACF и PACF, но, по-видимому, необходимо не более четырех терминов AR или MA.
Чтобы идентифицировать лучшие лаги, подбирайте несколько моделей с различными вариантами задержки. Здесь подбираются все комбинации p = 1,..., 4 и q = 1,..., 4 (всего 16 моделей). Сохраните целевую функцию логарифмической правдоподобности и количество коэффициентов для каждой подобранной модели.
LOGL = zeros(4,4); % Initialize PQ = zeros(4,4); for p = 1:4 for q = 1:4 Mdl = arima(p,0,q); [EstMdl,~,logL] = estimate(Mdl,Y,'Display','off'); LOGL(p,q) = logL; PQ(p,q) = p + q; end end
Вычислите BIC для каждой подобранной модели. Количество параметров в модели является p + q + 1 (для коэффициентов AR и MA и постоянного члена). Количество наблюдений в наборе данных составляет 100.
LOGL = reshape(LOGL,16,1); PQ = reshape(PQ,16,1); [~,bic] = aicbic(LOGL,PQ+1,100); reshape(bic,4,4)
ans = 4×4
108.6241 105.9489 109.4164 113.8443
99.1639 101.5886 105.5203 109.4348
102.9094 106.0305 107.6489 99.6794
107.4045 100.7072 98.3511 102.0209
В выход BIC-матрице строки соответствуют степени AR (p), а столбцы соответствуют степени MA (q). Наименьшее значение лучше всего.
Наименьшее значение BIC 99.1639
в положении (2,1). Это соответствует модели ARMA (2,1), совпадающей с моделью, которая сгенерировала данные .