Materi
Tren linear memodelkan deret sebagai garis y_t = a + b·t, dengan t nomor periode. Koefisiennya ditaksir dengan kuadrat terkecil, yang menurut NIST memilih a dan b yang meminimalkan jumlah kuadrat selisih antara data dan garis. Ramalan periode ke depan diperoleh dengan memasukkan nomor periode itu ke persamaan garis. Berbeda dengan drift yang hanya memakai titik pertama dan terakhir, regresi memakai semua titik, sehingga satu pengamatan ekstrem di ujung tidak menentukan kemiringan sendirian.
numpy.polyfit(t, y, 1) mengembalikan koefisien dari pangkat tertinggi, jadi hasilnya [kemiringan, intersep], dan numpy.polyval(koefisien, t_baru) menghitung nilai garis. scipy.stats.linregress(t, y) mengembalikan objek dengan atribut slope, intercept, dan rvalue. Di Excel dan lembar kerja kita, FORECAST.LINEAR(x, known_y, known_x) langsung memberi nilai garis di x; urutan argumennya y dulu baru x. Menurut dokumentasi Microsoft, FORECAST.LINEAR menggantikan FORECAST sejak Excel 2016 dengan sintaks dan pemakaian yang sama.
Contoh dengan data lain: jumlah anggota koperasi lima tahun.
import numpy as np
from scipy import stats
tahun = np.arange(1, 6)
anggota = np.array([100, 108, 118, 124, 135])
koef = np.polyfit(tahun, anggota, 1)
print(koef) # [ 8.6 91.2] kemiringan, intersep
print(np.polyval(koef, 6)) # 142.8
r = stats.linregress(tahun, anggota)
print(r.slope, r.intercept) # 8.6 91.2