線形回帰の方法

変数(x, y) の回帰
f(x) = a + bx

a = avg(y) - cov(x, y) * avg(x) / var(x)
b = cov(x, y) / var(x)
R^2 = 1 - avg((f(x) - y) * (f(x) - y)) / var(y)

avg、var、cov はそれぞれ平均、分散、共分散を表す。
分散と共分散は、次式を利用すると計算ループがひとつ減る。
var(x) = avg(x * x) - avg(x) * avg(x)
var(y) = avg(y * y) - avg(y) * avg(y)
cov(x, y) = avg(x * y) - avg(x) * avg(y)