时间序列预测就是利用过去一段时间内的数据来预测未来一段时间内该数据的走势,比如根据过去5年的销售数据进行来年的收入增长预测,根据上个季度的股票走势推测未来一周的股价变化等等。

对于大部分人来说,这是个相对比较复杂的预测建模问题,但在工具如此丰富的今天,当然可以不用自己动手建模,很多工具都可以实现这一功能。本文介绍在PowerBI中如何进行时间序列预测。

折线图中的预测

时间序列数据一般使用折线图来展现,因此在PowerBI的折现图中也就有了预测功能。

先在PowerBI中创建一个折线图,

然后在分析面板中,可以看到最后要有一个【预测】功能,

展开【预测】,点击添加,有以下几个参数设置,

预测长度就是进行未来多长时间的预测,下面以50天为例,

忽略最后N个数据点,可以避免最后一些异常值的影响;还有一个功能是可以检验预测的效果,比如忽略最后50天,预测长度也是50天,这样就可以检验最后50天的实际值和预测值的差异,通过下图可以看到,实际走势的确在预测区间内,

置信区间是统计学上的一个基础术语,利用它可以计算出预测区间的上限和下限值。通过置信区间的设置,可以控制预测的质量,因为既然是预测,结果往往会有误差,几乎不可避免。

上图用的是95%的置信区间,通俗的来说,就是实际数据有95%的可能性会落在这个区间内。

如果选择的是75%的置信区间,如下图,

可以看出预测区间收窄,只有75%的可能性会落在这个区间内。

置信区间设置的越高,预测区间越大,但预测的精度较低;通过降低置信区间,可以提升预测的精度,但其可信度也随之下降。实际预测时要平衡这二者的关系。

最后还有一个参数是季节性,如果历史数据有规律性的变化,可以在这里进行设置。假如每年的销售数据有季节性的规律,如果数据点间隔是季度,就可以设置为4,如果数据点间隔为天,设置为365。这里如果不填,系统会自动检测规律性。

上面的几个预测,就是没有填写这个参数,系统没有检测出历史数据有什么规律,所以预测线都是一条直线,预测区间上下限间隔相等。

还是上图的数据,季节性填上150,置信区间为95%,看看预测区间有什么变化,

可以看到预测线也有了一定的曲折变化,这是因为根据之前150天的历史数据的涨跌变化,预测未来也有这个涨跌趋势。

当然这里不能随便填写,除非你有足够的证据表明历史数据有这个规律,否则预测结果更加难以控制。

预测数据不仅只是在折现图上展现,还可以查看预测数据并导出,

(具体如何导出数据,可以查看:PowerBI中的数据如何导出到Excel?

从以上介绍可以看出,PowerBI中创建预测具有极高的易用性,可以不用深入了解模型和算法原理,初学者也只需点击几下就可轻松实现预测分析。

当然如果想要更深入的进行预测分析,运用预测模型并精准控制模型的参数,还有几个自定义图表可以实现。

在自定义图表市场中搜索"forecast",

可以找到很多预测图表,不过都是R脚本创建的,使用之前需要电脑中先安装R程序,并加载图表需要的程序包。(关于这一块可以参考:R数据可视化)

依然运用上面的数据,挑选几个常用的自定义图表看看预测的结果

Time Series Forecasting Chart

这是利用指数平滑模型来进行预测的,可以在设置选项中设置各项参数,可以看到它有深浅两个预测区间,这是因为它可以设置两个置信区间,同时进行观察。

Forecasting With ARIMA

ARIMA就是自回归移动平均模型的简称,是一个非常著名的时间序列预测方法,PowerBI中将这一模型图表化,只需要输入相关的参数,就可以轻松运用这一模型进行预测,不过使用之前需要先了解该模型以及它的各项参数的含义。

Forecast Using Neural Network By MAQ

对这个算法原理不太清楚,不过从名字上来看,应该更加高端,是运用神经网络技术来进行预测,其结果可能会更加精准一些。

简单列出这几个自定义模型,其他的预测图表可以自己加载了解一下。通过这些模型,PowerBI将复杂的建模和算法在后台进行配置,而在界面上只需要简单的交互式参数输入,为最终用户包括数据科学家提供预测分析服务。

想要深入进行数据预测,还是要了解一下这些预测模型的原理和算法的,以便对预测的过程进行控制,对预测的结果进行解释。如果只是一般的预测,PowerBI默认的折线图中的预测也足够用了。

数据可视化之powerBI技巧(六)在PowerBI中简单的操作,实现复杂的预测分析的更多相关文章

  1. 数据可视化之powerBI技巧(十)利用度量值,轻松进行动态指标分析

    在一个图表中,可以将多项指标数据放进去同时显示,如果不想同时显示在一起,可以根据需要动态显示数据吗?在 PowerBI 中当然是可以的. 下面就看看如何利用度量值进行动态分析. 假如要分析的指标有销售 ...

  2. 数据可视化之PowerQuery篇(十一)使用Power BI进行动态帕累托分析

    https://zhuanlan.zhihu.com/p/57763423 上篇文章介绍了帕累托图的用处以及如何制作一个简单的帕累托图,在 PowerBI 中可以很方便的生成,但若仅止于此,并不足以体 ...

  3. 我的Android六章:Android中SQLite数据库操作

    今天学习的内容是Android中的SQLite数据库操作,在讲解这个内容之前小编在前面有一篇博客也是讲解了SQLite数据库的操作,而那篇博客的讲解是讲述了 如何在Window中通过DOM来操作数据库 ...

  4. 数据可视化之powerBI技巧(二十一)简单三个步骤,轻松管理你的Power BI度量值

    最近碰到几个星友的问题,都是问我之前分享的源文件是如何把度量值分门别类放到不同的文件夹中的,就像这样, 其实在之前的文章中也曾提及过做法,这里再详细说一下制作步骤: 01 | 新建一个空表 点击菜单栏 ...

  5. 数据可视化基础专题(六):Pandas基础(五) 索引和数据选择器(查找)

    1.序言 如何切片,切块,以及通常获取和设置pandas对象的子集 2.索引的不同选择 对象选择已经有许多用户请求的添加,以支持更明确的基于位置的索引.Pandas现在支持三种类型的多轴索引. .lo ...

  6. 数据可视化实例(十六):有序条形图(matplotlib,pandas)

    排序 (Ranking) 棒棒糖图 (Lollipop Chart) 棒棒糖图表以一种视觉上令人愉悦的方式提供与有序条形图类似的目的. https://datawhalechina.github.io ...

  7. Android源码阅读技巧--查找开发者选项中显示触摸操作源码

    在开发者模式下,在开发者选项中,可以勾选“显示触摸操作”,然后只要点击屏幕就会在点击的位置有圈圈显示.如何找到绘制圈圈的代码部分,有什么技巧来阅读代码量这么大的android系统源码呢?以下请跟着小老 ...

  8. Git知识总览(六) Git分支中的远程操作实践

    前几篇博客陆陆续续的讲了好多关于Git操作的内容,本篇博客仍然也不例外,不过本篇博客的主题是关于git的远程操作的.依照之前博客的风格,我们依然依托于LearningGitBranch中的相关内容来探 ...

  9. 使用bokeh-scala进行数据可视化(2)

    目录 前言 几种高级可视化图表 总结 一.前言        之前已经简单介绍过一次如何使用Bokeh-scala进行数据可视化(见使用bokeh-scala进行数据可视化),以及如何在Geotrel ...

随机推荐

  1. filebeat v6.3 如何增加ip 字段

    我们知道filebeat获取数据之后是会自动获取主机名的,项目上有需要filebeat送数据的时候送一个ip字段出来 方法:配置filebeat配置文件 解释一下:field 是字段模块 在这个模块下 ...

  2. 弹出框Alert

    selenium提供了三个处理alert的方法 注意:首先需要切换窗口到alert driver.switch_to.alert() (1)点击确定按钮 driver.switch_to.alert. ...

  3. vim改变字体和查看映射的(mapping)命令

    临时修改.通过gvim Command MODE,输入如下命令即可: Linux/Unix: set guifont=Monospace\空格14 注意这里需要对空格使用\进行转义 Windows:  ...

  4. 【String注解驱动开发】面试官让我说说:如何使用FactoryBean向Spring容器中注册bean?

    写在前面 在前面的文章中,我们知道可以通过多种方式向Spring容器中注册bean.可以使用@Configuration结合@Bean向Spring容器中注册bean:可以按照条件向Spring容器中 ...

  5. java小项目——抽奖系统

    来了来了!这不又到考试周了吗!愁人,又得复习,复习,复习!这段时间每天都在复习线代和高数!(说是复习,说实话其实是在预习,啊哈哈哈哈哈),得有一段时间都没有学到新的知识了,代码感觉都生疏了,惆怅.博客 ...

  6. 009.OpenShift管理及监控

    一 资源限制 1.1 pod资源限制 pod可以包括资源请求和资源限制: 资源请求 用于调度,并控制pod不能在计算资源少于指定数量的情况下运行.调度程序试图找到一个具有足够计算资源的节点来满足pod ...

  7. 浅析Java中Ant的使用

     Ant是一种基于Java的打包工具,Ant脚本采用XML格式编写,默认的文件名为build.xml. Ant中常用的节点元素 Project Project是项目工程的顶级节点,一个build. ...

  8. 黎活明8天快速掌握android视频教程--16_采用SharedPreferences保存用户偏好设置参数

    SharedPreferences保存的数据是xml格式,也是存在数据保存的下面四种权限: 我们来看看 我们来看看具体的业务操作类: /** * 文件名:SharedPrecences.java * ...

  9. 四层发现-TCP发现

    直接向目标ip发送一个ACK数据包,正常情况下up状态的目标ip会返回一个SRT数据包. 使用scapy构造TCP数据包: 然后在将一些数据类型设置好就可以发送了. 实用脚本实现批量扫描: #!/us ...

  10. Mybatis学习笔记(1)

    CRUD操作 1.从实体类参数中取值 #{属性名} select * from user where username = #{username} 2.当sql语句只有一个参数且参数类型是基本类型或基 ...