いっかくのデータサイエンティストをいく

1からプログラミングとデータサイエンスを独習したい

【時系列】自己共分散と自己相関(R)

前回の実装です。自己共分散と自己相関の実装となります。

Rで実装

データは1994年から2017年の名目GDPです。

#データ読込
df <- read.csv("C:\\Users\\imoto-mk\\Documents\\meimoku_GDP.csv")
df
#   Year      GDP
#1  1994 502636.2
#2  1995 516406.5
#3  1996 528766.4
#4  1997 533338.2
#5  1998 526013.4
#6  1999 521988.3
#7  2000 528512.7
#8  2001 519073.5
#9  2002 514764.4
#10 2003 517930.6
#11 2004 521180.2
#12 2005 525692.2
#13 2006 529076.6
#14 2007 530997.3
#15 2008 509465.8
#16 2009 492070.4
#17 2010 499281.0
#18 2011 494017.2
#19 2012 494478.0
#20 2013 507246.0
#21 2014 518468.5
#22 2015 533897.3
#23 2016 539351.1
#24 2017 548696.1

#プロットしてみる
ts.plot(df, ylim=c(400000, 600000))

f:id:imakoto0323:20180626141328p:plain

自己相関

acf関数で実装でき、引数 type には "correlation" (自己相関), "covariance" (自己共分散), "partial" (偏相関) から選択できるようになっています。

#自己相関
acf(df[,2], type = "correlation")

f:id:imakoto0323:20180626142045p:plain

自己相関はなさそうですね。

自己共分散

#自己共分散
acf(df[,2], type = "covariance")

f:id:imakoto0323:20180626142305p:plain

自己相関検定

#自己相関検定(Ljung-Box検定)
#帰無仮説は「自己相関関係ではない」です。
Box.test(df[,2],lag=1,type="L")

f:id:imakoto0323:20180626143027p:plain

自己相関はなさそうです。