首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我们可以根据一列数字来预测序列中的下一个数字吗?

我们可以根据一列数字来预测序列中的下一个数字吗?
EN

Stack Overflow用户
提问于 2020-09-13 01:41:22
回答 2查看 336关注 0票数 2

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

这是我的数据。

代码语言:javascript
运行
复制
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%的信心。这有可能吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-13 01:58:32

解决方案

选项1-滚动平均值

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

示例

代码语言:javascript
运行
复制
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-指数平滑

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

示例

代码语言:javascript
运行
复制
from statsmodels.tsa.api import SimpleExpSmoothing

def predict(arr, sl)
    return SimpleExpSmoothing(arr).fit(smoothing_level=sl).fitted_values

参考文献

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

Python Simple Exponential Smoothing

NumPy version of "Exponential weighted moving average", equivalent to pandas.ewm().mean()

calculate exponential moving average in python

票数 4
EN

Stack Overflow用户

发布于 2020-09-13 04:00:37

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63863167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档