SIZE(25){COLOR(red){Rでエコノメトリクス}}
//written by 蓮見亮 10/10/2005

COLOR(red){一行だけ修正したような場合,「タイムスタンプを変更しない」をチェックのこと}
SIZE(25){COLOR(red){一行だけ修正したような場合,「タイムスタンプを変更しない」をチェックのこと}}

Rで計量経済分析を行いたい人向けの情報です。
まずは[[Econometrics in R (pdf):http://cran.r-project.org/doc/contrib/Farnsworth-EconometricsInR.pdf]]を.

[[Rを使って計量経済分析:http://www.sugi-shun.com/econwiki/index.php?R%A4%F2%BB%C8%A4%C3%A4%C6%B7%D7%CE%CC%B7%D0%BA%D1%CA%AC%C0%CF]]も参考にどうぞ。
//written by SUGIYAMA Shunsuke 28/08/2006

#contents
~

*パッケージの一括インストール [#w84c6a2c]

詳しくは [[CRAN Task View]] を参照していただきたいが、簡単には、
 install.packages("ctv")
 library(ctv)
 install.views("Econometrics")
 install.views("Finance")
で、必要なものはほぼすべて入ります。
個別のパッケージについては、
-[[CRAN Task View: Computational Econometrics:http://cran.r-project.org/src/contrib/Views/Econometrics.html]]
-[[CRAN Task View: Empirical Finance:http://cran.r-project.org/src/contrib/Views/Finance.html]]

を参照されたい。

*古典的手法 [#s70c9351]

詳しくは [[Rの基本パッケージ中の回帰、分散分析関数一覧]] を参照のこと。

**OLS(最小二乗法) [#y1a3cfae]

関数 lm() をつかいます。

***例(1) [#l590fd65]

Hayashi, Fumio. Econometrics. Princeton University Press, 2000.

Ch. 1 の例。

 #データの読み込み
 Elec<-read.table("http://www.rhasumi.net/data/econometrics/nerlove.txt")
 
 #データセットの作成
 LTC<-log(Elec[,1]); LQ <- log(Elec[,2]); LPL <- log(Elec[,3]);
 LPF <- log(Elec[,4]); LPK <- log(Elec[,5])
 
 #OLS 推定 Model (1.7.4)
 
 result_b<-lm(LTC~LQ+LPL+LPF+LPK)
 
 #結果の表示
 # cf. (1.7.7) in p. 65
 summary(result_b)

以下、表示例。

 > summary(result_b)
 
 Call:
 lm(formula = LTC ~ LQ + LPL + LPF + LPK)
 
 Residuals:
      Min       1Q   Median       3Q      Max 
 -0.97784 -0.23817 -0.01372  0.16031  1.81751 
 
 Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
 (Intercept) -3.52650    1.77437  -1.987   0.0488 *  
 LQ           0.72039    0.01747  41.244  < 2e-16 ***
 LPL          0.43634    0.29105   1.499   0.1361    
 LPF          0.42652    0.10037   4.249 3.89e-05 ***
 LPK         -0.21989    0.33943  -0.648   0.5182    
 ---
 Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 
 
 Residual standard error: 0.3924 on 140 degrees of freedom
 Multiple R-Squared: 0.926,      Adjusted R-squared: 0.9238 
 F-statistic: 437.7 on 4 and 140 DF,  p-value: < 2.2e-16 

***例(2) [#nc8cbdff]

(続き:SSRはF検定に使用)

 # (c) Model (1.7.6)
 LTC1<-LTC-LPF; LPL1<-LPL-LPF; LPK1<-LPK-LPF;
 result_c<-lm(LTC1~LQ+LPL1+LPK1)
 # cf. (1.7.8) in p. 66
 summary(result_c)
 SSR_c<-deviance(result_c)

***例(3) [#h019b5bd]

(続き:SSRはF検定に使用)

 DD<-matrix(0,ncol=20,nrow=145)
 for(i in 0:4){
   DD[(1+i*29):(29+i*29),(1+i*4):(4+i*4)]<-1
  }
 X2<-matrix(0,ncol=4,nrow=145)
 X2[,1]<-1
 X2[,2]<-LQ
 X2[,3]<-LPL1
 X2[,4]<-LPK1
 Xlist<-cbind(X2,X2,X2,X2,X2)
 XX<- DD * Xlist
 
 result_e<-lm(LTC1~XX-1)
 summary(result_e)
 SSR_e <- deviance(result_e)


**検定 [#zd50ea8a]

lm() など、組み込み関数を使えば、t 検定程度ならば自動的に実行されます(同時有意性の検定は?(・∀・)ニヤニヤ)。
そのほか、例えば以下のようなパッケージ/関数が提供されています。

-分散の差の検定

|検定名|関数|パッケージ|
|F検定|pf()|(デフォルト)|


-不均一分散の検定 

|検定名|関数|パッケージ|
|Breusch-Pagan Test| Bptest()| lmtest|
|White Test|white.test()|tseries|


-系列相関の検定

|検定名|関数|パッケージ|
|Q Test(Box-Pierce, Ljung-Box Test)|Box.test()|(デフォルト)|
|Breusch-Godfrey Test|Bgtest()|lmtest|
|Durbin-Watson Test|durbin.watson()|car|
||dwtest()|lmtest|

-単位根の検定

|検定名|関数|パッケージ|
|Augmented Dickey-Fuller Test|ur.df()|urca|
||adf.test()|tseries|
|Phillips-Perron Test|PP.test()|tseries|


***F検定の例 [#kf917564]

(上記の続き)

 F_f <- ((SSR_c - SSR_e) / 16 ) / (SSR_e / (125) )
 PF_f <- 1 - pf(F_f,16,125)
 PF_f

p 値の表示
 > PF_f
 [1] 1.451070e-09

//(;゚д゚) anova(result_a, result_b)とするほうが簡単に行えますよ。

***モンテカルロシミュレーション [#affab0ad]

上記 Hayashi Ch 2. の Monte Carlo Exercise 2 (p. 183)

Box-Pierce, Ljung-Box 双方の Q 統計量の比較

ここでは一様分布から乱数を発生(z <- runif(50) - 0.5)

 n <- 50; p <- 4; nrep <- 10^4
 c_bp <- 0; c_lb <- 0
 for( j in 1:nrep){
   z <- runif(50) - 0.5
   gam <- c()
   for (j in 1:p)
     gam[j] <- sum( (z[1:(n-j)]-mean(z))*(z[(1+j):n]-mean(z)) )/n
   #var_z <- var(z)
   var_z <- sum((z[1:n]-mean(z))^2)/n
   bp_Q <- n*sum( (gam/var_z)^2 )
   lb_Q <- n*(n+2) * sum( (gam/var_z)^2 / (n-c(1:p)) )
   if ( bp_Q < qchisq(0.95,p) )
     c_bp <- c_bp + 1
   if ( lb_Q < qchisq(0.95,p) )
     c_lb <- c_lb + 1
 }
 # print
 cat(c_bp,c_lb,"\n")
 cat(c_bp/nrep,c_lb/nrep,"\n")

*モデル選択 [#m4b0899f]

AIC/BIC によるモデル選択は、関数 AIC() を使用します。

***例(AICによるモデル選択) [#r7ab9ef5]

(続き)

 > AIC(result_c)
 [1] 145.6767
 > AIC(result_e)
 [1] 95.31413

この場合は、パラメータが多いほうが予測力が大きいことを示唆しています。

*GMM (Generalized Method of Moments: 一般化モーメント法) [#b20b6159]

パッケージ systemfit を参照。

[[systemfit(同時方程式推定パッケージ)パッケージ中のオブジェクト一覧]]

//(;゚д゚) systemfitは連立方程式の推定パッケージで、同時方程式(2SLS、3SLS、GMM-3SLS)も扱える位置付けです。非連立方程式でGMMを使いたい場合は、gmmパッケージを使う方が良いと思います。

//[[(;゚д゚) R言語で3SLSを使って連立方程式モデルを推定せよ!:http://uncorrelated.no-ip.com/cgi-bin/view.cgi/20090731/T]]~
//↑ ご注意:ユーザ番号と,パスワードを要求されます(ユーザ登録しろと言うことですが,もっとオープンにしてもよいのでは?)~
//試しに,登録したんだけど,何の応答もない。メールアドレスを収集するための,悪意のあるページかも知れんなあ。~
//コメントアウトする方が良いのかな。

*時系列分析 [#m2ec97ca]

AR、ARMA、ARIMAは、関数arima()を使用します。

GARCHは、パッケージ tseries に関数garch()があります。

[[tseries(時系列分析とコンピューテーショナル・ファイナンス)パッケージ中のオブジェクト一覧]]

多変量の時系列解析は、パッケージ dse (dse1/dse2) を使用。
VAR モデルの推定などが可能です。

[[dseパッケージ中のオブジェクト一覧]]

*パネルデータ(panel) [#p0e1bc49]

パッケージ nlme を参照。

[[nlmeパッケージ中のオブジェクト一覧]]

//[[(;゚д゚) R言語でパネルデータ・モデルを推計せよ!:http://uncorrelated.no-ip.com/cgi-bin/view.cgi/20090414/T]]~
//↑ ご注意:ユーザ番号と,パスワードを要求されます(ユーザ登録しろと言うことですが,もっとオープンにしてもよいのでは?)

*非線形回帰・最尤法 [#t471043f]

パッケージ stats4 に関数 mle() があります。

このほか、関数 nlm() も使用可能。少々難易度が高いか。[[汎用非線形最小化関数 nlm]]を参照のこと。

//[[(;゚д゚) R言語で最尤法を実行せよ!:http://uncorrelated.no-ip.com/cgi-bin/view.cgi/20090402/T]]~
//↑ ご注意:ユーザ番号と,パスワードを要求されます(ユーザ登録しろと言うことですが,もっとオープンにしてもよいのでは?)

*プロビット・ロジット [#f8a0a3df]

被説明変数(左辺)が 0 か 1 をとる場合の分析手法です。
プロビット・ロジスティック回帰には、関数 glm() をつかいます。
 glm(y~ x1 + x2 +x3, family=binomial(link="logit"))
 glm(y~ x1 + x2 +x3, family=binomial(link="probit"))

**Ordered Logistic or Probit Regression(順序ロジット・順序プロビット) [#t4598c8b]

関数 polr().パッケージは,MASS.
 
**Multinominal Logistic Regression(多項ロジット) [#l21c900d]

関数 multinom().パッケージは,nnet.

**ベイジアン [#u7476a46]

MCMCpack にプロビット・ロジット・順序プロビット・多項プロビット等の実装があります.

[[MCMCpackパッケージ(マルコフ連鎖モンテカルロ)中のオブジェクト一覧]]

**質的選択モデル:二項プロビット・二項ロジット・多項プロビット・多項ロジット・条件付ロジット・複合ロジット [#q0105f2a]

二項プロビット・二項ロジット分析はglm()関数で推計可能。多項ロジット、コンディショナル・ロジット、複合ロジット・モデルはmlogitパッケージを用いる。多項プロビット・モデルは、MNPパッケージかMCMCpackパッケージで利用可能。

//[[(;゚д゚) R言語で質的選択モデルを推計せよ!:http://uncorrelated.no-ip.com/cgi-bin/view.cgi/20090417/T]]~
//↑ ご注意:ユーザ番号と,パスワードを要求されます(ユーザ登録しろと言うことですが,もっとオープンにしてもよいのでは?)

**erer: Empirical Research in Economics with R [#x4641bef]

*サバイバル分析 [#e26fa918]

失業者が再就職する過程や企業の生存分析などでつかわれます。パッケージは例えば survival。

*ベイズ計量経済学 [#dc7b8546]

[[Rでベイズ統計学]] に詳述。

*空間計量経済学または空間統計学 [#h2b7590e]

経済学と空間統計学を組み合わせるというのは、目新しい分野です。Luc Anselin の[["Spatial Econometircs":http://www.amazon.co.jp/gp/product/9024737354/]]が嚆矢。当初は経済学では注目されず、1990年代より注目を浴びていった。これには Anselin 自身がパッケージを開発したことも大いに貢献している。

 R の代表的なパッケージには fields 、 spdep(Anselin の開発した GeoDa の一部が取り込める)および spgwr。

-[[ACE592 SE Spatial Econometrics:http://www.sal.uiuc.edu/courses/se/]] Luc Anselin による空間計量経済学の講義資料空間的自己相関、空間ウエイト、空間過程モデル、空間回帰モデル、時空モデル、空間プロビット等。R や GeoDa を利用。 [#b9264f8a]
-[[Spatial econometrics functions in R: Classes and methods:http://spatial.nhh.no/papers/bivand-jgs03-rev.pdf]] by Bivand, R. Journal of Geographical Systems から転載? spdep
-[[Panel Models, Spatial Econometrics, and Spatial Panel Models + Some of Quantitative Geography Oriented Stuff:http://geog.ucsb.edu/~chris/Lecture10_210C_Davenport_Spatial%20Panels.pdf]]
-[[Spatial Econometrics: An Introduction:https://engineering.purdue.edu/ITE/workshops/workshops10-11/spatial_presentation.pdf]]

*時空間計量経済学モデル [#c340ae24]

*データ [#m529f016]
-Ecdat: Data sets for econometrics

*関連リンク [#b7deebc3]
//by さとう
[[CRAN Task View: Computational Econometrics:http://cran.us.r-project.org/src/contrib/Views/Econometrics.html]]

[[Rを使って計量経済分析:http://www.sugi-shun.com/econwiki/index.php?R%A4%F2%BB%C8%A4%C3%A4%C6%B7%D7%CE%CC%B7%D0%BA%D1%CA%AC%C0%CF]]

-[[Econometrics in R:http://cran.r-project.org/doc/contrib/Farnsworth-EconometricsInR.pdf]]

-[[計量経済学のためのR環境:http://hnami.or.tv/d/index.php?%B7%D7%CE%CC%B7%D0%BA%D1%B3%D8%A4%CE%A4%BF%A4%E1%A4%CER%B4%C4%B6%AD]]

-[[gretl and GNU R:http://gretl.sourceforge.net/gretl_and_R.html]] [[gretl - Gnu Regression, Econometrics and Time-series Library:http://gretl.sourceforge.net/]] と R とのリンケージ([[マニュアル:http://jaist.dl.sourceforge.net/project/gretl/manual/gretl-guide-a4.pdf]]の33章に説明あり)

-[[Econometrics@R-Forge:https://r-forge.r-project.org/softwaremap/trove_list.php?form_cat=156]]
--[[hepi:https://r-forge.r-project.org/projects/hepi/]] provides a set of functions and classes for representing and estimating hedonic functions as well as hedonic elementary price indices.

-[[Computational Econometrics: Aggregate Demand with Random Parameters:http://www.r-bloggers.com/computational-econometrics-aggregate-demand-with-random-parameters/]]
-[[Notes on Spatial Econometric Models:http://facweb.knowlton.ohio-state.edu/pviton/courses2/crp8703/spatial.pdf]]

*参考文献 [#vbc3f570]
-[[「R」で学ぶ 計量経済学:http://www.kohgakusha.co.jp/books/detail/978-4-7775-1457-1]]
-[[経済データ分析:http://www.kyoritsu-pub.co.jp/series/arudemanabu.html#15]], 野田英雄・姜 興起・金 明哲 著, 共立出版, 201?
-[[Spatial Econometrics:https://engineering.purdue.edu/ITE/workshops/workshops10-11/spatialeconometrics.pdf]] spdep, maptools 利用.
-[[Rによる計量経済分析:http://www.asakura.co.jp/books/isbn/978-4-254-12816-1/]] 福地純一郎 ・伊藤有希 著, 朝倉書店,2011.07
-[[Rによる空間データの統計分析 :http://www.asakura.co.jp/books/isbn/978-4-254-12815-4/]] 古谷知之  著, 朝倉書店,2011.06 
-[[Special Volume: Econometrics in R, Journal of Statistical Software, Vol. 27, 2011:http://www.jstatsoft.org/v27]]
-[[Infidelity and econometrics:http://www.r-bloggers.com/infidelity-and-econometrics/]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS