大数据教你实现预测未来,这不是梦


随着数据挖掘与人工智能技术的发展,越来越多的企业将大数据运用到生产实践与决策指导中。其中,构建合适的模型对未来的趋势进行预测,是数据挖掘中十分重要的一部分。


本文将通过一个小案例教会你如何利用数据挖掘技术实现预测未来不是梦。



【工具】R语言

【算法】多元线性回归模型

【目标】预测2018年第一季度小卖部的周均客流量 

数据准备


线性回归是指利用数理统计中回归分析原理,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛,其表达形式为y = w'x+e。多元线性回归预测,则是指利用两个或两个以上自变量的最优组合对因变量进行预测。



看不懂?没关系,我举个栗子你就明白了——在本文案例“预测2018年第一季度小卖部的周均客流量”的课题中,因变量就是我们需要预测的内容,即客流量;自变量则指的是可能对小卖部客流量产生影响的若干个因素。


自变量的选择尤为重要,一个优秀的数据分析师应该运用其严密的逻辑、熟练的业务和天马行空的想象力,尽可能地将所有的相关因素一列俱全!手机前的你也可以暂停几秒,看看自己脑海中能想出什么样的自变量因素呢?


经过思考和讨论,分析师给出了以下一些自变量清单:


  • 小卖部业务水平相关因素:商品种类、商品价格、商品缺货率、售货员人数、收银台数量、促销商品数量、促销折扣力度……

  • 小卖部所在社区相关因素:社区占地面积、社区居住人口、社区人流量、社区房价、社区物业服务水平……

  • 宏观经济因素:居民消费指数、恩格尔系数、定期存款利率、活期存款利率……

  • 其他因素:政府政策、天气情况……


也许你会觉得这些变量——也太多了吧!怎么找啊!怎么处理啊!跟客流量有毛线关系啊!不用担心,一方面,比我们更加机智的模型算法会帮我们挑选出最合适、预测效果最佳的几个变量;另一方面,受现实因素的限制,许多的变量数据是我们无从搜集或无法获取的。


我们采用了实地考察、走访调查、蹲点采集、撒娇卖萌等各种手段,最终获取到了以下8个指标作为预测模型的自变量:


  • 小卖部商品种类

  • 小卖部商品均价

  • 小卖部开启的收银台数量

  • 小卖部的促销力度

  • 小卖部的卫生情况

  • 小卖部商品缺货率

  • 小区客流量

  • 当地气温


要注意,一家人呢,最重要的就是整整齐齐,数据也是。以上数据必须时间跨度统一(都是从2003年1月至2018年3月的数据)、粒度统一(都是周度数据),且获取的数据越多,模型预测的效果也就越好。


当然还少不了已知的小卖部客流量数据(2003年至2017年的周度数据)。

 

构建预测模型


接下来是高大上的代码实现阶段,不要紧张,请跟着我一步步走——


1、输入数据。


train为训练集数据,即2003年至2017年所有字段的周度数据。test为预测数据,需要预测2018年第一季度的客流量,则,test数据集包括了2018年1月至3月共13周的自变量数据。



2、拟合线性模型。


R中实现拟合线性模型的基本函数是lm(),客流量即为需要拟合得因变量,英文字符“.”代表数据框df_train中的全部变量。



用summary查看拟合结果,结果中有四个指标需要关注:

  • 一是每个变量倒数第二列的t value,即T检验,是检验变量显著性的指标。

  • 二是每个变量最后一列的P值,P值越小,回归效果越显著,后面星级越高。

  • 三是倒数第二行拟合优度R-squared和修正拟合优度Adjusted R-squared,衡量回归方程对样本的拟合程度,值越接近于1,回归效果越好。

  • 四是最后一行的F-statistic值,即我们常说的F统计量,是检验方程整体显著性的指标。



3、逐步回归,构建最优模型。


在step和drop过程中,模型会自动筛选出一些对于预测效果无影响或是起反作用的不好的自变量,也就是P值较大的变量。drop函数会给出下一步线性拟合的变量因素。有时也可以根据P值手动筛选掉效果不佳的变量因素。


在第2步summary(Lm)的结果中,“收银台数量”这一变量的P值约为0.08,其星级也小于其他变量,因此可以在下一步拟合中尝试去掉该变量。



查看step2的拟合结果:去掉“收银台数量”这一变量后,拟合优度R-squared和修正拟合优度Adjusted R-squared和上一步的值相差不多,说明提出的变量并没有对结果产生较大的影响。



在构建拟合模型过程中,可以不断地剔除P值较大、星级较小、拟合效果不好的变量,直到模型能够使用最少的因素达到最佳的预测效果。

预测结果


构建出最佳的拟合模型后,我们就可以用该模型来进行预测。predict函数的两个参数分别为“构建出的拟合模型”和“预测集的变量数据”,即调用step2模型对test数据集进行预测。输出predict结果,即得到了预测出的2018年第一季度共13周的小卖部客流量数据。



经过缜密的分析和精确的计算,我们最终得到了最终结果——2018年第一季度小卖部的周均客流量预计为:



同学们学会了吗?代码拿去,赶快练习练习,下一个数据分析高手就是你哦!




本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/303673.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

简单而不简陋﹣wp7视觉点滴

一直就很期待,引入了Metro设计理念的wp7的真实操作体验,现在终于如愿了。拿到测试机,首先迅速的过了一遍,第一印象就是界面简单明了,没有华丽的高光、没有跌宕的质感,真的感觉就像在公共场所看到的信息指示…

ros发布节点信息python_vscode开发ROS1(13)-python实现话题通信(msg)

写在最前面1, ros也是可以使用python进行编程的, 而且相比c来说, ros更加简单.使用python创建第一个ROS程序1, 在ros_test目录下, 新建一个scripts文件夹.2, 修改CMakeLists.txt文件, 在find_package中添加rospyfind_package(catkin REQUIRED COMPONENTS roscpp ... #其他的包 …

BeetleX 之 WebApi网关1.5.8发布

这一版本的主要升级了BeetleX的基础网络库,主要解决在某些情况导致解释http协议cpu暴增长的问题,同时使用BeetleX新版本针对的IndexOf的优化,使http协议解释上有着一定程度的性能提升。新版本同样也是支持win64和linux64两个版本,…

html css 重复,CSS重复定义的问题请教_html/css_WEB-ITnose

,是不是就无效了?回复讨论(解决方案)外部css样式和内部css样式同时存在,以内部css样式为准。内部css样式与标签的style属性同时存在,以style属性的样式为准。你说的这种情况应该是两者都会有效,但CSS类的优先级更高&am…

入门 | 机器学习第一课:决策树学习概述与实现

基于树的学习算法在数据科学竞赛中相当常见。这些算法给预测模型赋予了准确性、稳定性以及易解释性。其中,决策树算法也是引人关注的「随机森林」算法的基础构造模块。本文介绍了决策树的概念和简单实现,使用生动的示例帮助理解,希望能够对你…

LoadPostData 的一些注意事项

LoadPostData是接口IPostBackDataHandler的方法 方法一般长这样 public bool LoadPostData(string postDataKey, System.Collections.Specialized.NameValueCollection postCollection) { string strOldValue Text; string strNewValue postCol…

egg前面加什么_国威说阀:阀门前面为什么加国标美标日标之类的?

原标题:国威说阀:阀门前面为什么加国标美标日标之类的?美标阀门就是美国标准的意思,通常称呼的美标球阀,美标闸阀和其它什么阀门都是按照美国标准制造出来的阀门其中一类。标准的编制说明是一个非常重要的文件。它阐明…

读《有效需求分析》

最近在一个技术群里看到张逸大佬强力推荐一本关于需求分析的书《有效需求分析》,于是在 Kindle 上下单了,读完后有一种相见恨晚的感觉。本书特点从书中的一些案例可以看出,作者擅长 ToB 软件的需求分析,如果您是从事的 ToB 软件的…

超时锁定计算机,就会发现多了一个控制台锁定显示关闭超时选项

小技巧:锁定屏幕方法多在临时要离开电脑时,可用CtrlAltDel组合键、WinL组合键或在开始菜单中单击用户头像选择“锁定”手动锁屏;或借用“屏幕保护设置”设定自动定时锁屏。1. 探寻自动锁屏时间修改离开电脑一段时间后Windows 10会自动锁屏,但…

忽略NVRAM的config,修改cisco密码

修改configuration-egister(配置寄存器)的位值,忽略NVRAM里的start-running,修改enable密码 默认位置为0x2102,可以通过route#show version 最后行查看 Cisco2600 reload......CtrlBreak rommon> confreg 0x2142 remmon> re…

超好用的27个谷歌Chrome浏览器使用技巧

编者按:Chrome堪称浏览器的业界良心,但是你真的完全懂得它的正确打开方式吗?这27条tips能帮助你实现一些你从未想到的功能,提升工作效率、节省大量时间。赶紧get起来吧!本文编译自 fastcompany 原题为 27 Incredibly U…

android数据存放map_ES6 的新鲜玩意儿——集合set、map、WeekSet、WeekMap

es6新增了Set、Map、WeekSet、WeekMap 四种数据结构。C#中有HashSet和Dictionary,HashSet和Dictionary都是范式集合,但是es6不支持接口开发,所以也就不存在范式。Set 是存唯一值的集合,Map是存键值对的集合。WeakSet、WeakMap分别…

大牛领导单独找我聊了两句:搞框架的同时别忘了算法

前言程序数据结构算法,好的算法能让程序更高效的运行;在当今数据信息时代,数据分析和数据处理肯定是避免不了,而算法便成为了很多公司门槛级的要求,特别是大厂;赶紧搞起来,说不定离进大厂就只差…

HTML第八章ppt,第八章 web基础教程之HTML篇v1.0.ppt

HTML表格 总结:表格在页面上最主要的作用其实不是绘制实际中使用的表格,更多情况下是为了使用页面看起来更规整,而将页面各部分放置到表格中 发展情况:表格已经逐渐被淘汰 divcss已经成为主流。 HTML列表 无序列表: 无…

10个例子带你了解机器学习中的线性代数

本文介绍了 10 个常见机器学习案例,这些案例需要用线性代数才能得到最好的理解。线性代数是数学的分支学科,涉及矢量、矩阵和线性变换。它是机器学习的重要基础,从描述算法操作的符号到代码中算法的实现,都属于该学科的研究范围。…

C#使用iTextSharp操作PDF文件

概述html文件怎么转成PDF文件?有的招聘网上的简历导成DOC文件,不能直接使用,这样造成很大的困扰,那么它还有一个格式,那就是html格式。将文件导出成html格式,然后再转成PDF文件,这样便可以直接使…

springboot 历史版本文档_Springboot看视频学太慢?来看看这份阿里深入实践Springboot文档...

前言:之前 Spring Boot 2.2没能按时发布,是由于 Spring Framework 5.2 的发布受阻而推迟。这次随着 Spring Framework 5.2.0 成功发布之后,Spring Boot 2.2 也紧跟其后,发布了第一个版本:2.2.0。关于Spring Boot的性能…

广东省计算机应用(2010),2010年广东省高等教育自学考试计算机基础及应用(N)试卷(课程代码.doc...

2010年广东省高等教育自学考试计算机基础及应用(N)试卷(课程代码.doc2010年1月计算机基础及应用试题及答案 第 PAGE 5页 共 NUMPAGES 5页2010年广东省高等教育自学考试计算机基础及应用(N) 试卷(课程代码 08425)单项选择题(本大题共30小题,每小题1分,共3…

为什么 IEnumerable 没有提供 ForEach ?

咨询区 Cameron MacFarland&#xff1a;为什么 IEnumerable 接口没有 ForEach 扩展方法&#xff1f;我观察到能获取 ForEach 方法的类是 List<>&#xff0c;有谁知道这么设计的原因吗&#xff0c;是为了性能&#xff1f;回答区 aku&#xff1a;ForEach 方法其实在 Linq 之…

51CTO技术沙龙4月23日第四期:如何快速定位******

人 在江湖飘&#xff0c;哪能不挨刀&#xff1f;没有跟***打过交道的运维人员能有多少&#xff1f;恐怕工作时间长的朋友大多都遇到过。我们除了做好防御之外&#xff0c;也可以尝试着像“盗梦空间”那 样了解******的动向。也可以从追踪***到挖掘***隐藏技术。当然&#xff0c…