时间序列分析——基于R(王燕)第二章
- 格式:docx
- 大小:313.73 KB
- 文档页数:6
习题2:时间序列的预处理
题目一:
1. 运行程序:最下方。
2. 分析:
3. 题型分析:
(1)该序列不平稳,因为该图的时序图有明显的递增趋势,同时序列自相关系数图中的自相关系数都是大于0,同时呈递减的形式。
(2)该序列的样本自相关系数如上。
(3)该序列序列自相关系数图具有明显的周期变化的趋势,同时呈递减的形式。
题目二:
1. 运行程序:最下方。
2. 分析:
Timesequence510152051015203. 题型分析:
(1)通过该数据的时序图,我们可以看出时序图呈周期变化的趋势,所以该序列是非平稳序列。
(2)通过计算结果可以计算出该序列的样本自相关系数。
(3)从该样本自相关图呈周期变化趋势,同时该自相关系数偶尔超过二倍标准差范围以外,因此也可以看出该序列是不平稳序列。
题目三:
1. 运行程序:见下方。
2. 分析:
3. 题目分析:
(1)通过计算结果可以计算出该序列的样本自相关系数。
(2)通过时序图可以看出该序列无周期性,同时无明显的单调变化趋势,通过自相关系数图可以发现很多自相关系数很多落于两倍标准差里面,则该序列是平稳序列。
(3)通过白噪声分析,我们可以看出p值大于0.05,则该序列接受原假设,我们可以以很大的把握断定降雨量数据是白噪声序列。
题目四:
1. 运行程序:见下方。
2. 分析:
3. 题目分析:
通过程序计算,算出Q统计量为4.57,通过卡方分位数表可以查到20.9512=5.226,由于Q统计量小于5.226,所以以95%的把握接受原假设,认为该序列是白噪声序列,即认为该序列是纯随机序列。
题目五:
1. 运行程序:见下方。
2. 分析:
3. 题目分析:
(1)该序列时序图和样本自相关图如上。
(2)该序列的时序图呈现周期变化的趋势,同时该模型的样本自相关图也呈周期变化的趋势,也超过2倍标准差,则该序列是非平稳序列。
(3)观察到序列的p值是小于0.05,所以拒绝原假设,所以该序列是非白噪声序列,该序列不含有纯随机波动。
题目六:
1. 运行程序:见下方。
2. 分析:
函数运算后的时序图、自相关图和纯随机检验(先对数据用excel处理):
3. 题目分析:
(1)该序列tx的时序图没有变化或者周期的趋势,同时自相关图在10阶之后落入两倍标准差之内,所以该序列是平稳的;同时经过白噪声检验,由于该序列的p值小于0.05,所以该序列是纯随机序列。
(2)序列ty经过一阶差分后,时序图没有变化或者周期的趋势,同时自相关图在1阶之后迅速落入两倍标准差之内,效果比tx还好,所以该序列是平稳的;同时经过白噪声检验,由于该序列的p值小于0.05,所以该序列是纯随机序列。
R语言对应的程序如下:
#题目一:
i<-c(1:20)
sequence<-ts(i)
plot(sequence)
acf(sequence,lag.max=6)
r<-acf(sequence,lag.max=6)
R
#题目二:
a<-read.table("D:/ts/2.2.txt")
carbon<-ts(a,start=c(1975,1),frequency=12)
plot(carbon)
acf(carbon,lag.max=24)
r<-acf(carbon,lag.max=24)
r
#题目三:
a<-read.table("D:/ts/2.3.txt")
rain<-ts(a,start=c(1945,1),frequency=12)
r<-acf(rain,lag.max=24)
r
plot(rain)
acf(rain,lag.max=24)
for (i in 1:2)
print(Box.test(rain),lag=6*i)
#题目四:
lo<-c(0.02,0.05,0.1,-0.02,0.05,0.01,0.12,-0.06,0.08,-0.05,0.02,-0.05)
Q<-100*rowSums(lo*t(lo))
Q
#题目五:
a<-read.table("D:/ts/2.5.txt")
sell<-ts(a,start=c(2000,1),frequency=12)
plot(sell)
acf(sell,lag.max=24)
for (i in 1:2)
print(Box.test(sell,lag=6*i))
#题目六:
a<-read.table("D:/ts/2.6.txt")
law<-ts(a,start=c(1969,1))
plot(law)
acf(law)
for (i in 1:2)
print(Box.test(law),lag=6*i)
y<-read.table("D:/ts/2.6.1.txt")
y<-ts(y)
plot(y)
acf(y)
for (i in 1:2)
print(Box.test(y),lag=6*i)