190 likes | 363 Views
R による単回帰分析. 自己回帰モデルへの橋渡し 高崎経済大学 宮田庸一. R とは. R とは、統計処理、グラフ作成のために開発された言語である。 R はフリーソフト ダウンロードおよびインストールの仕方 →高崎経済大学 宮田研究室の R というページ 高崎経済大学の R は現在のところ , 英語版しか入っていない・・・ (-_-;). データのインポート. パスを指定する.
E N D
Rによる単回帰分析 自己回帰モデルへの橋渡し 高崎経済大学 宮田庸一
Rとは • Rとは、統計処理、グラフ作成のために開発された言語である。 • Rはフリーソフト • ダウンロードおよびインストールの仕方 →高崎経済大学 宮田研究室のRというページ • 高崎経済大学のRは現在のところ, 英語版しか入っていない・・・(-_-;)
データのインポート パスを指定する 1980~2009までの実質民間最終消費支出(Private Final Consumption Expenditure)と実質GDP: http://www.esri.cao.go.jp/jp/sna/qe102-2/gdemenu_ja.html • GDP.csvをRに取り込む. • Rにデータを取り込むために data1<-read.csv("C:\\Import\\GDP.csv",header=T,row.names=1) と入力しEnterを押す 3
データのグラフ表示 散布図:plot(data1,main="消費と支出") ヒストグラム:hist(data1$GDP,main="GDP")
データを指定 単回帰分析 回帰分析の実行 回帰分析の出力 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)
Rでの実行 をプロット acf(data3, main="ACF")
1次の自己回帰モデル • パラメーター ここをXtと考えると, 単回帰モデルと同じように推定が出来そう. →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, オーム社