直接谷歌一下,“时间序列分析
R语言”,就能得到你想要的结果
以下结果来自,
作者:詹鹏 2012-9-20
22:46:46
【包】
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等
这个是自动适应参数估计的结果。模型估计为ARIMA(4,0,2),即ARMA(4,2)
系数为:
ar1 ar2 ar3 ar4 ma1 ma2
-0.5505 0.2316 0.0880 -0.4325 -0.1944 -0.5977
s.e. 0.1657 0.1428 0.1402 0.1270 0.1766 0.1732
s.e.是系数的标准差,系数显著性要自己算,|系数/se| >1.96 即 95%的置信度
sigma^2 estimated 估计值方差
log likelihood 对数似然值
(这个不用解释了吧)
AIC=709.13 AICc=710.73 BIC=725.63
再就是下面一堆误差计算
ME Mean Error
RMSE Root Mean Squared Error
MAE Mean Absolute Error
MPE Mean Percentage Error
MAPE Mean Absolute Percentage
MASE Mean Absolute Scaled Error
在R中生成时间序列的前提是我们将分析对象转成时间序列函数对象,包括观测值、起始时间、种植时间、及周期(月、季度、年)的结构。这些都能通过ts( )函数实现。
R语言中,对时间序列数据进行分析处理时,使用差分函数要注意:差分函数diff()不带参数名的参数指滞后阶数,也就是与滞后第几阶的数据进行差分。如果要指定差分的阶数,则一定要使用带名称的参数:diff=2。
例如: sample表示样本数据。
1、diff(sample,2)表示是对滞后2阶的数据进行差分,一阶差分,等同于: diff(sample,lag=2)
2、diff(sample,diff=2)才是表示二阶差分
意:在函数中尽量避免使用没有命名的参数。在《时间序列分析及应用-R语言(第2版)》中,P315,描述到: 我们得到的教训就是,除非完全了解相关参数的位置,否则使用未命名参数是非常危险的。
截尾是指时间序列的自相关函数(ACF)或偏自相关函数(PACF)在某阶后均为0的性质(比如AR的PACF);
拖尾是ACF或PACF并不在某阶后均为0的性质(比如AR的ACF)。
拖尾 :始终有非零取值,不会在k大于某个常数后就恒等于零(或在0附近随机波动)
截尾 :在大于某个常数k后快速趋于0为k阶截尾
AR模型:自相关系数拖尾,偏自相关系数截尾;
MA模型:自相关系数截尾,偏自相关函数拖尾;
ARMA模型:自相关函数和偏自相关函数均拖尾。
根据输出结果, 自相关函数图拖尾,偏自相关函数图截尾 ,且n从2或3开始控制在置信区间之内,因而可判定为AR(2)模型或者AR(3)模型。