我正在尝试使用回归根据过去的记录对组织的 future 利润进行简单预测。我正在关注 this link .出于测试目的,我更改了示例数据并产生了以下结果:
我的实际数据是日期和利润,它们会上下波动,而不是连续递增。我意识到上述方法适用于随着预测非常准确而不断增加的样本数据。但是,当我将数据更改为屏幕截图中疯狂上下的数据时,预测不再那么准确了。
只是想知道是否有任何方法可以提高回归的准确性,因为我的数据会上下波动。
谢谢!
最佳答案
当您进行回归时,您正在为数据拟合一个模型。换句话说,您是在说“这是一个粗略描述数据行为方式的方程式”。在线性回归的情况下,模型/方程为:
y = a * x + b
其中 x 是输入,y 是输出。通过进行线性回归,您是在说“我的数据遵循一条直线,这是我的数据,最适合数据的参数 a 和 b 是什么?”。
显然,如果您的数据不沿着一条直线,这将很糟糕。例如看this image我在 Google 图片上找到了。
很明显,您可以看到数据具有某种复杂的波浪形状 - 它上下波动,然后再次上升。线性模型不够复杂,无法表达这种形状(只能做直线)。所以不太合适。
由于您需要一个更复杂的模型,因此您必须选择一个。有几十个标准的,你可以自己制作。所有模型都是一个方程式,其中包含一些可以调整的固定参数,以便方程式适合您的数据。
我建议您尝试使用 Excel 或 Google 表格中的趋势线选项来感受一下。查看趋势线类型位 here对于一些常见的模型。
请注意,这些方法都不适用于月度利润,因为它们都不是真正的周期性方法。您可能需要一个模型,该模型是一些重复乘数的组合以捕获月与月的变化,然后是线性或多项式组件以捕获年利润随时间增加或减少的事实。
但是,您不希望模型表现力过强,否则您会过度拟合数据(基本上它会在噪声中看到模式)。
关于javascript - JavaScript 中的简单回归预测算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46881282/