#读取数据
data <- read.csv("E:/时间序列/chap22.csv", header = FALSE)
# 将数据转换为向量
co2_data <- as.vector(t(data)) # 转置并转换为向量
# 创建时间序列对象
ts_data <- ts(co2_data, start = c(1975, 1), frequency = 12)时间序列第一次作业
Quarto
Running Code
第二题
1.读取数据,并创建时间序列对象
从时间序列图可知,CO₂ 浓度在 1975 年至 1980 年期间呈现明显的上升趋势,反映了全球温室气体排放的增加。此外,CO₂ 浓度具有年度季节性波动,夏季浓度较低,冬季浓度较高。且时间序列具有趋势和季节性,是非平稳的。
# 绘制时间序列图
plot(ts_data, main = "Mauna Loa CO2 Levels (1975-1980)", ylab = "CO2 Concentration", xlab = "Time")进行ADF检验,从结果可知,p值等于0.01小于0.05,不能拒绝原假设,即认为改时间序列是非平稳的。
# ADF 检验平稳性
library(tseries)Registered S3 method overwritten by 'quantmod':
method from
as.zoo.data.frame zoo
adf_test_result <- adf.test(ts_data, alternative = "stationary")Warning in adf.test(ts_data, alternative = "stationary"): p-value smaller than
printed p-value
print(adf_test_result)
Augmented Dickey-Fuller Test
data: ts_data
Dickey-Fuller = -6.1748, Lag order = 3, p-value = 0.01
alternative hypothesis: stationary
2、计算自相关系数,对于 CO₂ 浓度数据,自相关系数在短期滞后(如 Lag 1, Lag 2)和季节性滞后(如 Lag 12, Lag 24)处显著,表明时间序列具有较强的短期自相关性和年度季节性。
# 计算自相关系数
acf_result <- acf(ts_data, plot = FALSE)
# 查看自相关系数
print(acf_result)
Autocorrelations of series 'ts_data', by lag
0.0000 0.0833 0.1667 0.2500 0.3333 0.4167 0.5000 0.5833 0.6667 0.7500 0.8333
1.000 0.876 0.645 0.406 0.238 0.164 0.188 0.290 0.441 0.573 0.601
0.9167 1.0000 1.0833 1.1667 1.2500 1.3333 1.4167
0.498 0.315 0.128 -0.005 -0.059 -0.040 0.035
3、绘制自相关图,从绘制的ACF图可知,Lag 1 和 Lag 2 的自相关系数显著且较高,表明 CO₂ 浓度具有较强的短期自相关性。Lag 12 和 Lag 24 的自相关系数显著,表明 CO₂ 浓度具有年度季节性。自相关系数随着滞后阶数的增加而缓慢衰减,表明 CO₂ 浓度存在长期趋势(非平稳性)。
#绘制 ACF 图
acf(ts_data, main = "Autocorrelation Function (ACF) of CO2 Levels")第七题
绘制时间序列图,通过观察时间序列图,得出死亡率再1915年至2004年期间整体呈现下降趋势,特别是在1940年代和2000年代,死亡率显著下降。由于时间序列存在明显的下降趋势,初步判断该时间序列是非平稳的。进一步通过ADF检验,结果显示,时间序列在不同滞后阶数下的自相关性,自相关系数在滞后阶数较高时缓慢衰减,表明时间序列是非平稳的。
suicide=read.csv("E:/时间序列/zye27.csv",header=T)
suicide1=ts(suicide,start=1915)
par(mfrow=c(2,1))
plot(suicide1,col=2)acfsui=acf(suicide1,lag.max=24)acfsui$acf, , 1
[,1] [,2]
[1,] 1.0000000 -0.054355490
[2,] 0.9666667 -0.049527331
[3,] 0.9333498 -0.057050183
[4,] 0.9000659 -0.064714585
[5,] 0.8668313 -0.065824748
[6,] 0.8336626 -0.021749018
[7,] 0.8005762 -0.004067914
[8,] 0.7675886 -0.018097561
[9,] 0.7347162 -0.024179421
[10,] 0.7019756 -0.049721692
[11,] 0.6693831 -0.052181941
[12,] 0.6369552 -0.079853111
[13,] 0.6047084 -0.068379624
[14,] 0.5726592 -0.058159458
[15,] 0.5408240 -0.055226299
[16,] 0.5092192 -0.020919876
[17,] 0.4778615 0.005137765
[18,] 0.4467671 0.042740014
[19,] 0.4159526 0.041201481
[20,] 0.3854344 0.044944565
[21,] 0.3552290 0.038621516
[22,] 0.3253529 0.056626221
[23,] 0.2958225 0.055373054
[24,] 0.2666543 0.068631865
[25,] 0.2378648 0.053446720
, , 2
[,1] [,2]
[1,] -0.05435549 1.00000000
[2,] -0.01250862 0.56076761
[3,] 0.02678997 0.46196842
[4,] 0.06336887 0.37628563
[5,] 0.09507979 0.39972314
[6,] 0.12025439 0.32391693
[7,] 0.14406568 0.21044131
[8,] 0.17334504 0.25533506
[9,] 0.18817615 0.18721880
[10,] 0.18575257 0.21006106
[11,] 0.21148080 0.05404696
[12,] 0.24366333 0.08762089
[13,] 0.26877044 -0.06481815
[14,] 0.25999811 -0.09531789
[15,] 0.26411901 -0.15266937
[16,] 0.26813421 -0.16984920
[17,] 0.27191896 -0.11922124
[18,] 0.24961961 -0.13976241
[19,] 0.23947330 -0.18842019
[20,] 0.22941009 -0.28441719
[21,] 0.21871140 -0.22236954
[22,] 0.18182746 -0.20626166
[23,] 0.17041658 -0.20272664
[24,] 0.14574243 -0.25407346
[25,] 0.13270399 -0.22858437
number <- c(0.5215052, 0.4248284, 0.4250311, 0.4771938, 0.8280212, 0.6156186,
0.366627, 0.4308883, 0.2810287, 0.4646245, 0.2693951, 0.5779049,
0.5661151, 0.5077584, 0.7507175, 0.6808395, 0.7661091, 0.4561473,
0.4977496, 0.4193273, 0.6095514, 0.457337, 0.5705478, 0.3478996,
0.3874993, 0.5824285, 0.2391033, 0.2367445, 0.2626158, 0.4240934,
0.365275, 0.3750758, 0.4090056, 0.3891676, 0.240261, 0.1589496,
0.4393373, 0.5094681, 0.3743465, 0.4339828, 0.4130557, 0.3288928,
0.5186648, 0.5486504, 0.5469111, 0.4963494, 0.5308929, 0.5957761,
0.5570584, 0.5731325, 0.5005416, 0.5431269, 0.5593657, 0.6911693,
0.4403485, 0.5676662, 0.5969114, 0.4735537, 0.5923935, 0.5975556,
0.6334127, 0.6057115, 0.7046107, 0.4805263, 0.702686, 0.7009017,
0.6030854, 0.6980919, 0.597656, 0.8023421, 0.6017109, 0.5993127,
0.6025625, 0.7016625, 0.4995714, 0.4980918, 0.497569, 0.600183,
0.3339542, 0.274437, 0.3209428, 0.5406671, 0.4050209, 0.2885961,
0.3275942, 0.3132606, 0.2575562, 0.2138386, 0.1861856, 0.1592713)
number_ts <- ts(number, start = 1915, frequency = 1)
for(k in 1:3) {
print(Box.test(number_ts, lag = 6 * k, type = "Ljung-Box"))
}
Box-Ljung test
data: number_ts
X-squared = 92.781, df = 6, p-value < 2.2e-16
Box-Ljung test
data: number_ts
X-squared = 108.89, df = 12, p-value < 2.2e-16
Box-Ljung test
data: number_ts
X-squared = 123.48, df = 18, p-value < 2.2e-16
通过对原始时间序列 suicide1 进行一阶差分,消除了序列中的趋势成分,得到了差分后的序列 diffsuicide,差分后的序列围绕某个均值波动,没有明显的趋势或季节性。由ACF 图和 Box-Ljung 检验结果表明,差分后的序列不存在显著的自相关性。因此,差分后的序列是平稳的。
diffsuicide=diff(suicide1,differences =1)
par(mfrow=c(2,1))
plot(diffsuicide,col=2)acfdifsui=acf(diffsuicide,lag.max=24)acfdifsui$acf, , 1
[,1] [,2]
[1,] NaN NaN
[2,] NaN NaN
[3,] NaN NaN
[4,] NaN NaN
[5,] NaN NaN
[6,] NaN NaN
[7,] NaN NaN
[8,] NaN NaN
[9,] NaN NaN
[10,] NaN NaN
[11,] NaN NaN
[12,] NaN NaN
[13,] NaN NaN
[14,] NaN NaN
[15,] NaN NaN
[16,] NaN NaN
[17,] NaN NaN
[18,] NaN NaN
[19,] NaN NaN
[20,] NaN NaN
[21,] NaN NaN
[22,] NaN NaN
[23,] NaN NaN
[24,] NaN NaN
[25,] NaN NaN
, , 2
[,1] [,2]
[1,] NaN 1.000000000
[2,] NaN -0.405593827
[3,] NaN -0.011118126
[4,] NaN -0.125490948
[5,] NaN 0.121838436
[6,] NaN 0.052323731
[7,] NaN -0.194018106
[8,] NaN 0.157625461
[9,] NaN -0.080312359
[10,] NaN 0.170023526
[11,] NaN -0.234294321
[12,] NaN 0.229174354
[13,] NaN -0.096446124
[14,] NaN 0.013997509
[15,] NaN -0.054667097
[16,] NaN -0.080876910
[17,] NaN 0.122720539
[18,] NaN 0.022101979
[19,] NaN 0.055859005
[20,] NaN -0.188965459
[21,] NaN 0.090143388
[22,] NaN -0.020495663
[23,] NaN 0.083301344
[24,] NaN -0.105951421
[25,] NaN -0.006428442
diffsuicide <- c(-0.0966768, 0.0002027, 0.0521627, 0.3508274, -0.2124026, -0.2489916, 0.0642613, -0.1498596, 0.1835958, -0.1952538, -0.0122294, 0.3085098, -0.0117898, -0.0583573, 0.2429591, -0.06988, 0.0852696, -0.3099618, 0.0416023, -0.0784223, 0.1902241, -0.1522144, 0.1132108, -0.2226482, 0.0395997, 0.1949292, -0.3433252, -0.0023588, 0.0258713, 0.1614776, -0.0588184, 0.0098008, 0.0339298, -0.019838, -0.1489066, -0.0813126,0.2803877, 0.0701308, -0.1351216, 0.0596363, -0.0209271, -0.0841629,0.189772, 0.0299856, -0.0017393, -0.0505617, 0.0345435, 0.0648832, 0.0612826, -0.0160741, 0.0160741, 0.0425853, 0.1318036, -0.2508208, 0.1273177, 0.0292452, -0.1233577, 0.1188398, 0.0051621, 0.0358571,-0.0277012, 0.0988992, -0.2240844, 0.0022157, -0.0017843, -0.0978163,0.0950065, -0.1004359, 0.2046861, -0.2006312, -0.0023982, 0.0032498,0.0991, -0.2020911, -0.0014804, -0.0005224, 0.102614, -0.2662288,-0.0595172, 0.0465058, 0.2197243, -0.1356462, -0.1164248, 0.0389981,-0.0443339, -0.0563044, -0.0437036)
diffsuicide_ts <- ts(diffsuicide, start = 1915, frequency = 1)
for(k in 1:10) {
print(Box.test(diffsuicide_ts, lag = k, type = "Ljung-Box"))
}
Box-Ljung test
data: diffsuicide_ts
X-squared = 10.738, df = 1, p-value = 0.001049
Box-Ljung test
data: diffsuicide_ts
X-squared = 11.492, df = 2, p-value = 0.003196
Box-Ljung test
data: diffsuicide_ts
X-squared = 11.876, df = 3, p-value = 0.00782
Box-Ljung test
data: diffsuicide_ts
X-squared = 13.315, df = 4, p-value = 0.009836
Box-Ljung test
data: diffsuicide_ts
X-squared = 13.328, df = 5, p-value = 0.02049
Box-Ljung test
data: diffsuicide_ts
X-squared = 14.621, df = 6, p-value = 0.02342
Box-Ljung test
data: diffsuicide_ts
X-squared = 14.777, df = 7, p-value = 0.03897
Box-Ljung test
data: diffsuicide_ts
X-squared = 17.059, df = 8, p-value = 0.0295
Box-Ljung test
data: diffsuicide_ts
X-squared = 17.241, df = 9, p-value = 0.04508
Box-Ljung test
data: diffsuicide_ts
X-squared = 19.335, df = 10, p-value = 0.03621