Javascript 中 Excel 的预测公式

Cyr*_* N. 2 javascript excel forecasting

我正在尝试根据 Excel 中的代码在 Javascript 中创建预测函数,在https://support.office.com/en-US/article/FORECAST-function-50CA49C9-7B40-4892-94E4-7AD38BBEDA99 中解释

但我不明白公式中带有特征的 x(也是 y)是什么,所以我不知道如何在 Javascript 中翻译它。

有人可以帮我吗?

谢谢你。

Kar*_*pak 5

顶部有特征的 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);
}
Run Code Online (Sandbox Code Playgroud)

上面的脚本为您提供了没有错误处理的预测。

您可以使用以下方法调用它

forecast(30,[6,7,9,15,21],[20,28,31,38,40]);
Run Code Online (Sandbox Code Playgroud)