【问题标题】:Simple Linear Regression Prediction Algorithm in JavaScriptJavaScript 中的简单线性回归预测算法
【发布时间】:2018-04-02 20:32:07
【问题描述】:

我正在尝试根据 JavaScript 中过去的利润对组织未来的利润进行简单的预测。我的数据集将日期作为 x 轴,将利润作为 y 轴。我是数据分析的新手,基本上我对它的了解为零,我不确定哪种预测算法最合适。

我做了一些研究here和here,发现我实际上可以使用线性回归预测算法。然而,从这些例子中,我只看到预测算法只是简单地根据数据绘制一条直线以找出回归值,它根本不预测未来的任何值。

不知道上面提到的算法是否适用于我的情况?

谢谢!

【问题讨论】:

    标签: javascript algorithm linear-regression prediction


    【解决方案1】:

    预测与 JavaScript 或 HTML 无关。它只是使用回归函数。如何使您的功能适合授予的数据是回归分析的领域。您可以查看least squares method以澄清您的理解。

    回归函数的选择是另一个问题。它与您的数据来自的领域有关。您必须注意输出的限制,以便您可以采用适合业务逻辑的函数(例如,如果您的数据循环一年或一天或其他任何时间,您可以包装 sin() 或 cos( ) 作用于另一个)。

    还有另一种预测方法。它与机器学习有关,基于人工神经网络。如果你对 JS 感兴趣,我可以建议你使用 brain.js - 最简单的库来处理 JS 中的神经网络。

    【讨论】:

    • 嘿,有什么办法可以将上面的参考链接更改为自动回归?因为AFAIK,自动回归实际上会尽可能接近回归函数的曲线,对吗?因为我意识到一个问题,当我使用线性回归时,预测总是在一个方向上要么向上要么向下。如果我使用三次回归,同样的事情,但预测以曲线方式增长。这两个预测都会导致错误的值,因为我的输入数据总是上下波动。
    【解决方案2】:

    这在很大程度上取决于业务以及您拥有多少数据。过去的历史是否遵循规律的线性进展?如果是这样,那么线性模型将是有意义的。有没有起起落落?什么解释了这些?是季节性的还是其他周期性的?如果是这样,您需要将这些考虑在内。是否存在具有非常罕见的巨大异常值的特定时期?也许纠正(删除)这些会产生更好的结果。

    没有万能的解决方案。

    【讨论】:

    • 数据集非常小,大约有 4k 条记录,并且有起有落。我只是想知道线性回归是否真的可以执行预测,因为从我从示例中看到的,他们只是根据所提供的数据绘制一条直线,并且根本不预测未来的任何事情。 (我知道我可能是错的,因为我在这个领域没有太多的知识,如果我错了,请纠正我:))这违背了我想要达到的目的是在未来获得预测值。
    • @guest176969 是的,然后可以使用推导线性回归进行预测,其准确性将取决于数据和公式对数据的适用性。
    • 我的意思是根据过去的数据,我可以画出回归线。但是我应该如何扩展回归线来预测未来几年的利润呢?上面的两个例子从来没有显示出来。
    • @guest176969 您指出的示例已经完全符合您的要求。看console.log("Weight for a child 15 years old:",f(15));
    • 我明白了,非常感谢!但是,我意识到一件事,如果我的数据疯狂地上下波动,那么上面的线性回归预测不正确。有没有办法把它改成三次回归?
    猜你喜欢
    • 1970-01-01
    • 2021-02-27
    • 2016-05-24
    • 2015-06-19
    • 2018-10-09
    • 2021-01-19
    • 1970-01-01
    • 1970-01-01
    • 2016-04-14
    相关资源
    最近更新 更多