パネルデータ分析

パネルデータ分析では個人、企業、地域(都道府県)などの異質性を捕えることができます。異質性を考慮しない時系列やクロスセクションの分析は、バイアスのかかった結果をもたらすことが考えられます。
このページではデータの読み込みから、固定効果モデル・変量効果モデルの推定、モデル選択、診断・検定までの操作を一貫して解説します。
パネルデータ分析の各種計算手法の詳細についてはこちらをご覧ください。


データの準備

  1. サンプルファイルはこちらからダウンロードできます。パネルワークファイルでは必ず個体を識別するIDが必要です。サンプルファイルbank.xlsをインポートしてみましょう。系列: bankが個体を識別するIDです、これをクロスセクションIDと呼びます。系列: yearは時間を識別します。
    File > Open > Foreign Fileと操作します。EViewsはパネルワークファイルの自動認識し、Rangeの表示がDated Panelになっています。
    データ
    パネルワークファイルでは必ず個体を識別するIDが必要です。
  2. パネルワークファイルにはクロスセクションの利用方法により、色々なグラフを作成できます。View > Graphと操作し、Panel optionsセクションで表示方法を変更できます。
    データ
    具体例は1変数のグラフ、または複数変数のグラフをご覧ください。

推定

    固定効果モデル

  1. サンプルデータharrison_panel.wf1を用いて、Harrison and Rubinfeld (1978)のヘドニック価格に関する分析を行います。
    住宅(持ち家)価格の中央値(MV:対数値)を被説明変数として、説明変数には住宅価格に影響を与える次のような変数を利用します。ボストン近郊の92の町から合計506の地域でデータを集めました。
    ここでは、Workfike structureをUndated panelを指定、Identifier seriesにTOWNIDを入力します。
    データ
    Quick/Estimate Equationと操作して次のように入力し、推定します。
    mv c crim chas nox rm age dis b lstat
    Nameボタンをクリックし、モデルに「eq01」と名前を付けます。Estimateボタンをクリックして、Panel Optionsのタブを表示します。Cross-sectionのタブでFixedを選択して、OKボタンをクリックします。
    データ
  2. 推定結果はここでは省略し、個体効果に意味あるのかを検定します。eq02でView:Fixed/Random Effects –Testing/Redundant Fixed Effects – Likelihood Ratioと操作します。
    データ
    帰無仮説は「固定効果は冗長である」です。$p$値がゼロとなっていますので、棄却されます。つまり、「固定効果」は有効だということが分かります。
  3. 固定効果モデルにおける各個体のごとの効果を調べます。ViewsボタンでFixed/Random Effect :Cross-section Effectと操作します。
    データ
  4. 観測できない固定効果(異質性)の一番大きな町を特定します。列を選択してコピーします。ワークファイルのタブからPaste from Clipboard Pageを選択して、新しいページに貼り付けます。
    データ
    EFFECTシリーズを開き、PropertyボタンでFill color/Type: High-Low-Meidanを選択し、各レベルの色を設定します。
    データ
    66番が最低、77番が最大、80番が中央値を示しています。
    データ
  5. ランダム効果モデル

  6. 個体ごとの独自の変動を確率変数として考えます。eq01を右クリック/Copyと操作し、ワークファイル上で右クリック/Pasteと操作し、「eq01r」という名前で作成し、ランダム効果モデルを推定します。
    eq01rを開き、Estimateボタンをクリック、Panel OptionsタブでCross-section: Randomを選択し推定します。
    データ
    データ
  7. ハウスマン検定

  8. ランダム効果モデルを推定したeq01rでView/Fixed/Random Effect Testing/Correlated Random Effects – Hausman Testと操作します。
    帰無仮説は$Cov(x_{it}, \nu_{i})=0$、対立仮説は$Cov(x_{it}, \nu_{i})\ne0$です。
    データ
    ハウスマン検定の結果、固定効果モデルを支持する結果となりました。「ランダム効果モデルで確率変数と説明変数は無相関である」という仮定について調べるための検定です。これらが相関していれば、ランダム効果モデルの採用は不適切である、ということになります。
  9. Two-way Error Componentモデル

  10. ここまでは時間を通して一定の個体固有の効果について考えましたが、個体を問わず一定の観測時点固有の効果を考慮することもできます。下記では、$\nu_{i}$が個体$i$の固有効果、$\lambda_{t}$が観測時点$t$の固有効果です。 \[ y_{it} = \alpha + \rm{x}_{it} \beta + \nu_{i} + \lambda_{t} + \epsilon_{it} \]
    個体効果と時間効果の両方を考慮する二方向の固定効果モデルであればPanel OptionsタブでCross-section:とPeriod:についてFixedを指定します。
    同様に、二方向の変量効果モデルや、固定効果と変量効果を組み合わせて推定することもできます。

例題 Wooldrigde(2002)

  1. Wooldridge (2002)は、職業訓練の補助金(1987-1989)が、企業の製品廃棄率に与える影響を分析していますが、 サンプルファイルjtrain.wf1を開き、これをEViewsで再現してみます。
    ワークファイルウィンドウのRange欄をダブルクリックし、クロスセクションIDをFCODE, 時間変数をYEARとしてパネルデータの設定を行います。
    次のモデルEQ01という名前で固定効果モデルとして推定します。 \[ lscap_{i,t} = \alpha_{0} + \alpha_{i} + \beta_{1}d88_{i,t} + \beta_{2}d89_{i,t} + \beta_{3}grant_{i,t} + \beta_{4}grant_{i,t-1} + e_{i,t} \]
  2. 但し、誤差項の系列相関を考慮して、Panel Optionsタブにある係数共分散の項目で、White periodを選び、さらに、自由度調整のオプションをチェックします。
    データ
    データ
    Coef. covariance method欄では、分散共分散行列の修正法を9種類から選択できます。
    • Ordinary: 修正を行わない
    • White crosssection: 誤差項について各時点での同時相関を考慮し、同時相関と不均一分散に対して堅牢
    • White period: 個体ごとの不均一分散と時系列方向の系列相関を考慮
    • White (diagonal): 個体・時間に依らない、非構造的な不均一分散に対して堅牢
    • White two-way cluster: 個体と時間の両方向の不均一分散に堅牢
    • Cross-section SUR: White periodと若干異なる計算手法で個体方向の系列相関を考慮
    • Cross-section weights: 個体方向の不均一分散に堅牢だが一般的な残差の不均一分散を考慮しない
    • Period weights: 時間方向の不均一分散に堅牢だが一般的な残差の不均一分散を考慮しない
    • Period SUR: White periodと若干異なる計算手法で時系列方向の系列相関を考慮
  3. さらに、個体効果を考慮しないモデルとしてEQ02を推定します。 \[ \Delta lscap_{i,t} = \alpha + \beta_{1}d89_{i,t} + \beta_{2} \Delta grant_{i,t} + \beta_{3} \Delta grant_{i,t-1} + e_{i,t} \]
    EQ01をコピーアンドペーストして、Nameボタンで名前を変更し、推定オプションとしてWhite periodを利用します。Equation specification欄では階差関数d()を利用し、次のように入力します。
    d(lscrap) c d89 d(grant) d(grant_1)
    データ
    データ
  4. EQ02の残差に系列相関があるか確認します。パネルデータのモデルではGMM推定以外では、検定機能はないので、手作業で操作します。EQ02でProc/Make Residual Series…として残差resid01を取り出します。
    データ
    この残差の自己回帰モデルEQ03を推定します。 \[ resid01_{i,t} = \gamma reside01_{i,t-1} + \nu_{i,t} \]
    新たにEquationオブジェクトを作成し、自己回帰関数ar()を利用し、次のように入力し推定します。
    resid01 ar(1)
    データ
    EQ03でView/Coefficient Diagnostics/Wald Coefficient Restrictions…と操作し、$\gamma = -0.5$であるかを、c(1)=-0.5として、検定を実行します。
    データ
    データ
    帰無仮説は棄却されるので、EQ03に系列相関が存在します。

例題:Grunfeld(1958)

  1. サンプルデータはgrunfeld_baltagi_panel.wf1をもとにプーリング推定とランダム効果推定の選択について解説します。Grunfeld(1958)を例にシンプルなプーリングモデルにランダム効果を設定するべきかを判断します。データセットは1935-1954年の企業の投資関数を推定します。次のモデルにランダム効果を追加すべきか、検定します。 \[ I_{i,t} = \alpha + \beta_{1}F_{i,t} + \beta_{2}C01_{i,t} + u_{i,t} \]
    $I, F, C01$はそれぞれ投資金額、企業価値(発行済み株式の価値)、資本ストックです。
    Quick/Estimate Equationと操作し、Equation specificationにつぎを入力し、Panelオプションを設定せず、プールド推定します。
    i c f c01
    データ
  2. View/Fixed-Random Effects Testing/Omitted Random Effects –Lagrange Multiplierと操作します。帰無仮説は、プーリングモデルが良い、です。EViewsは5つの統計量を表示し、()内が$p$値です。
    データ

例題: Baltagi (2008)

  1. パネルデータではクロセクション方向の誤差項は独立であるという仮定しています。クロスセクションの相関を調べ、この仮定が満たされているかを確認します。OECD加盟18カ国のガソリン消費量データ、gasoline.wf1を開きます。$LGASPCAR, LINCOMEP, LRPMG, LCARPCAP$はそれぞれ1台あたりのガソリン消費量の対数値、1人当たり実質所得の対数値、実質ガソリン価格の対数値、1人当たり自動車所有台数です。これらを利用し次のモデルを推定します。 \[ LGASPCAR_{i,t} = \alpha_{0} + \alpha_{i} + \beta_{1} LINCOMEP_{i,t} +\beta_{2} LRPMG_{i,t} + \beta_{3} LCARPCAP_{i,t} + u_{i,t} \]
  2. 上記のガソリンの消費モデルEQ01を、固定効果モデルとして推定します。Quick/Estimate Equationと操作し、Equation specificationにつぎを入力し推定します。
    lgaspcar c lincomep lrpmg lcarpcap
    データ
  3. View/Residual Diagnostics/Cross-section Dependence Testと操作して、クロスセクション方向の相関についての検定を実行します。帰無仮説は、残差にクロスセクション方向の相関はない、です。
    データ
    EViewsは4つの統計量を報告します。
    • Breusch-Pagan LM: 4つの検定統計量のうち、もっとも一般的な統計量。
    • Pesaran Scaled LM: データ数$N$が大きいときは、このPesaran Scaled LMの方が良い。ただし、$N$が小さい場合は検定統計量が正規分布しない。
    • Bias-corrected scaled LM:Scaled LMのバイアス修正版。固定効果モデルの場合にのみ出力。
    • Pesaran-CD: $N$と$T$が小さい場合でも優れた統計量を提供する。

パネル単位根検定

  1. 時系列データのモデル推定については単位根の存在を確認する必要があります。 \[ y_{t} = \rho y_{t-1} + x^{\prime}_{t} \delta + \epsilon_{t} \] $\rho$の絶対値が$1$以上なら非定常で、$1$未満であれば定常です。通常の時系列データの場合はADF検定統計量など、1つの検定統計量を使って判定を行いますが、パネル単位根検定の場合、EViewsではCross-sectionally IndependentとCross-sectionaly dependentの2種類の検定方法を選択できます。
    • Cross-sectionaly independent: クロスセクション方向にトレンド、定数項、ラグ係数が独立している事を仮定します。
    • Cross-sectionaly dependent: トレンド、定数項、ラグ係数がクロスセクション間で相関することを許容します。データセットがBalanced panelになっている必要があります。
    Cross-sectionaly independentな検定では5個の検定統計量を複合的に利用して判定を行います。
  2. サンプルデータpwt61extract.wf1を開きます。データセットは世界208の国と地域に関する一人当たりのGDPと、人口増加率の関係を分析します。被説明変数yは一人当たりの実質GDPの対米国比、説明変数となるdlog(pop)は人口を表すpopの対数階差で、人口増加率です。
    米国自身のデータが分析対象のypopに含まれていますので、最初に標本から外します。Quick/Sampleと操作してif conditionの項目につぎのように入力します。
    isocode <> "USA"
    <>はNOTを示すEViewsの論理関数です。条件に利用する個体文字列は大文字と小文字を区別します。小文字の”usa”ではエラーになります。
  3. 被説明変数$y$の単位根検定を実行します。通常の時系列データの場合は簡単にグラフ化してトレンドや切片を確認できましたが、個体数の多いパネルデータの場合に視覚的に確認することはできません。それぞれに、切片が異なるという条件で単位根検定を実行します。
    系列yを開き、View > Unit Root Tests > Cross-sectionaly Independent...と操作します。この例ではラグ選択基準をSICに設定します。
    データ
    データ
    どの検定統計量を見ても帰無仮説(単位根を持つ)は棄却できます。同じ要領でdlog(pop)について単位根検定を実行しましょう。

    データ
    人口増加率の係数は1/100になり、$p$値も有意ではなくなりました。どちらを採用すべきか、Redundant Testを実行して確認してください。
  4. 回帰式の傾きが有意ではない、という結果を受けて個々のデータを調べることにします。
    yとdlog(pop)のデータを日本(JPN)、イタリア(ITA)、中央アフリア共和国(CAF)について比較します。サンプルを米国を除くすべての地域から、これら3カ国に変更します。
    isocode = "CAF" or isocode = "JPN" or isocode = "ITA"
    dlog(pop)を開き、View/Descriptive Statistics & Test/ Stats by Classificationと操作するか、次を実行し統計量を確認します。
    show dlog(pop).statby(nostd, dropna) isocode
    データ
    50年間の人口増加率の平均値はかなり大きな差があります。
  5. 人口増加率と国民一人当たりGDPの各国散布図を作成します。OptionにIndividual Cross-Sectionを選択します。
    データ
    各国の特徴を固定効果として定式化すると、2変数間の相関を有意な係数で捕らえることができないことがわかりました。

ダイナミックパネルデータモデル

  1. ラグ項を含むモデルを考えます。 \begin{eqnarray*} y_{it} = \delta y_{i,t-1} + u_{it} \\ u_{it} = \mu_{i} + \nu_{it} \end{eqnarray*} 固定効果を除去するためにwithin推定を実行します。 \[ y_{i,t-1} - \bar{y}_{i} = \delta (y_{i,t-1} - \bar{y}_{i}) + (u_{it} - \bar{u}_{i}) \] $(y_{i,t-1} - \bar{y}_{i})$と$(u_{it} - \bar{u}_{i})$に相関が生じるので、within推定量ではなく、階差モデルを考えます。$ y_{i,t-2}$が操作変数として利用できる \[ y_{it} - y_{i,t-1} = \delta (y_{i,t-1} - y_{i,t-2}) + (\nu_{it} - \nu_{i,t-1}) \]
  2. サンプルデータ、Abond_pan.wf1を開きます。このファイルはUser`s Guide IIの第41章のサンプルデータとしてEViewsフォルダに入っています。
    1976年-1984年までの140の企業のデータです。N:企業の従業員数の対数値(被説明変数)、W:実質賃金の対数値、K:資本ストックの対数値、YS:工業生産の対数値です。
  3. Quick/Estimate Equationと操作し、GMM/DPDを選択します。パネルデータの場合のみDPDという表示が表れます。ダイアログの下側にあるDynamic Panel Wizard…というボタンをクリックします。
    データ
  4. Welcomeダイアログで「次へ」をクリックし、被説明変数の設定画面を表示します。被説明変数にn、ダイナミックモデルの説明変数として利用するラグ項の次数を2として、「次へ」をクリックします。
    データ
  5. 説明変数を次のように入力します。時点ダミーを利用するので、Include period dummy variablesをチェックして「次へ」をクリックします。
    w w(-1) k ys ys(-1)
    データ
  6. 「Difference」を選択し、クロスセクション方向の固定効果を削除します。時点ダミーを選択した場合、自動的に「ダミー変数は変換しない」というオプションのチェックを付けます。そして「次へ」をクリックします。
    データ
  7. 時点について操作変数を設定します。ここではnのラグ項をそのまま、操作変数とします。
    データ
  8. 一般的な操作変数を設定します。ここでは階差を取る選択をしていますので、左側のダイアログに入力し、「次へ」をクリックします。
    c w w(-1) k ys ys(-1)
    データ
  9. 加重行列の設定を行います。ここは難しい所です。ここでは変更せずに「次へ」をクリックします。
    データ
    すべての操作が完了すると、選択項目を反映した推定のダイアログを表示します。各オプションタブの内容を確認したら、OKボタンをクリックし、推定を実行します。
    データ
    Nameボタンをクリックして、「eq01」と名前を付けます。
  10. パネルデータによるモデル推定のEquationオブジェクトに用意されている検定機能は系列相関の検定だけで、外生性に関するものはありません。ここでは手作業でサーガン検定(操作変数の外生性の検定)を実行します。帰無仮説は、採用した過剰識別の状態の操作変数は適切である、です。
    次をコマンド欄で実行し、サーガン検定の$p$値を計算します。
    scalar sarganpval = @chisq(eq01.@jstat, eq01.@instrank-eq01.@ncoefs)
    eq01.@jstatはeq01の$J$統計量、eq01.@instrank-eq01.@ncoefsは自由度=操作変数のランク(個数)-パラメータの個数です。

Correlated Random Effectモデル

  1. 共変量と観測されていないパネル効果との相関を考慮する場合は固定効果モデルを適用しますが、固定効果モデルでは時間不変の共変量を回帰モデルに含めることができません。この場合、EViewsはエラーを返します。
    個体効果と回帰変数の相関を許容しつつ、非時変共変量の係数を推定するにはcorrelated random-effect (CRE)モデルを利用します。CREモデルは時間方向に平均を取った項$\bar{\rm{x}}_{i}$を追加したランダム効果モデルです。 \[ y_{it} = \alpha + \rm{x}_{it}\beta + \bar{\rm{x}}_{i} \gamma + z_{i} \xi + \nu_{i} + \epsilon_{it} \] $\rm{x}_{it}$は時変回帰変数、$z_{i}$は非時変の回帰変数です。
  2. サンプルファイルnls_panel.wf1を使用し、EViewsでCREモデルを実行します。データセットは個人の賃金や教育・就労履歴などを記録したもので、これを元に簡単なミンサー方程式を考えます。 \[ lwage_{it} = \alpha + \beta_{1} age_{it} + \beta_{2} age_{it}^{2} + \beta_{3} tenure_{it} + \beta_{4} tenure_{it}^{2} + \beta_{5} black_{i} + \nu_{i} + \epsilon_{it} \] 従属変数$lwage$は対数賃金、回帰変数$age$は年齢、$tenure$は就業年数、$black$は黒人ダミーです。
  3. EViewsでこれを実装するにはEquation specification欄に次のように入力し、ランダム効果モデルとして推定します。
    lwage c age age^2 tenure tenure^2 @expand(black, @dropfirst) @meansby(age, id, @all) @meansby(age^2, id, @all) @meansby(tenure, id, @all) @meansby(tenure^2, id, @all)
    @expand(カテゴリ変数, @dropfirstまたは@droplast)関数はカテゴリ変数からダミー変数を生成します、共線性を避けるため@dropfirst(またはlast)で1番目(または最後)の階級を排除します。@meansby(連続変数, パネルID変数, 標本期間)で連続変数の時間平均を取った系列を作成します。
  4. カテゴリ変数$black$を含めない固定効果モデルを比較して、年齢と就業年数(およびそれらの二乗項)の係数が同じであることわかります。また、時間で変化しない系列$black$の係数が$-0.022$で有意であると推定されました。
    データ
  5. モデルに追加した平均項が統計的に意味のあるものかを確認します。
    まずView > Representationと操作し、各回帰係数に対応関係を確認します。
    データ
    ageとtenure(とその二乗項)の平均項の係数はそれぞれC(7), C(8), C(9), C(10)です。
    View > Coefficient Diagnostics > Wald - Coefficient Restictions...を操作し、次のように入力し、係数がゼロであるかを検定(Mundlak検定)します。
    C(7) = C(8) = C(9) = C(10) = 0
    データ
    $\chi^{2}$値は$77.97$で、$p$値からランダム効果モデルと比較し、CREモデルが適していると判断できます。

参考文献

  1. 松浦克己, & コリン・マツケンジー. (2012). EViews による計量経済分析. 東洋経済新報社.
  2. 北村行伸. (2005). パネルデータ分析. 岩波書店.
  3. Grunfeld, Y. (1958). The determinants of corporate investment (Doctoral dissertation, The University of Chicago).
  4. S&P Global Inc. (2025). EViews 14 User’s Guide II.
  5. Wooldridge, J. M. (2002). Econometric analysis of cross section and panel data MIT press. Cambridge, ma, 108(2), 245-254.
  6. Baltagi, Badi H. (2013). Econometric analysis of panel data, 5th ed., John Wiley.
page_top_icon