平滑推移モデルの推定
平滑推移モデルの概要
EViewsで閾値回帰(Threshold Regression, TR)モデルの手法を使うと、特定の観測変数がある閾値を超えた場合に変数間の数理的関係が変化するような状況をモデリング化できます。すなわち、以下のような状況です。
y = a1 + b1*x + error if s > c
y = a2 + b2*x + error if s < = c
すなわち、yを定数とxで説明する構造自体は同じでも、閾値変数sと閾値cの大小関係によって適用されるパラメータの値が変わります。xがyの過去値である場合、それは閾値自己回帰(Threshold AutoRegression, TAR)モデルと呼ばれます。また、sにもyの過去値がよく利用されます。この場合のTARモデルは、自己励起型閾値自己回帰(Self-Exciting Threshold AutoRegression, SETAR)モデルと呼ばれます。
閾値回帰モデルは状態変化をモデル化する上で便利な手法であるものの、変化がある閾値を境にして急激に起こると想定するにおいて、モデリング上の制約が存在します。例えばcを100とすると、s=99.9とs=100.1ではsの値にほとんど差がないにも関わらず、適用されるパラメータが変わります。これに対し状態変化が徐々に起きる場合を想定したモデリング手法が、平滑推移モデル(Smooth Transition Model)です。
平滑推移モデルは以下のように表されます。
すなわち、関数Gの値が両方の状態に対するウェイトとなり、状態変化がスムーズに生じます。関数Gには以下のような関数が用いられます。
理論に関する詳細はマニュアルや一般的な時系列分析の教科書などをご確認ください。本ページではEViews上の操作に的を絞って解説します。
EViewsにおける平滑推移モデル
まずは以下のdemols.xlsxをワークファイルとしてインポートしてください。
EViewsにおいて平滑推移モデルを推定するには、まず上部メインメニューでQuick > Estimate equationと操作し、MethodでTHRESHOLDを選んで次の画面を表示させます。
初期状態ではThreshold typeがDiscreteになっています。この状態では、最初に説明した(離散型の)閾値回帰モデルが推定されます。平滑推移モデルにするにはこれをSmoothに変えます。
状態の推移を引き起こす閾値変数sとして何を利用するかを入力します。ここにはシリーズ名を入力することもできますが、ここでは自己励起型のモデルを想定します。例えば従属変数の3期前の過去値を利用することとしたい場合、"3"と入力します。ここでは"1 3"と入力します。このように半角スペース区切りで値を入力すると、1から3までの従属変数ラグを閾値変数として推定を行い、ベストなモデルを選択します(残差二乗和を最小にするモデルを選択します)。
利用する変数を入力します。一番上の入力フィールドには、まず従属変数名を入力します。その後、状態変化が起きると想定する変数(パラメータが変化する変数)を半角スペース区切りで入力していきます。二番目の入力フィールドには、状態変化が起きないと想定する変数を入力します。ここでは次のように入力します。
ここでの本質はあくまでEViews操作の解説であり、ここで利用している変数やモデルに特段の意味はありません。ただ、一つのイメージとしては貨幣供給量がGDPに与える影響を推定しているとお考えください。その影響を図るパラメータは、GDPの過去値によって変わります。景気の良いときと悪いときでは金融緩和の効果が変わるようなイメージです。逆に定数項Cは変化しないと考えています。GDPの基礎値は景気に依存しないイメージです。
最後に、Optionsタブに切り替えて関数Gを指定します。ここではlogisticを利用します。どの関数を利用すべきかに関してはUser's Guide IIをご参照ください。標準誤差の計算方法もデフォルトを利用します。初期値の設定を"Grid search - zero coefs-"に変更します。
推定画面の上部には、推定の設定などに関する基本情報が表示されます。ここではGDP(-1),GDP(-2),GDP(-3)のそれぞれを閾値変数として推定した結果、GDP(-3)がベストと判断されたのでその推定結果が表示されています。
推定結果の中央部に推定値が表示されます。m1に関しては線形部分と非線形部分に関するパラメータ推定値がそれぞれ推定されています。一方、変化しないと想定した定数項部分の推定値は一つしかありません。SLOPEとTHRESHOLDは両方ともGのパラメータで、それぞれ推移の速度と中心を定めます。
推定後に、平滑推移モデル専用の各種の診断機能が用意されています。例えば推定値SLOPEとTHRESHOLDに基づいたGの形状をグラフ化するには、View > Threshold Smoothing Weightsと操作します。