EViewsはエクセルのように操作できて便利ですが、繰り返し作業をするときはプログラムを作っておくと便利です。この記事では、パネルデータを推計する時に使うプログラムを紹介します。
何度も同じ処理をしていると間違いも起こりやすいので、プログラムで再現できるようにしておきましょう。
経済統計の使い方では、統計データの入手法から分析法まで解説しています。
https://officekaisuiyoku.com/category/software/eviews/Poolオブジェクトの宣言
パネルデータは、Poolオブジェクトとして扱われます。このため、まず、Poolオブジェクトを作ります。
Pool Poolオブジェクト名 クロスセクションのID
たとえば、都道府県別のパネルデータを作るときは以下のように宣言します。Poolオブジェクトの名前がgdpelastrtで、その後に、HK(北海道)、AO(青森)、IW(岩手)と都道府県のIDが続きます。
pool gdpelastrt HK AO IW MG AT YG FS IG TG GM ST CB TK KG NG TY IK FI YN NN GF SO AC ME SI KT OS HG NR WY TT SN OY HS YI TS KW EM KC FO SG NS KM OT MZ KS ON
最小二乗法
最初二乗法はlsがコマンドの名前になります。yが被説明変数で、x1以下が説明変数です。
pool_name.ls(options) y [x1 x2 x3…]
オプションの主要なものは以下です。
記号 | 説明 | |
クロスセクション | cx=arg | デフォルトは効果を設定しない。固定効果は(”cx=f”)、ランダム効果は(”cx=r”) |
期間 | per=arg | デフォルトは効果を設定しない。固定効果は(”per=f”)、ランダム効果は(”per=r”) |
データメンバー
データメンバーについては現状うまく使えてないですが、将来必要になると思うので残しておきます。以下は通常の最小二乗法の場合です。
項目 | 記号 | 説明 |
AIC | @aic | |
係数 | @coefs(i) | i番名の係数 |
t値 | @tstats(i) | I番名の係数のt値 |
自由度修正済み決定係数 | @rbar2 |
p値がすぐに計算されればよいのですが、以下の計算をして求める必要があります。方程式名がeq01で係数が3つあつ場合は以下の計算をすると、coefp1,coefp2,coefp3にp値が格納されます。
scalar coefp1=@tdist( eq01.@tstats(1),@regobs-@ncoef)
scalar coefp2=@tdist( eq01.@tstats(2),@regobs-@ncoef)
scalar coefp3=@tdist( eq01.@tstats(3),@regobs-@ncoef)
操作変数法
操作変数は、二段階最小二乗法を表すtslsを使います。通常の操作変数の場合は、@の後に操作変数を加えますが、パネルデータの場合は@instの後に操作変数を加えます。
pool_name.tsls(options) y [x1 x2 x3 …] [@inst z1 z2 …]
オプションは最小二乗法の場合と同じです。
記号 | 説明 | |
クロスセクション | cx=arg | デフォルトは効果を設定しない。固定効果は(”cx=f”)、ランダム効果は(”cx=r”) |
期間 | per=arg | デフォルトは効果を設定しない。固定効果は(”per=f”)、ランダム効果は(”per=r”) |
具体例
以下は、各都道府県の実質GDPに、人流データを回帰した例です。操作変数に、緊急事態宣言の発令率を使っています。
- dlog(gdp?) 実質GDPの対数階差
- c 定数項
- d(rt?/100) 人流データ(小売り・娯楽)の階差
- d(se?) 緊急事態宣言発令率の階差
pool gdpelastrt HK AO IW MG AT YG FS IG TG GM ST CB TK KG NG TY IK FI YN NN GF SO AC ME SI KT OS HG NR WY TT SN OY HS YI TS KW EM KC FO SG NS KM OT MZ KS ON
gdpelastrt.tsls(per=f) dlog(gdp? ) c d(rt?/100) @inst d(se?)
以下の結果が出力されます。