gpt4 book ai didi

r - 在 R 中使用 ARIMA 创建季节性调整数据

转载 作者:行者123 更新时间:2023-12-04 17:11:28 24 4
gpt4 key购买 nike

我想为每个县生成过去 22 年经季节性调整的失业数据。

美国劳工统计局使用 ARIMA 对整个国家而非个别县的失业率进行季节性调整。我需要帮助弄清楚如何强制 R 中的 ARIMA 对每个美国县进行季节性调整。

我可以通过使用 auto.arima(mytimeseries) 获得 ARIMA 模型,但我不知道如何减去季节性分量(使用 (decompose(mytimeseries))$seasonal) 很容易。

本站 https://onlinecourses.science.psu.edu/stat510/?q=book/export/html/51意味着我应该能够减去 ARIMA 残差:

predicteds = oilindex - expsmoothfit$residuals 

但是当我尝试它时,这看起来并不完全正确(通过肉眼)——它看起来根本没有识别出大部分的季节性变化。

我想也许是 auto.arima() 的模型想出来的结果很差,但是当我将模型绘制在与原始数据相同的图上时,它看起来相当不错。

本站 http://www.statoek.wiso.uni-goettingen.de/mitarbeiter/ogi/pub/r_workshop.pdf谈到通过对序列使用 predict() 来进行平滑处理,但我无法让它发挥作用:我不知道我的 data.frame(mytimeseries[date=seq]) 是否有问题。行或者如果 arima 对象没有与 gam 相同的方法对象,因此预测不起作用。

那么:如何使用 ARIMA 从数据中去除季节性?任何帮助表示赞赏!

这是我到目前为止所拥有的一个例子。 (我是 R 新手,所以毫无疑问,这段代码是次优的。)
# I put unadjusted values for one county at
# http://tmp.webfoot.com/tmp/tmp/unemployment17019.csv
a = read.table("/tmp/unemployment17019.csv", header=FALSE)
# there is probably a simple seven-character way of doing the next line...
all = c(a[1,], a[2,], a[3,], a[4,], a[5,], a[6,], a[7,], a[8,], a[9,], a[10,], a[11,], a[12,], a[13,], a[14,], a[15,], a[16,], a[17,], a[18,], a[19,], a[20,], a[21,], a[22,])
timeseries=ts(as.numeric(all), frequency=12, start=1990)
arimabestfit = forecast::auto.arima(timeseries)
title("Iroquois County", xlab="Date", ylab="Unemployment Rate")
legend(1991,12,c("unadjusted", "adjusted"), col=c("grey", "red"), cex=0.8, lty=1)
plot((timeseries - arimabestfit$residuals), col="red", ylim=c(0,12))
lines(timeseries, col="grey")

最佳答案

劳工统计局使用美国人口普查局的 X12 算法对数据进行季节性调整

有一个 R 包(x12)实现了这个功能

美国人口普查局:

http://www.census.gov/srd/www/x12a/

x12 包 r:

http://cran.r-project.org/web/packages/x12/x12.pdf

关于r - 在 R 中使用 ARIMA 创建季节性调整数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11425562/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com