单位根检验urdf_R语言时间序列函数整理[转]]

  • Post author:
  • Post category:其他


文档1:《R与金融时间序列分析常见问题集》

【包】

library(zoo)

#时间格式预处理

library(xts)            #同上

library(timeSeires)

#同上

library(urca)           #进行单位根检验

library(tseries)

#arma模型

library(fUnitRoots)     #进行单位根检验

library(FinTS)

#调用其中的自回归检验函数

library(fGarch)        #GARCH模型

library(nlme)

#调用其中的gls函数

library(fArma)

#进行拟合和检验

【基本函数】

数学函数

abs,sqrt:绝对值,平方根 log, log10, log2 ,

exp:对数与指数函数 sin,cos,tan,asin,acos,atan,atan2:三角函数

sinh,cosh,tanh,asinh,acosh,atanh:双曲函数

简单统计量

sum, mean, var, sd, min, max,

range, median,

IQR(四分位间距)等为统计量,sort,order,rank与排序有关,其它还有ave,fivenum,mad,quantile,stem等。

【数据处理】

#具体说明见文档1

#转成时间序列类型

x

= rnorm(2)

charvec =

c(“2010-01-01”,”2010-02-01”)

zoo(x,as.Date(charvec))     #包zoo

xts(x,

as.Date(charvec))     #包xts

timeSeries(x,as.Date(charvec))

#包timeSeries

#规则的时间序列,数据在规定的时间间隔内出现

tm = ts(x,start = c(2010,1),

frequency=12 )  #12为按月份,4为按季度,1为按年度

zm = zooreg(x,start = c(2010,1),

frequency=12 )  #包zoo

xm = as.xts(tm)     #包xts

sm = as.timeSeries(tm)

#包timeSeries

#判断是否为规则时间序列

is.regular(x)

#排序

zoo()和xts()会强制变换为正序(按照时间名称)

timeSeries不会强制排序;其结果可以根据sort函数排序,也可以采用rev()函数进行逆序;参数recordIDs,可以给每个元素(行)标记一个ID,从而可以找回原来的顺序

#预设的时间有重复的时间点时

zoo会报错

xts按照升序排列

timeSeries把重复部分放置在尾部;

#行合并和列合并

#都是按照列名进行合并,列名不同的部分用NA代替

cbind()

rbind()

merge()

列合并

#取子集

xts()默认将向量做成了矩阵;其他与常规向量或者矩阵没有差别

#缺失值处理

na.omit(x)

x[is.na(x)] = 0

x[is.na(x)] = mean(x,na.rm=TRUE)

x[is.na(x)] =

median(x,na.rm=TRUE)

na.approx(x)  #对缺失值进行线性插值

na.spline(x)

#对缺失值进行样条插值

na.locf(x)     #末次观测值结转法

na.trim(x, sides=”left” )

#去掉最后一个缺失值

#对timeSreies数据

na.omit(x, “ir” )  #去掉首末位置的缺失值

na.omit(x,

“iz” )  #用替换首末位置的缺失值

na.omit(x, “ie” )  #对首末位置的缺失值进行插值

na.omit(x,

method=“ie”, interp= c(“before”,”linear”,”after”) )

#可以选择插值方法,before末次观测值法,after下次观测结转法

as.contiguous(x)

#返回x中最长的连续无缺失值的序列片段,如果有两个等长的序列片段,则返回第一个。

#时间序列数据的显示

#zoo和xts都只能按照原来的格式显示,timeSeries可以设置显示格式

print(x,

format= “%m/%d/%y %H:%M”)

#%m表示月,%d表示天,%y表示年,%H表示时,%M表示分钟,%A表示星期,%j表示天的序号

#timeSeries也可以按照ts的格式显示

print(x,

style=”ts”)

print(x, style=”ts”,

by=”quarter”)

【图形展示】

plot.zoo(x)

plot.xts(x)

plot.zoo(x,

plot.type=”single”) #支持多个时间序列数据在一个图中展示

plot(x, plot.type=”single”)

#支持多个时间序列数据在一个图中展示ÿ



版权声明:本文为weixin_42297591原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。