数据可视化之powerBI技巧(六)在PowerBI中简单的操作,实现复杂的预测分析
时间序列预测就是利用过去一段时间内的数据来预测未来一段时间内该数据的走势,比如根据过去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中简单的操作,实现复杂的预测分析的更多相关文章
- 数据可视化之powerBI技巧(十)利用度量值,轻松进行动态指标分析
在一个图表中,可以将多项指标数据放进去同时显示,如果不想同时显示在一起,可以根据需要动态显示数据吗?在 PowerBI 中当然是可以的. 下面就看看如何利用度量值进行动态分析. 假如要分析的指标有销售 ...
- 数据可视化之PowerQuery篇(十一)使用Power BI进行动态帕累托分析
https://zhuanlan.zhihu.com/p/57763423 上篇文章介绍了帕累托图的用处以及如何制作一个简单的帕累托图,在 PowerBI 中可以很方便的生成,但若仅止于此,并不足以体 ...
- 我的Android六章:Android中SQLite数据库操作
今天学习的内容是Android中的SQLite数据库操作,在讲解这个内容之前小编在前面有一篇博客也是讲解了SQLite数据库的操作,而那篇博客的讲解是讲述了 如何在Window中通过DOM来操作数据库 ...
- 数据可视化之powerBI技巧(二十一)简单三个步骤,轻松管理你的Power BI度量值
最近碰到几个星友的问题,都是问我之前分享的源文件是如何把度量值分门别类放到不同的文件夹中的,就像这样, 其实在之前的文章中也曾提及过做法,这里再详细说一下制作步骤: 01 | 新建一个空表 点击菜单栏 ...
- 数据可视化基础专题(六):Pandas基础(五) 索引和数据选择器(查找)
1.序言 如何切片,切块,以及通常获取和设置pandas对象的子集 2.索引的不同选择 对象选择已经有许多用户请求的添加,以支持更明确的基于位置的索引.Pandas现在支持三种类型的多轴索引. .lo ...
- 数据可视化实例(十六):有序条形图(matplotlib,pandas)
排序 (Ranking) 棒棒糖图 (Lollipop Chart) 棒棒糖图表以一种视觉上令人愉悦的方式提供与有序条形图类似的目的. https://datawhalechina.github.io ...
- Android源码阅读技巧--查找开发者选项中显示触摸操作源码
在开发者模式下,在开发者选项中,可以勾选“显示触摸操作”,然后只要点击屏幕就会在点击的位置有圈圈显示.如何找到绘制圈圈的代码部分,有什么技巧来阅读代码量这么大的android系统源码呢?以下请跟着小老 ...
- Git知识总览(六) Git分支中的远程操作实践
前几篇博客陆陆续续的讲了好多关于Git操作的内容,本篇博客仍然也不例外,不过本篇博客的主题是关于git的远程操作的.依照之前博客的风格,我们依然依托于LearningGitBranch中的相关内容来探 ...
- 使用bokeh-scala进行数据可视化(2)
目录 前言 几种高级可视化图表 总结 一.前言 之前已经简单介绍过一次如何使用Bokeh-scala进行数据可视化(见使用bokeh-scala进行数据可视化),以及如何在Geotrel ...
随机推荐
- 完美解决PYQT5登录界面跳转主界面方法
该问题,有很多种方法,但是很多方法要么这个有问题,要么那个有问题,最后终于找到一种没问题的方法.记录一下: Login.py(登录窗口)文件 import sys from PyQt5 import ...
- .Net 对于PDF生成以及各种转换的操作
前段时间公司的产品,要做一个新功能,签章(就是把需要的数据整理成PDF很标准的文件,然后在盖上我们在服务器上面的章) 然后我就在百度上找了找,发现搞PDF的类库很少,要么就要钱,要么就有水印,破解版的 ...
- JavaSE之流程控制结构
流程控制语句结构 一.顺序结构 public static void main(String[] args){ //顺序执行,根据编写的顺序,从上到下运行 System.out.pri ...
- ImportError: cannot import name _remove_dead_weakref
出现这个错误, 和python环境有关. 电脑有多个版本造成的. python3 有这个_remove_dead_weakref python 2.7.10 并没有_remove_dead_weakr ...
- 鼠标悬停,使用css切换图片
鼠标悬停,使用css切换图片 当鼠标悬停在li上面切换另一张图片,只需添加下述css样式即可
- docker安装,基本使用,实战
[docker概念作用术语] [使用docker的步骤] [docker安装及配置] [环境要求] docker要求centos7 必须要64位,内核3.1及以上 https://docs.docke ...
- JavaScript 集合基本操作
参考 MDN 集合 Array 1. 2种创建数组的方式 var fruits = [] ; var friuits = new Array(); 2. 遍历 fruits.forEach(funct ...
- linux网络编程-socket(1)
上面是对应的IpV4的地址结构: sin_len整个结构的大小 sin_family协议族,对应Tcp固定为AF_INET,除了tcp协议外还支持unix域协议等 sin_port socket通信的 ...
- Oracel中coalesce函数的用法
1.coalesce函数的用法 1.1 取出第一个不为空的列的数据.
- 实战笔记丨JDBC问题定位指南
JDBC(Java数据库连接性)是Java API,用于管理与数据库的连接,发出查询和命令以及处理从数据库获得的结果集.JDBC在1997年作为JDK 1.1的一部分发布,是为Java持久层开发的首批 ...