マクロモデルの新しい解法

EViews 14では、標準的なガウス・ザイデル法、E-ニュートン法、またはE-Qニュートン法(Brayton, 2011)を使用して、内生変数の将来値を含むモデルを解くことができます。この新しい機能は、合理的期待を含むモデルの解を見つける上で中心的な役割を果たします。
マクロモデル推定についてはこちらをご覧ください。


概要

  1. 次のような方程式を含むモデルを考えます。 \[ F(y(-maxlag), \dots,y(-1),y,y(1),\dots,y(maxlead),x)=0 \]
    $F$はモデル内のすべての方程式、$𝑦$は内生変数のベクトル、$𝑥$はすべての外生変数のベクトル、括弧はEViewsのラグ・リードを示すEViewsの構文を表します。
    特定の期間におけるモデルを解くには、内生変数の過去値と未来値の両方が必要となるため、モデルを再帰的に一度の計算で解くことはできません。そのため、モデルを解く対象となるすべての期間の方程式を同時方程式系として扱い、初期条件だけでなく終期条件も必要となります。
    例えば、ラグ変数とリード変数が1つずつで、標本期間が$s$から$t$までの場合、我々は、積み重ねられたシステム全体を効果的に解かなければなりません。 \begin{eqnarray*} \ F(y_{s-1},y_{s},y_{s+1},x)=0 \\ \ F(y_{s},y_{s+1},y_{s+2},x)=0 \\ \ F(y_{s+1},y_{s+2},y_{s+3},x)=0 \\ \ \vdots \\ \ F(y_{t-2},y_{t-1},y_{t},x)=0 \\ \ F(y_{t-1},y_{t},y_{t+1},x)=0 \\ \end{eqnarray*}
    ここで未知数は$y_{s},y_{s+1},\dots,y{t}$であり、初期条件は$y_{s-1}$で与えられ、終端条件は𝑦𝑡+1を決定するために使用されます。リードまたはラグが1期間を超える場合は、初期条件または終端条件の複数期間が必要になることに注意してください。EViewsは、この種のモデルを解くための3つの方法、ガウス・ザイデル法、E-ニュートン法、E-Qニュートン法を提供しています。3種類すべての手法はモデル内の方程式を繰り返し解いて、内生変数の変化$\Delta y_{s},\Delta y_{s+1},\dots,\Delta y_{t}$をゼロに近づけるものです。
  2. ガウス・ザイデル法:
    最初のアルゴリズムであるガウス・ザイデル法は、予測サンプル内のすべての観測値をループ処理し、各観測値において、過去および将来の値を固定値として扱いながらモデルを解きます。ループは、連続する反復処理間の内生変数の値の変化が指定された許容値よりも小さくなるまで繰り返されます。本質的には、各内生変数の将来値と再計算された値との間の差異は、アルゴリズムが収束すると仮定すると、差異がなくなるまで観測値を通して前後に拡散されます。
    ガウス・ザイデル法は必ずしも収束するとは限らないが、収束しない場合は、過去または未来が現在に及ぼす影響が、考慮する時間の長さを長くしても消えない場合に生じるモデルの不安定性の兆候であることが多い。このような不安定性は、他の理由からも望ましくない場合が多く、モデルの仕様が不適切であることを示している可能性がある。
    この方法はフェア・テイラー法と呼ばれることが多いが、フェア・テイラーアルゴリズムには、EViewsが提供するオプションとは若干異なる、特定の終端条件の処理方法(拡張パス法)が含まれている。モデルを解く際、EViewsでは、予測サンプルの終了以降の内生変数の値を指定することで固定の終端条件を指定したり、予測期間の終了以降の値に対して内生変数に一定の水準、線形トレンド、または一定の成長率を課す追加の方程式を終端期間に追加することで、終端条件を内生的に決定したりすることができる。
  3. E-ニュートン法とE-Qニュートン法
    2番目と3番目の手法、E-ニュートンとE-Qニュートン(Barayton, 2011)はそれぞれよく知られているニュートン法とブロイデン法を$\Delta y = 0$のような内生変数の探す問題に対処するものです。どちらのアルゴリズムも、積み重ねられたシステムの線形近似を繰り返し構築し、その近似を用いて内生変数を調整し、近似を更新します。これらの方法は、$\Delta y$またはその近似値のヤコビアンを計算することを伴うため、ガウス・ザイデル法よりも計算負荷が高くなります。
    追加の計算コストを考慮すると、これら2つの手法は、堅牢性と幅広いモデルへの適用性という利点があります。小規模なモデルや将来の値が少ないモデルは、E-ニュートン法の方が効率的に解ける場合が多く、一方、大規模なモデルや将来の値が多いモデルは、E-Qニュートン法の方が効率的に解けます。
    E-ニュートン法とE-Qニュートン法は、EViewsプログラムとして実装され、連邦準備制度理事会の大規模経済モデルFRB/USの一部としてMCE_SOLVE_LIBRARYの形で配布されていますが、MCE_SOLVE_LIBRARYとEViews実装の間には、いくつかの違いがあります。
    • MCE_SOLVE_LIBRARYの実装では、モデル内の将来値の式が厳密に線形であるという簡略化された仮定を使用しています(オプションjinitを「linear」に設定)。このオプションにより、ヤコビ行列の構築を非常に効率的に行うことができます。しかし、EViewsはより一般的な将来値の依存性を許容しており、現時点ではこの機能をサポートしていないため、この種の線形モデルの解を求めるには、かなり長い時間がかかる可能性があります。
    • MCE_SOLVE_LIBRARYの実装では、内生変数の値を、解析対象サンプル外の観測値で変更できます。一方、EViewsは標準的なアプローチに従い、解析対象サンプル内の観測値における内生変数の値のみを解析します。

ダイアログボックス

  1. モデルツールバーのSolveボタンをクリックするか、メインモデルオブジェクトメニューからProc/Solve Moldes...を選択すると、ソルバーオプションが表示されます。Solveタブをクリックすると、対応するダイアログページが表示されます。ソルバーダイアログページでは、モデルに適用される非線形方程式ソルバーに関するオプションを設定します。
    データ
  2. Solution algorithmボックスでは、各期間内の同時ブロックの解決と、全期間にわたる将来の値(存在する場合)の解決に使用するアルゴリズムを選択できます。以下の選択肢があります。
    データ
    • Gauss-Seidel: ガウス・ザイデル法は反復アルゴリズムであり、各反復において、モデル内の各方程式を解き、対応する内生変数の値を求めます。この際、他のすべての内生変数は固定値として扱います。
      ガウス・ザイデル法は、必要な作業メモリが少なく、計算コストも比較的低いですが、収束するためには方程式系が一定の安定性特性を満たす必要があります。これらの特性を満たさないモデルを構築することは容易ですが、実際には、このアルゴリズムはほとんどの計量経済モデルで良好な結果を示します。アルゴリズムで問題が発生する場合は、方程式の順序を変更したり、内生変数の割り当てを変更するように方程式を書き直したりしてみてください。これらの変更は、ガウス・ザイデル反復の安定性に影響を与える可能性があるためです。
    • Newton: ニュートン法は反復法であり、各反復においてモデルの線形近似を行い、その線形方程式系を解いてモデルの根を求めます。
      ニュートン法はガウス・ザイデル法よりも幅広い問題に対応できますが、大規模なモデルに適用する場合、より多くのワーキングメモリを必要とし、計算コストも大幅に増加します。ニュートン法は方程式の順序変更や書き換えに対して不変です。
      この方法を選択した場合、同時ブロックの解法にはニュートン法が用いられますが、将来値の解法にはガウス・ザイデル法が用いられます。
    • Broyden: ブロイデン法はニュートン法の改良版(準ニュートン法または割線法とも呼ばれる)であり、ニュートン法で用いられる真のヤコビアンではなく、ヤコビアン近似値を用いてモデルを線形化する。この近似値は、内生変数の新しい試行値で得られた方程式の残差と、現在のヤコビアン近似値に基づく線形モデルによって予測された方程式の残差を比較することで、各反復ごとに更新される。
      ブロイデン法では、各反復計算がニュートン法よりも少ない情報に基づいて行われるため、ブロイデン法では解に収束するまでに通常より多くの反復計算が必要となります。しかし、各反復計算の計算コストは一般的に低いため、ブロイデン法でモデルを解くのに必要な総時間は、ニュートン法でモデルを解くのに必要な時間よりも短くなることがよくあります。 ブロイデン法は、方程式の順序変更や書き換えに対して不変であるなど、ニュートン法の望ましい特性の多くを保持していることに注意してください。
      この方法を選択した場合、同時ブロックの解法にはブロイデン法が用いられ、将来値の解法にはガウス・ザイデル法が用いられます。
    • E-Newton: 同時ブロックの解法にはブロイデン法が用いられ、将来値の解法にはニュートン法が用いられる。
    • E-Q Newton: 同時ブロックの解法と将来値の解法の両方に、ブロイデン法を用います。
    • Forward solutionセクションでは、モデル内の1つ以上の方程式に内生変数の将来の値が含まれている場合、どのように解をえるかについてのオプションを調整します。Terminal conditionセクションでは、予測期間の終了を超えて続くリードタイムにおける内生変数の値の決定方法を指定できます。
      データ
      • User specified in Actualsを選択した場合、予測サンプル終了後の実績値系列に含まれる値が固定終端値として使用されます。値が利用できない場合、ソルバーは処理を続行できません。
      • Constant levelを選択した場合、終端値は内生的に決定されます。これは、内生変数の値が予測後の期間において最終予測値と同じ水準で一定であるという条件をモデルに追加することによって行われます。$y_{t}=y_{t-1}$、$t=T,T+1,\dots,T+k-1$の場合の値で、$T$は予測サンプル終了後の最初の観測値、$k$はモデルにおける最大リードです。このオプションは、モデルが定常状態に収束する場合に適切な選択肢となる可能性があります。
      • Constant differenceを選択した場合、終値は内生的に決定されます。内生変数の値が予測期間後において線形トレンドに従うという条件を追加することで、その傾きは直近の2つの予測値の差によって与えられます。 \begin{eqnarray*} \ y_{t}-y_{t-1}=y_{t-1}-y_{t-2} \end{eqnarray*} ここで$t=T,T+1,\dots,T+k+1$です。モデルが対数形式で、定常状態に収束する傾向がある場合、このオプションは良い選択肢となる可能性があります。
      • Constant growthが選択されている場合、最終値は内生的に決定されます。内生変数が指数関数的に増加するという条件をモデルに追加することによって予測後の期間にわたる成長率は、次の期間の成長によって与えられます。最後の2つの予測値: \begin{eqnarray*} \ \frac{(y_{t}-y_{t-1}}{y_{t-1}}=\frac{(y_{t-1}-y_{t-2})}{y_{t-2}} \end{eqnarray*}
        ここで$t=T,T+1,\dots,T+k+1$。モデルが内生変数の予測値を定常成長経路に収束させる傾向がある場合に良い選択肢となる可能性があります。
page_top_icon