转载自:www.loyhome.com/r并行做大数据时间序列分析与bootstrap/

好久没写关于经济学的文章了...今天看到两个搞matching的人拿到诺奖,瞬间想起当年和一个学心理学出身的童鞋一起搞的考虑到心理学因素的matching game...可惜最后没有时间完善,就放在那里当雏形了。我们的idea应该还是蛮有新意的呢~matching需要设计机制,然后用博弈来解,哎,很好玩的...

很多人都知道我是不搞时间序列分析的,尤其不喜欢基于时间序列的因果推断(格兰杰因果检验几乎是被我打入黑名单的一个词)。但这次为什么专门写这么一篇blog post呢?其实,我不反对时间序列作预测嘛~而google这篇paper,目的在于预测,又是latex排版的(搞不好还有sweave或者knitr的功劳),读起来赏心悦目的多。

这篇paper题目是:

Large-Scale Parallel Statistical Forecasting Computations in R

地址见:http://research.google.com/pubs/pub37483.html

亮点自然是:大数据计算、map reduce、时间序列分析、bootstrap (所以说google是一家让人尊敬的公司,http://t.cn/zlbAYJY这里总结了他将学术成果悄无声息的服务于大众的案例)。虽说大半夜的,但看到这个东西,再也睡不着了,索性写完一吐为快。(那次沙龙还说到来着,看吧,google早把这些好玩的东西都搞定了,只是不公开拿出来给大家用罢了~)

1. 并行算法

并行算法这里,主要是map reduce。他们的任务主要有:

  • Facilitate parallelism of computations on up to thousands of machines without access to shared NFS filesystems(上千个节点的并行计算,无共享的NFS文件系统).
  • Make distribution of code and required resources as seamless as possible for analysts to minimize code modifications required to enable parallelism.(无缝衔接各环节,减少分析师写并行算法工作量)
  • No setup or pre-installation of R or specific libraries should be required on the machines in the cluster. A virtual machine for the workers should be created dynamically based on the global environment and available libraries of the caller(节点上无需事先安装R,虚拟机会自动按需构建).
  • Return results of parallel computations in list form directly back to the calling interactive session, as with lapply in R.(lapply函数直接返回并行结果)
  • Allow the parallel functions to be used recursively, so that MapReduce workers can in turn spawn additional MapReduces.(并行函数可以循环调用)

系统构架如下:

然后若干技术细节还包括,搞定R函数复制和计算的环境并行同步,搞定data.frame和list存储格式与在map函数中直接调用。搞定后,基本底层就搭建好了,剩下的就是调用R了。

2.时间序列预测

最典型的就是google trend的预测了...

这里他们直接用R包googleparallelism,然后希望用一些时序模型都尝试,做预测,然后取他们的均值(剔除上下总计20%)作为估计值以减少误差。示意图如下:


我只能说,果然是做机器学习的人啊,和random forest思路一致,弱的分类器结合起来,可能有意想不到的结果。同样的,每个模型都是多少有效的话,平均一下就更稳健啦,尤其是在大数据支撑下...

这样的平均之后已经无法直接推导方差和置信区间,所以他们采取了更依赖机器计算的bootstrap方法,直接强行算出来置信区间...喵的,我只能说谁让当年高斯那群天才整出来大数定律和中心极限定理呢?推不出来估量量方差不要紧嘛,直接重抽样模拟就好了...汗。

3.训练集

果然是做机器学习的人,接下来的思路就是直接一期期训练模拟呗。这个没啥说的了,见下图。

模拟出来的结果示意图:

至此,整个问题解决完毕。细节还请大家直接去看原文paper。我的几点感触吧:

  • 1. 机器学习之所以在业界这么受欢迎,主要是其确实能够解决问题。迅速、有效,这个是其他方法比不上的。
  • 2. 大数据、大规模计算,使得一些很简单的idea借助模拟和重抽样方法,大放异彩。
  • 3. 预测,有时候不比因果推断次要。
  • 4. 传统模型,需要适应大数据。
  • 5. 说到底,理论体系还是有待完善的。希望这类方法是下一个微积分,可以先用,然后慢慢补充完相应理论体系。这样,我们才知道什么时候,需要勒贝格测度来取代原有牛顿积分。

总之,虽然无奈,但是有用之物必有有用的道理。期待对理论研究的冲击和激发。

R并行做大数据时间序列分析与bootstrap相关推荐

  1. python和r语言做大数据_R和python大数据

    数据科学界华山论剑:R与Python巅峰对决 如果你是数据分析领域的新兵,那么你一定很难抉择--在进行数据分析时,到底应该使用哪个语言,R还是Python?在网络上,也经常出现诸如"我想学习 ...

  2. 中国哪些公司在做大数据

    2019独角兽企业重金招聘Python工程师标准>>> "大数据"近几年来可谓蓬勃发展,它不仅是企业趋势,也是一个改变了人类生活的技术创新.大数据对行业用户的重要 ...

  3. 女生做大数据有发展前景吗?能学会吗?

    女生做大数据有发展前景吗?当前大数据发展前景非常不错,且大数据领域对于人才类型的需求比较多元化,女生学习大数据也会有比较多的工作机会.大数据是一个交叉学科涉及到的知识量比较大学习有一定的难度,女生比较 ...

  4. 想做大数据的,可以看看这个学习路线,超全!

    薪资高.机会多.缺口大,让大数据在开发圈里成了香饽饽. 与此同时,在我做公众号的这两年,目睹了太多人「从入门到放弃」,甚至有些人连大数据的门都没进来.看看你是哪种? 在中小企业做了一段时间大数据,但是 ...

  5. 从腾讯入职到离职,我仅用了三周:做大数据的同事看不起做报表的

    这是很多年前的事情了,从腾讯入职到离职,我用了三周,理由很简单,做大数据的同事看不起做报表的,当然,我是做报表的那个. 做大数据的,就一定能做好报表吗? 报表是企业IT数据建设必不可少的一环,小到一张 ...

  6. 做大数据风控,需要做哪些准备?

    不定期更新信贷大数据风控的相关内容(命名为#大数据风控手册#),一是对工作的沉淀和总结,二是为对大数据风控感兴趣的大家提供参考.今天来看看做大数据风控,需要哪些基本条件. 欢迎加微"huai ...

  7. 30岁转行做大数据分析师可行性高吗?

    30岁转行做大数据分析师为时不晚,但是我不建议大家盲目转行.为什么这么说?30岁正值人生的关键时期,如果工作正出于上升期或者比较稳定的状态,一般不会轻易转行,因为转行的风险比较大.当然如果你已经下定决 ...

  8. 互联网金融做大数据风控的九种维度

    互联网金融做大数据风控的九种维度 2017-11-22 13:56 260人阅读 评论(0) 收藏 举报 分类: 信用征信知识(11) 转载自:http://www.cnblogs.com/nxld/ ...

  9. 女生做大数据有发展前景吗?

    当前大数据发展前景非常不错,且大数据领域对于人才类型的需求比较多元化,女生学习大数据也会有比较多的工作机会.大数据是一个交叉学科涉及到的知识量比较大学习有一定的难度,女生比较适合大数据采集和大数据分析 ...

最新文章

  1. C#用 SendKyes 结合 Process 或 API FindWindow、SendMessage(PostMessage) 等控制外部程序
  2. 遭遇Web print
  3. MySQL选择数据库(MySQL USE语句)
  4. matlab 涡轮流量计_秦皇岛卫生级流量计定制
  5. 上海大学计算机工程与科学学院官网,上海大学计算机工程与科学学院.PDF
  6. [转].NET学习网站收集
  7. 电饼锅的样式图片价格_2020年三明治机/电饼铛推荐选购指南,电饼档那个牌子好?有哪些好用的三明治机/早餐机/电饼铛?...
  8. Android Button监听的方式
  9. Leetcode每日一题:34find-first-and-last-position-of-element-in-sorted-array(排序数组中查找某元素的两端位置)
  10. 674. 最长连续递增序列
  11. oracle 快速关闭_快速关闭
  12. 【转】Java多线程编程(十)-并发编程原理(分布式环境中并发问题)
  13. MySQL latch小结
  14. Vue中子组件向父组件请求数据时的数据格式问题
  15. [洛谷P3388]【模板】割点(割顶)
  16. 快递单号查询国外公司编码汇总_快递鸟
  17. Win10smb2.0共享至android速度慢问题解决
  18. LaTeX \subfloat 引用子图片使用小括号
  19. 自动驾驶是一门怎样的生意?盘点5家创业公司商业落地的3条逻辑...
  20. 常见品牌的手机型号所代表的含义

热门文章

  1. Pulseaudio之nemo(二十二)
  2. QT之Win10安装(五)
  3. Android系统音量范围0-100,步进值5(十三)
  4. 解决C++中multiple definition of问题
  5. C++关键字 friend
  6. vs2015编译ffmpeg
  7. 去中心化究竟是什么意思?
  8. python slice函数_python中slice函数如何实现?
  9. ngin IP跳域名 域名跳域名 if多判断
  10. mysql 执行计划 视频_实战讲解MySQL执行计划,面试官当场要了我