Materi
Model autoregresif meramal sebuah variabel dari nilai-nilai lampaunya sendiri; Hyndman dan Athanasopoulos menyebutnya regresi variabel terhadap dirinya sendiri. Model orde satu, AR(1), adalah y_t = c + φ₁·y_{t−1} + ε_t. Model ini dibatasi untuk data stasioner, dengan syarat −1 < φ₁ < 1; φ₁ = 0 berarti derau putih, dan φ₁ = 1 dengan c = 0 berarti jalan acak. Taksiran sederhana untuk c dan φ₁ adalah regresi kuadrat terkecil y_t terhadap y_{t−1}: np.polyfit(y[:-1], y[1:], 1) mengembalikan [φ₁, c]. Ramalannya rekursif: ŷ_{T+1} = c + φ₁·y_T, lalu ŷ_{T+2} = c + φ₁·ŷ_{T+1}. Paket statistik memakai cara taksir lain, sehingga angkanya bisa sedikit berbeda.
Orde model dibaca dari autokorelasi parsial (PACF). NIST mendefinisikan PACF lag k sebagai autokorelasi antara X_t dan X_{t−k} yang tidak dijelaskan lag 1 sampai k − 1; PACF lag 1 sama dengan ACF lag 1. Data cocok dengan AR(p) bila ACF-nya meluruh eksponensial dan PACF-nya menonjol di lag p tetapi tidak sesudahnya. Setelah model ditaksir, residu e_t = y_t − ŷ_t diperiksa. Metode yang baik menghasilkan residu yang tidak berautokorelasi dengan rata-rata nol; bila rata-ratanya tidak nol, ramalannya bias. Selang prediksi 95% satu langkah adalah ŷ ± 1,96·σ̂, dan 80% memakai 1,28, dengan σ̂ = √(Σe_t² / (T − K − M)): K banyaknya parameter yang ditaksir dan M banyaknya residu yang hilang. Rumus ini menganggap residu tidak berkorelasi dan berdistribusi normal.
Contoh dengan data lain: selang dari ramalan naif, T = 5 pengamatan.
import numpy as np
y = np.array([20, 22, 21, 24, 23], dtype=float)
e = y[1:] - y[:-1] # residu naif: [2, -1, 3, -1]
sigma = np.sqrt(np.sum(e ** 2) / (5 - 0 - 1)) # K = 0, M = 1 -> 1.9365
print(23 - 1.96 * sigma, 23 + 1.96 * sigma) # 19.20 ... 26.80