我们能根据一列数字预测序列中的下一个数字吗



我正试图找到一种方法来预测数字序列中的下一个数字。通常我会使用线性回归,但正如你所看到的,有日期和一列数据。没有因变量,只有一个自变量(贷款(。有没有一种简单的方法可以根据已知的数字序列来预测下一个数字,或者可能是两个数字的范围?此外,有没有办法获得结果的概率,比如90%或95%的信心?

这是我的数据。

Account                            Loans
2019 Aug                           393.3
2020 Feb                           383.2
2020 Mar                           455.4
2020 Apr                           542.0
2020 May                           510.0
2020 Jun                           483.5
2020 Jul                           465.5
2020 Aug                           448.2
Aug 12                             451.1
Aug 19                             447.5
Aug 26                             442.3
Sep 02                             444.7

最终,我希望看到这样的结果:443比445,有95%的信心。这可能吗?

解决方案

选项1-滚动平均

取最后n个值(a(的平均值。从最后一个数字(l(中减去a作为(s(。最终结果应该是l-sl+s

示例


def predict(arr, n):
l = arr[-1]
a = sum(arr[:n]) / n
s = abs(a - l)
lower_bounds = l - s
upper_bounds = l + s

return (upper_bounds, lower_bounds)

选项2-指数平滑

考虑使用统计模型的指数平滑

示例

from statsmodels.tsa.api import SimpleExpSmoothing
def predict(arr, sl)
return SimpleExpSmoothing(arr).fit(smoothing_level=sl).fitted_values

参考文献

statsmodels(简单指数平滑(:https://www.statsmodels.org/stable/examples/notebooks/generated/exponential_smoothing.html

Python简单指数平滑

NumPy版本的";"指数加权移动平均";,相当于pandas.ewm((.mean((

python 中指数移动平均的计算

首先,您需要进行一些预处理,将自变量转换为某种数字尺度。可能是从2019年8月1日开始的天数。然后你可以进行回归。

相关内容

  • 没有找到相关文章

最新更新