Materi
Rata-rata bergerak orde N, menurut NIST, adalah M_t = (X_t + X_{t−1} + … + X_{t−N+1}) / N: rata-rata N pengamatan terakhir yang digeser satu periode setiap kali. Di pandas, s.rolling(N).mean() menghitungnya dan menaruh hasilnya di ujung kanan jendela, sehingga N − 1 baris pertama NaN. Sebagai ramalan, rata-rata N periode terakhir dipakai untuk periode berikutnya; di pandas itu berarti menggeser hasilnya satu baris dengan shift(1). Makin besar N, makin mulus hasilnya, tetapi makin lambat mengikuti perubahan. NIST juga mencatat bahwa rata-rata bergerak tidak mampu mengikuti tren yang kuat.
Untuk memperkirakan tren, rata-rata ditaruh di tengah jendela: rolling(3, center=True). Orde genap tidak punya titik tengah, jadi Hyndman dan Athanasopoulos memakai rata-rata bergerak dari rata-rata bergerak: 4-MA lalu 2-MA, disebut 2×4-MA atau rata-rata bergerak terpusat orde 4. Bobotnya 1/8, 1/4, 1/4, 1/4, 1/8 pada lima nilai di sekitar t. Di pandas: s.rolling(4).mean().rolling(2).mean().shift(-2). Di spreadsheet, rata-rata tiga minggu terakhir cukup ditulis dengan AVERAGE pada tiga sel di atasnya lalu disalin ke bawah.
Contoh dengan data lain: pengunjung situs per hari.
import pandas as pd
pengunjung = pd.Series([300, 320, 310, 330, 350, 340], dtype=float)
ma3 = pengunjung.rolling(3).mean()
print(ma3.shift(1).tolist()) # ramalan hari t dari tiga hari sebelumnya
# [nan, nan, nan, 310.0, 320.0, 330.0]
print(pengunjung.rolling(3, center=True).mean().tolist())
# [nan, 310.0, 320.0, 330.0, 340.0, nan]