【发布时间】:2017-08-02 20:13:15
【问题描述】:
我计划为模拟时间序列构建自定义的 ACF 和 PACF 图
ts <- arima.sim(n=5300,list(order=c(2,0,1), ar=c(0.4,0.3), ma=-0.2))
以下是我编写的通过ggplot2生成情节的代码:
library(gridExtra)
theme_setting <- theme(
panel.background = element_blank(),
panel.grid.major.y = element_line(color="grey90", size=0.5),
panel.grid.major.x = element_blank(),
panel.border = element_rect(fill=NA, color="grey20"),
axis.text = element_text(family="Times"),
axis.title = element_text(family="Times"),
plot.title = element_text(size=10, hjust=0.5, family="Times"))
acf_ver_conf <- acf(ts, plot=FALSE)$acf %>%
as_tibble() %>% mutate(lags = 1:n()) %>%
ggplot(aes(x=lags, y = V1)) + scale_x_continuous(breaks=seq(0,41,4)) +
labs(y="Autocorrelations", x="Lag", title= "Time Series, ACF") +
geom_segment(aes(xend=lags, yend=0)) +geom_point() + theme_setting
pacf_ver_conf <- pacf(ts, main=NULL,plot=FALSE)$acf %>%
as_tibble() %>% mutate(lags = 1:n()) %>%
ggplot(aes(x=lags, y = V1)) +
geom_segment(aes(xend=lags, yend=0)) +geom_point() + theme_setting +
scale_x_continuous(breaks=seq(0,41,4))+
labs(y="Partial Autocorrelations", x="Lag", title= "Time Series, PACF")
grid.arrange(acf_ver_conf, pacf_ver_conf, ncol=2)
虽然这正是我想要的,但我不确定如何在 acf(ts) 和 pacf(ts) 中生成置信区间:
所以,我的问题分为两部分:
- 如何从统计上推导出 R 中自相关函数和偏自相关的置信区间的上限和下限?
- 如何将其绘制到第一张图上?我在考虑
geom_ribbon,但如果有任何其他想法,我们将不胜感激!
【问题讨论】:
-
第二部分可以使用
geom_hline或geom_rect
标签: r plot time-series confidence-interval