顶部有特征的 x 是 x 的平均值(即所有 x 的平均值)。 y 也是如此。如果 x 值为 20,28,31,38,40,则具有顶部特征的 x 为 31.4
function forecast(x, ky, kx){
var i=0, nr=0, dr=0,ax=0,ay=0,a=0,b=0;
function average(ar) {
var r=0;
for (i=0;i<ar.length;i++){
r = r+ar[i];
}
return r/ar.length;
}
ax=average(kx);
ay=average(ky);
for (i=0;i<kx.length;i++){
nr = nr + ((kx[i]-ax) * (ky[i]-ay));
dr = dr + ((kx[i]-ax)*(kx[i]-ax))
}
b=nr/dr;
a=ay-b*ax;
return (a+b*x);
}
上面的脚本为您提供了没有错误处理的预测。
您可以使用以下方法调用它
forecast(30,[6,7,9,15,21],[20,28,31,38,40]);