0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

経済・ファイナンスデータの計量時系列分析(沖本)2章 Rコード

Last updated at Posted at 2021-08-17

#2章
2章のRコードの解答例です。
以下はやっててちょっと注意が必要だなと思った点。
・基本的にはARIMAを使えば良い(AR, ARMAにspecificなのは使わなくて良い)
・acf使えばコレログラムは一瞬で出てくる。(コレログラムは単回帰に対応してる点に注意。)
・arimaの返り値はデータフレームっぽくなってるので$で要素を指定。(要素をループさせて取るときは[]で指定した方が良さそう。)

理論として気になったのは
・自己相関が存在してる時点で重回帰における多重共線性に対応する問題はかなり起きるはず。AR(2)を考えてx_tをx_{t-1}とx_{t-2}に回帰するときにx_{t-1}とx_{t-2}はかなり強い相関が存在することを考えると、AR(p)はかなり不安定になるのでは?
(多重共線性は係数のstdを通じて予測のstdにもかなり効いてきてしまうはず)
・AIC, BICを使うのが時系列の定石っぽいけど、理論的な裏付けを時系列の文脈でしている文献はまだ読めていない。クロスバリデーションでも良いような気がするけどどうなんだろう。

#コード

#okimoto 2.5

setwd("Okimoto/2")
library(tidyverse)
library(gdata)
library(lubridate)
library(rugarch)
data = read.xls("economicdata.xls")

data$X = ymd(data$X)

arma40 = arima(data$nikkei225,order = c(4,0,0))
arma40$aic
Box.test(arma40$residuals, lag=10, type="Ljung-Box") 

arma12 = arima(data$nikkei225,order = c(1,0,2))
arma12$aic
Box.test(arma12$residuals, lag=10, type="Ljung-Box")



#2.6
setwd("Okimoto/2")
library(tidyverse)
library(gdata)
library(lubridate)
library(rugarch)
data = read.xls("arma.xls")

par(mfrow = c(3,3))

acf(data$y1,plot=T)
acf(data$y1,plot=T,type = 'p')

for (p in 0:5) for (q in 0:5){
  
  armapq = arima(data$y1,order = c(p,0,q))
  aic = armapq$aic
  cat("p =",p, "q =",q, "aic =", aic, "\n")
  
  }

#reference
シンプルな分析方法がまとまってる
http://user.keio.ac.jp/~nagakura/R/ts_R1.pdf

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?