博客内容简介及目录 http://www.cnblogs.com/weibaar/p/6644261.html

纪念一下,在心心念念想从会计本科转为数据分析师快两年后,近期终于迈出了使用R的第一步,在参考他人的例子前提下,成功写了几行代码。用成本的角度来说,省去了部门去买昂贵的数据分析软件的金钱和时间,而对自己来说,则是在数据分析又迈出了一步,往经济宽裕又迈出了一步,往财务自由又迈出了一步,不得不写个随笔纪念一下。

以及,有时候,入门真的没有想象中困难,关键是要找到入门的方法,一窍通,百窍通。

以下为代码。简而言之就是写了一个时间序列预测的代码,包括完整的数据导入,数据处理和数据输出过程。加载了forecast包,应用了auto.arima函数。

 rawdata<-read.table("file.csv",header=TRUE,sep=",")
library(forecast)

4
Rawdata_Grand.Total=rawdata$Grand.Total
TS_Grand.Total=ts(Rawdata_Grand.Total,start=2011,frequency=12)
Arima_Grand.Total<-auto.arima(TS_Grand.Total,trace=T)
Forecast_Grand.Total<-forecast(Arima_Grand.Total,h=12,fan=T)
Forecast_Grand.Total$Mean
Mean_Grand.Total<-Forecast_Grand.Total$mean[3-14]
Lower_Grand.Total<-Forecast_Grand.Total$lower
Lower_Grand.Total_96=Lower_Grand.Total[3-14,16]
Upper_Grand.Total<-Forecast_Grand.Total$upper
Upper_Grand.Total_96=Upper_Grand.Total[3-14,16]
Result_Grand.Total<-data.frame(Mean_Grand.Total,Lower_Grand.Total_96,Upper_Grand.Total_96)
write.csv(Result_Grand.Total,'result.csv')

解决问题中学会几点:

1)有的R没有forecast的包,这一般是因为R版本太低导致的,可以到CRAN上去具体搜这个包的名字,看看版本要求。一般升级R既可以解决(吐槽:R的升级竟然要重新安装包!太不智能了!不过R在一个系统里可以安装N个版本,也很神奇)

2)关于数据载入,最方便的还是read.table引入csv格式,这里空格会变成.,注意标题清理。以及R对大小写的要求超级高……

3)时间序列转换,用ts(data,start=xxxx,frequency=12)可以自动生成月度数据,超级方便。

4)forecast包很万能,有auto.arima可以自动拟合函数,然后forecast可生成观测值,这里我选的是12.然后fan=T(生成一堆预测值),fan=F,生成80%,95%置信区间预测值。

5)forecast生出的那个结果包,表面上生成的是各个置信区间的值,实际上……实际上生成了一个对象,当使用attributes查看时,出来了以下

> attributes(Forecast_Grand.Total)
$names [1] "method" "model" "level" "mean" "lower" "upper" [7] "x" "xname" "fitted" "residuals"
$class [1] "Forecast_Grand.Total"

所以之前我花了很大精力,想直接调用forecast生成的那个预测值以及96置信区间,最后都失败了。最后使用attributes查看后,再用$引用即可了,然后取1-12,第16列等,不知道是否有更简便的方法。

6)r直接输出为csv实在太爽!就是不知道有没有R合并各个文件的好方法,不然太糟心。

随文附上数据,已经做模糊化处理,不要太讲究数据质量

20900,18100,21100,21100,24800,24000,27200,29600,30100,33800,37900,36500,34900,34300,34700,36400,44300,37800,47100,45900,47800,51500,56300,52500,60600,54000,55900,52500,54500,51700,56400,62700,63400,65000,73500,72600

R入门-第一次写了一个完整的时间序列分析代码的更多相关文章

  1. 今天我自己第一次写了一个Windows批处理bat脚本,一起学习一下吧。

    今天我自己第一次写了一个Windows批处理bat脚本,备注一下 事情原由:自己使用Java开发了一个加解密的工具.但是当把工具给别人使用的时候,别人还需要把代码编译打包, 然后还需要看一下代码里面的 ...

  2. 如何写好一个完整的Essay写作论证

    主体段是我们留学生在Essay写作中陈述观点和论述观点的核心段落,那么一个完整的论证应该包含哪些要素呢?我觉得有这么几项:主旨句.解释.例证.小结(非必需) 这些其实也是我们在说服他人接受我们的观点时 ...

  3. Orchard入门:如何创建一个完整Module

    这是一个Orchard-Modules的入门教程.在这个教程里,我们将开发两个功能页面分别用于数据录入与数据展示. 完成上述简单功能开发,我们一共需要6个步骤.分别为: 创建Module 创建Mode ...

  4. nodejs入门学习笔记一——一个完整的http路由服务实现

    开始学习nodejs! 参考书籍:The Node Beginner Book ,所有问题和讨论都围绕本书. 1.学习nodejs需要具备的基础知识: js基本语法,基本上写过前端的都能满足,原生js ...

  5. java nio 写一个完整的http服务器 支持文件上传 chunk传输 gzip 压缩 使用过程 和servlet差不多

    java nio 写一个完整的http服务器  支持文件上传   chunk传输    gzip 压缩      也仿照着 netty处理了NIO的空轮询BUG        本项目并不复杂 代码不多 ...

  6. 和S5933比较起来,开发PLX9054比较不幸,可能是第一次开发PCI的缘故吧。因为,很多PCI的例子都是对S5933,就连微软出版的《Programming the Microsoft Windows Driver Model》都提供了一个完整的S5933的例子。 在这篇有关DDK的开发论文里。

    和S5933比较起来,开发PLX9054比较不幸,可能是第一次开发PCI的缘故吧.因为,很多PCI的例子都是对S5933,就连微软出版的<Programming the Microsoft Wi ...

  7. Scheme语言实例入门--怎样写一个“新型冠状病毒感染风险检测程序”

    小学生都能用的编程语言 2020的春季中小学受疫情影响,一直还没有开学,孩子宅在家说想做一个学校要求的研究项目,我就说你做一个怎么样通过编程来学习数学的小项目吧,用最简单的计算机语言来解决小学数学问题 ...

  8. 《Java从入门到失业》第四章:类和对象(4.3):一个完整的例子带你深入类和对象

    4.3一个完整的例子带你深入类和对象 到此为止,我们基本掌握了类和对象的基础知识,并且还学会了String类的基本使用,下面我想用一个实际的小例子,逐步来讨论类和对象的一些其他知识点. 4.3.1需求 ...

  9. Istio技术与实践04:最佳实践之教你写一个完整的Mixer Adapter

    Istio内置的部分适配器以及相应功能举例如下: circonus:微服务监控分析平台. cloudwatch:针对AWS云资源监控的工具. fluentd:开源的日志采集工具. prometheus ...

随机推荐

  1. Linux Device Driver && Device File

    catalog . 设备驱动程序简介 . I/O体系结构 . 访问设备 . 与文件系统关联 . 字符设备操作 . 块设备操作 . 资源分配 . 总线系统 1. 设备驱动程序简介 设备驱动程序是内核的关 ...

  2. PHP中的一个”坑“

    说一个极有可能在工作中遇到的问题——foreach的引用 foreach $arr = range(1,3); //[1,2,3] foreach($arr as &$val) { } for ...

  3. java.io.IOException: No FileSystem for scheme: hdfs

    在这篇文章中,介绍了如何将Maven依赖的包一起打包进jar包.使用maven-assembly打成jar后,将这个jar提供给其他工程引用的时候,报出如下错误: log4j:WARN No appe ...

  4. python面向对象基础

    面向对象基础 1. 简述 编程方式: 面向过程: 根据代码在脚本的堆叠顺序,从上到下依次执行 函数式编程:将相同功能的代码封装到函数中,直接调用即可,减少代码重复性 面向对象:对函数进行分类和封装,将 ...

  5. iOS - Availability.h

    >for 'dispatch' application inner to begin note `#include <Availability.h>` These macros ar ...

  6. python click module for command line interface

    Click Module(一)                                                  ----xiaojikuaipao The following mat ...

  7. SaltStack项目实战(六)

    SaltStack项目实战 系统架构图 一.初始化 1.salt环境配置,定义基础环境.生产环境(base.prod) vim /etc/salt/master 修改file_roots file_r ...

  8. MVC页面重定向'页面跳转

    MVC页面重定向,主要有以下几种形式: 1.Response.Redirect();方法 using System; using System.Collections.Generic; using S ...

  9. WinForm------TreeList实现鼠标经过节点背景色改变

    转载: http://www.cnblogs.com/zfanlong1314/archive/2012/06/26/2564124.html

  10. Python2.7安装(win7)

    Python可在官方网站直接下,或者百度一下Python2.7下载,这里推荐使用2.7而不是3.3,比较适合初学者 工具/原料 win7系统 python2.7安装包 方法/步骤 1.从官网下载最新的 ...