自己回帰モデルへの橋渡し 高崎経済大学 宮田庸一 Rによる単回帰分析 自己回帰モデルへの橋渡し 高崎経済大学 宮田庸一
Rとは Rとは、統計処理、グラフ作成のために開発された言語である。 Rはフリーソフト ダウンロードおよびインストールの仕方 英語版しか入っていない・・・(-_-;)
データのインポート GDP.csvをRに取り込む. Rにデータを取り込むために と入力しEnterを押す data1<-read.csv("C:\\Import\\GDP.csv",header=T,row.names=1) と入力しEnterを押す GDP(10億円) PFCE (10億円) 1980 287366.4 167753.7 1981 298687.1 171754.8 1982 308057 179712.9 1983 318921.7 185174.5 1984 334110.7 190722.2 1985 355096.2 199114.5 1986 361807.1 206209.7 パスを指定する 1980~2009までの実質民間最終消費支出(Private Final Consumption Expenditure)と実質GDP: http://www.esri.cao.go.jp/jp/sna/qe102-2/gdemenu_ja.html 3
データのグラフ表示 散布図:plot(data1,main="消費と支出") ヒストグラム:hist(data1$GDP,main="GDP")
単回帰分析 データを指定 回帰分析の実行 回帰分析の出力 推定値 標準誤差 t値 P値 決定係数 自由度調整済み決定係数 result1<-lm(PFCE~GDP,data=data1) summary(result1) -----Rでの出力例------------------------------------------------ > summary(result1) Call: lm(formula = PFCE ~ GDP, data = data1) Residuals: Min 1Q Median 3Q Max -6695.1 -2768.7 196.3 2445.7 8813.3 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 8.126e+03 3.941e+03 2.062 0.0486 * GDP 5.465e-01 8.585e-03 63.654 <2e-16 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 3834 on 28 degrees of freedom Multiple R-Squared: 0.9931, Adjusted R-squared: 0.9929 F-statistic: 4052 on 1 and 28 DF, p-value: < 2.2e-16 回帰分析の出力 推定値 標準誤差 t値 P値 決定係数 自由度調整済み決定係数
回帰直線の上書き abline(result1) 他にもモデル診断もあるが省略する
予測 GDPが400000の時, 民間最終消費支出(PFCE)を予測する. > new<-data.frame(GDP=400000) > predict(result1,new,interval="predict",level=0.95) fit lwr upr [1,] 226718.4 218684.2 234752.6 直線に見えるが、実は曲線
時系列データ 為替、株価、マクロ統計、心電図、筋電図etc時刻tによりランダムに変動するデータを時系列データと言う. 時系列データを通常の統計手法で処理するためには,定常性を仮定しなくてはいけない. 定常性とは,
時系列分析の目的 どこまで、過去のデータに影響を受けるのかを推定 株式データ、為替データの場合、リスクがどのくらいあるのかの推定 過去のデータから将来の値を予測する
時系列データのプロット 2010/1/4から2010/10/25までの円ドル為替相場の週足データ(rate_data.csv) data2<-read.csv("C:\\Import\\rate_data.csv",header=T,row.names=1) plot(data2$doll.yen,type="l",xlab="時刻",ylab="為替レート") これは定常ではないと考えられる.
データの差分を取る data3<-diff(log(data2$doll.yen)) plot(data3,type="l“,xlab="時刻",ylab="差分したデータ") 定常でないデータ 差分を取る 定常なデータとなる
自己相関係数(acf) 時系列データ 自己相関係数(Auto-correlation) t ドル/円 t-1 1月11日 90.7799 92.61 1月4日 1月18日 89.8899 1月25日 90.3 2月1日 89.33 2月8日 90.0199 2月15日 91.5899 2月22日 88.8499 3月1日 90.29 3月8日 90.4599 時系列データ 自己相関係数(Auto-correlation)
Rでの実行 をプロット acf(data3, main="ACF")
1次の自己回帰モデル パラメーター ここをXtと考えると, 単回帰モデルと同じように推定が出来そう.
推定法 Yule Walker法(山本 p57)
Rでの実行(ar) ar01<-ar(data3,aic=FALSE,order.max=1) > ar01 Call:ar(x = data3, aic = FALSE, order.max = 1) Coefficients: 1 -0.2281 Order selected 1 sigma^2 estimated as 0.0001944 金融工学においては, 0.0001944をリスクと考える.
1次の自己回帰モデル 切片のある時系列モデルも考えられる ここをXtと考えると, 単回帰モデルと同じように推定が出来そう. パラメーター
Rでの実行 data2<-read.csv("C:\\Import\\rate_data.csv",header=T,row.names=1) data3<-diff(log(data2$doll.yen)) ar1<-arima(data3, order=c(1,0,0)) ARIMA Modelという,より一般的なモデルがある. > ar1 Call: arima(x = data3, order = c(1, 0, 0)) Coefficients: ar1 intercept -0.2328 -0.0033 s.e. 0.1514 0.0017 sigma^2 estimated as 0.0001847: log likelihood = 120.91, aic = -235.83
参考文献 [1]平成20年度国民経済計算 (平成12年基準・93SNA)http://www.esri.cao.go.jp/jp/sna/h20-kaku/22annual-report-j.html [2] 山本拓, (2009), 経済の時系列分析,創文社 [3] 船尾 暢男, (2009), The R tips, オーム社