我正在研究Java项目,该项目涉及通过n个数据点的滚动 / 滑动窗口拟合简单的线性回归线。对于每个添加的新点,需要重新计算线性回归斜率和截距。我们目前使用org.apache.commons.math3.stat.regression.SimpleRegression
来进行此计算,但每次重新计算整个窗口的成本很高。
所以我有两个问题。
SimpleRegression
有一个removeData方法,用于"流模式"。 (参见以下引文API)。但是没有关于此流媒体模式的其他信息&#34 ;;正确实现,累积错误等...有没有人有一个如何在流模式下正确使用它的例子?或者有人能指出我更好的信息来源吗?"此方法允许在流模式下使用SimpleRegression实例,其中回归应用于滑动窗口"然而,调用者负责维护窗口中的观察集。 "
谢谢, 克
答案 0 :(得分:0)
通过查看源代码,我认为这仅意味着存在方法 removeData ,该方法可以反转addData所做的计算。因此,调用者必须记住窗口中的数据,并在数据“退出”窗口时将其一一删除。