EViewsはエクセルのように操作できて便利ですが、繰り返し作業をするときはプログラムを作っておくと便利です。この記事では、パネルデータを推計する時に使うプログラムを紹介します。
何度も同じ処理をしていると間違いも起こりやすいので、プログラムで再現できるようにしておきましょう。
経済統計の使い方では、統計データの入手法から分析法まで解説しています。
https://officekaisuiyoku.com/category/software/eviews/Poolオブジェクトの宣言
パネルデータは、Poolオブジェクトとして扱われます。このため、まず、Poolオブジェクトを作ります。
Pool Poolオブジェクト名 クロスセクションのID
たとえば、都道府県別のパネルデータを作るときは以下のように宣言します。Poolオブジェクトの名前がgdpelastrtで、その後に、HK(北海道)、AO(青森)、IW(岩手)と都道府県のIDが続きます。
最小二乗法
最初二乗法は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?) 緊急事態宣言発令率の階差
以下の結果が出力されます。

