🏘️ Прогнозатор дохідності оренди — ARIMA часові ряди наживо
Спостерігайте, як справжня модель часових рядів ARIMA (авторегресійна інтегрована ковзна середня) наживо прогнозує симульовані тренди дохідності оренди, підігнана за допомогою справжньої оцінки параметрів у стилі максимальної правдоподібності — рівняння Юла-Уокера для AR-частини, умовні найменші квадрати Ханнана-Ріссанена для повної підгонки ARMA. Змініть p, d та q, і конус прогнозу оновлюється з новою підгонкою щоразу.
Про цю симуляцію
Цей симулятор генерує синтетичний місячний ряд дохідності оренди з налаштовуваним трендом і шумом, а потім підганяє справжню модель ARIMA(p, d, q) до нього повністю в браузері — без сервера, без попередньо обчислених коефіцієнтів. Конвеєр слідує тій самій підручниковій процедурі, що використовується в реальному економетричному програмному забезпеченні: диференціювати вихідний ряд d разів, доки він не виглядатиме стаціонарним, перевірити це порівнянням дисперсій і регресією у стилі розширеного тесту Дікі-Фуллера, оцінити авторегресійну частину за допомогою рівнянь Юла-Уокера (розв'язаних через рекурсію Левінсона-Дурбіна), а потім спільно уточнити коефіцієнти AR і MA методом умовних найменших квадратів Ханнана-Ріссанена. Підігнана модель використовується для генерації справжніх багатокрокових прогнозів, з довірчими смугами, отриманими за допомогою бутстреп-симуляції Монте-Карло залишків, а не припущеної фіксованої ширини.
🔬 Що це показує
3D-стрічка простежує історичний ряд дохідності оренди, друга стрічка показує внутрішньовибіркові підігнані значення моделі, а розширюваний напівпрозорий конус показує багатокроковий прогноз з 90% довірчим інтервалом — радіус конуса встановлюється безпосередньо бутстрепованою дисперсією прогнозу на кожному кроці горизонту. 2D-графік нижче відображає фактичні, підігнані та прогнозовані значення на плоскій часовій осі для точного читання.
🎮 Як користуватися
Перетягуйте повзунки p, d та q, щоб змінити порядок моделі — кожна зміна запускає повну повторну підгонку з нуля на поточних даних. Використовуйте «Нова вибірка ряду», щоб згенерувати нову випадкову історію дохідності оренди, і налаштуйте повзунки дрейфу тренду та масштабу шуму, щоб побачити, як підігнані коефіцієнти та довірчі смуги реагують на різну базову динаміку. Перетягуйте для обертання 3D-виду, прокручуйте для масштабування.
💡 А чи знали ви?
Дохідність оренди (річна орендна плата ÷ ціна нерухомості, у відсотках) поводиться дуже схоже на інші реальні економічні ряди: вона повільно рухається за трендом разом із процентними ставками та місцевим попитом/пропозицією, а потім коливається навколо цього тренду. Ця комбінація — тренд плюс шум — це саме той тип процесу, для обробки якого призначена літера «I» (інтегрована) в ARIMA, шляхом усунення тренду диференціюванням перед моделюванням залишкових коливань.
Часті запитання
Що насправді означає ARIMA(p,d,q)?
ARIMA означає AutoRegressive Integrated Moving Average (авторегресійна інтегрована ковзна середня). Три порядки описують три окремі операції, з'єднані разом: d — кількість разів, коли вихідний ряд диференціюється (віднімання кожного значення від наступного) для усунення трендів і забезпечення стаціонарності; p — кількість минулих значень диференційованого ряду, використаних в авторегресійному (AR) рівнянні; а q — кількість минулих помилок прогнозу, використаних у рівнянні ковзної середньої (MA). Наприклад, підігнана ARIMA(2,1,1) диференціює ряд один раз, а потім моделює результат як лінійну комбінацію її останніх двох значень плюс останній член похибки.
Чому ми диференціюємо ряд перед підгонкою членів AR та MA?
Моделі AR та MA передбачають, що ряд стаціонарний — тобто його середнє значення, дисперсія та структура автокореляції не змінюються з часом. Ряд дохідності оренди зі стійким висхідним або низхідним дрейфом порушує це припущення: його дисперсія постійно зростає, а автокореляції затухають дуже повільно. Диференціювання (yt − yt−1, повторене d разів для сильніших трендів) усуває дрейф і зазвичай залишає ряд, статистичні властивості якого достатньо стабільні для валідності оцінювання методом Юла-Уокера або найменших квадратів і для того, щоб отримані прогнози мали адекватні межі похибок.
Як насправді оцінюються коефіцієнти AR та MA, і чому це не просто зашито в код?
Ця симуляція справді підганяє модель до будь-яких даних, що наразі на екрані. Спочатку вибіркові автоковаріації диференційованого ряду подаються в рекурсію Левінсона-Дурбіна для розв'язання рівнянь Юла-Уокера, що дає початкову авторегресію. Ця довга AR-підгонка генерує проксі-залишок на кожному часовому кроці. По-друге, метод Ханнана-Ріссанена регресує ряд на його власні лаги та на ці проксі-залишкові лаги одночасно за допомогою звичайних найменших квадратів (умовних найменших квадратів), що спільно уточнює кінцеві коефіцієнти φ (AR) та θ (MA). Переміщення будь-якого з повзунків p, d, q регенерує весь цей конвеєр оцінювання з вихідного ряду — нічого не обчислюється заздалегідь і не підробляється.
Як перевіряється стаціонарність і що таке статистика у стилі ADF, що показується?
Панель порівнює дисперсію вихідного ряду з дисперсією після d раундів диференціювання — велике співвідношення вказує на те, що диференціювання усунуло значний нестаціонарний дрейф. Вона також запускає регресію у стилі розширеного тесту Дікі-Фуллера, Δxt = c + ρ·xt−1 + Σβi·Δxt−i + εt, обчислену методом звичайних найменших квадратів, і повідомляє t-статистику для ρ. t-статистика, більш негативна за приблизно −2,86 (стандартне асимптотичне критичне значення МакКіннона на рівні 5% для специфікації лише з константою), є доказом проти одиничного кореня, тобто доказом того, що ряд стаціонарний і безпечний для моделювання членами AR/MA.
Як генеруються довірчі смуги прогнозу?
Після підгонки φ та θ власні історичні залишки моделі об'єднуються та повторно вибираються (бутстреп залишків), щоб симулювати кілька сотень альтернативних майбутніх шляхів диференційованого ряду, кожен з яких керується іншим випадковим набором шоків з тією ж емпіричною дисперсією, що й реальні залишки підгонки. Кожен симульований шлях потім інтегрується назад через ті самі кроки диференціювання, що використовувалися для забезпечення стаціонарності ряду, реконструюючи правдоподібну майбутню траєкторію дохідності оренди. 5-й та 95-й процентилі серед усіх симульованих шляхів на кожен місяць прогнозу утворюють 90% довірчу смугу — це справжнє поширення методом Монте-Карло реальної дисперсії залишків моделі, а не припущена смуга фіксованої ширини.
Чому 3D-конус прогнозу розширюється далі в майбутнє?
Тому що невизначеність прогнозу накопичується з кожним додатковим кроком: прогноз на місяць вперед залежить лише від відомих минулих даних, але прогноз на двадцять чотири місяці вперед залежить від ланцюга проміжних, невизначених прогнозованих значень, які підживлюють одне одного. Радіус 3D-трубки в кожній точці вздовж горизонту прогнозу встановлюється безпосередньо з ширини бутстрепованого довірчого інтервалу для цього місяця, тому видимо зростаючий радіус конуса — це пряма, буквальна картина того, як похибка прогнозу накопичується протягом багатокрокового горизонту.
Чи є це заміною справжньої виробничої бібліотеки ARIMA, як-от statsmodels?
Ні. Ця реалізація створена для прозорості та навчання: вона використовує Юла-Уокера/Левінсона-Дурбіна плюс умовні найменші квадрати Ханнана-Ріссанена, які є справжніми, підручниковими методами оцінювання, але виробничі бібліотеки, такі як statsmodels або arima() в R, зазвичай використовують повну оцінку максимальної правдоподібності через фільтр Калмана, що є статистично ефективнішим на малих вибірках і підтримує сезонні члени. Коефіцієнти тут — справжні підгонки до справжніх даних, але для фінансового прогнозування з високими ставками вам знадобиться реалізація методом максимальної правдоподібності та набагато довша, реальна (не симульована) історія.