PHP像excel TREND函数一样计算趋势线

我的math是非常周,现在仍然在想如何用PHP实现这一点。 我正在使用excel TREND()函数。 假设我有2个已知值的列表

| known_x_values | known_y_values | |----------------|----------------| | 323 | 0.038 | | 373 | 0.046 | | 423 | 0.053 | | 473 | 0.062 | | 523 | 0.071 | | 573 | 0.080 |

现在我需要知道x = 428时的值y 。 通过使用excel TREND()函数,我得到0.055作为值y。

任何人都可以告诉我PHP如何处理这种math问题?
任何帮助,将不胜感激。 谢谢。

Excel的TREND()使用最小二乘法 。

math很难,所以我会用图书馆来完成繁重的工作。 在这种情况下, php-ai / php-ml 。

例:

 use Phpml\Regression\LeastSquares; $x = [[323], [373], [423], [473], [523], [573]]; $y = [.038, .046, .053, .062, .071, .080]; $regression = new LeastSquares(); $regression->train($x, $y); echo $regression->predict([428]); 

输出:

 0.054973333333333235 

根据您的精度设置,输出可能会有所不同。


你当然可以round()number_format()结果如你所愿,例如:

 echo number_format($regression->predict([428]), 3); 

得到:

 0.055