予測に関するEViews9 の新機能を紹介する3 回シリーズの第三回目です。

第一回 予測平均が一番良い?
第二回 最尤法による時系列モデルの推定
第三回 ARFIMA モデル

予測平均と予測比較

ARIMA(p, d, q) モデルにおいて階差のd は整数となりますが、ここでご紹介するARFIMA(p, d, q)モデルのd は実数となります。もちろん、実数d を分析者が見つける必要はなく、他のパラメータ同様、EViews がd も一緒に推定します。

ARFIMAモデルの推定

前回と同じサンプルデータを用いて、まずはARFIMA モデルを推定してみましょう。サンプルデータはProgram Files/EViews 9/Example Files/EViews9 Manual Data/Chapter 22-Time SeriesRegression フォルダにあるsowell 22.wf1 を利用します. まだ, EViews 9 をお持ちでない方は, 是非, デモ版を入手してください. まずは第二回と同じく、GNP の変化率をARMA(3,2) モデルとして推定します. 推定のテキストボックスには次のように入力します.

dlog(gnp) c ar(1 to 3) ma(1 to 2)

OK ボタンをクリックして推定を実行し, 推定結果のオブジェクトにeq01 という名前を付けます. 第二回で紹介した最尤法による推定が行われます。

図1


次に今回の目的であるARFIMA(3, d, 2) を推定します。推定のテキストボックスには次のように入力します. ARFIMA モデルを推定する場合は、単純に推定式の最後にd を入力するだけです。

dlog(gnp) c ar(1 to 3) ma(1 to 2) d

OK ボタンをクリックして推定を実行し, eq02 という名前を付けます.

図2


eq02 の推定結果を見ると、肝心のd が5% 有意水準で有意となっていませんが、利用方法はご理解いただけたと思います。ARFIMA モデルは時系列データが長期記憶性(long memory) を持つような場合に有効なモデルです。つまり、定常過程であり、自己相関に持続性はあるような場合に適しています。そこで自己相関について少し考察することにしましょう。変数dlog(gnp) のコレログラムを表示します。コマンドウィンドウに次のように入力します。

show dlog(gnp).correl(36)

図3


自己回帰型の変数をモデル化する場合に重要な偏自己相関を見ると、1 期前のラグは有意ですが、それ以外のラグではほとんど有意なものは見当たりません(点線の内側に棒が収まっています)。ARFIMAモデルを使いたい状況としては、定常過程でありながら、もう少し、有意な偏自己相関係数が存在するようなケースになります。また、EViews でARFIMA モデルを推定する場合、被説明変数に該当する変数は必ず、すでに定常過程にあるものを利用します。ここで利用しているdlog(gnp) は定常時系列です。

ARFIMAモデルとラグオペレータ

数式1

 ARFIMAモデルは が定常になるまで階差を取った時の がARMA モデルに従い、 dが実数であるようなモデルです。ここで仮にdが の場合、AFRIMAモデルの自己相関と偏自己相関は、dを利用しないARMAモデルに比べて減衰速度がより遅くなります。一方、 に多くの項を利用するほど、逆に減衰速度が速くなるという性質を持っています。

ここでラグオペレータ の基本的な用法を確認しておきましょう。表記はEViews 9のPDFマニュアルに倣うことにします。まず、次のようなAR モデルが与えられたとします。

数式2

ここで はi.i.dであるとします。ラグオペレータ を用いると次のような表記が可能になります。

数式3

これを使うとAR

さらに、

数式4

とします。つまり、

数式5

です。 の時点 における平均を であるとすると、4式は次のように書くことができます。

数式6

例えば、次に示すようなAR の系列相関のあるモデルを考えます。

これを を用いて変形してみます。

ここで、

一方、移動平均過程として次のようなMA 過程を定義します。

ここでは当然、

です。6式と同じく に平均を考える場合はAR の場合と同じく、

となります。今回はARFIMAモデルの仕組みとそれに伴って、ラグオペレータ の利用方法をご紹介している訳ですが、ここで改めて1式を見てみましょう。

繰り返しますがARIMAモデルとARFIMAモデルを式で書けば、このように同じ式となります。dが実数である点だけ異なる訳です。それでは、仮にARFIMA の擬似データを作成しようと思ったらどうしたらよいでしょう。つまり、 はどのように計算すればよいでしょうか。Granger and Joyeux (1981)およびHosking (1981)はこの実数和分演算子を次のように定義しています。

ここで です。残念ながら、EViews 9にはこの計算を行うための@-functionはまだ用意されていませんので、数値実験を行うことはまだできません。

ARIMAモデルにおけるバックキャスティング

バックキャスティングとはARIMAモデルをCLSで推定する場合にのみ、MA項の初期化に伴い利用される計算処理方法です。MA項をモデルで利用し、しかもCLSの時にだけ有効なオプションですが、デフォルトの設定はオンになっています(ML やGLS を選択した場合にもBackcast オプションが表示され、オンになっていますが計算では利用していません)。

図3

次に示すMA(q) モデルを利用して処理方法を説明します。

数式7・8

ここで とします。第二回で紹介したCLSによる推定を実行する場合、推定期間内のイノベーション をまず求める必要があります。計算ステップの第一として上記モデルの推定値 とプリサンプル から時点0までのイノベーションの初期値を設定します。

第二ステップは7式を用いて無条件残差 を求めます。そして次式を使って、 における残りのイノベーションを順番に計算します。

数式9

具体例として として考えてみましょう。つまり、

というモデルを考えます。何らかの方法で の初期値と、 の初期値を得たとします。最初に無条件残差を求めるので、 から が分かります。そこで、

として が分かります。同じ要領で を求めることができます。結局、 の初期値が分かれば、後は再帰的な計算を行うことで を求めることができます。この初期値の求め方の一つの方法がバックキャスティングです

まず 期から 期先のイノベーションをゼロとします。

そして次に示す後向き(backward)の再帰計算を行います。

数式10

9式との違いに注目すると、右辺の各項の時点が前方になっていることが分かります。ここでもやはり として、この計算過程を確認してみましょう。最初に、

とします。次に

から が求められます。続けて、

として が分かります。これを繰り返すことで

数式11・12

となります。11式と12式にある は8式で求めることができます。バックキャスティングの仕組みがお分かりいただけたでしょうか。繰り返しますが、これはあくまでMA項のある時系列モデルをCLSで推定する場合の推定に伴う、初期値設定のお話です。

フライフィッシングでは疑似餌(フライ)をポイントに投げ込む前に、一度、後方にフライラインを引っ張って(バックキャストして)、改めて前方へロッドを振り出します。この動作を数回繰り返しながら、徐々にフライラインをリールから巻きだして、キャスティングの距離を伸ばします(ブラッドピッドの“River Runs Through It” (1992) はとても美しいキャスティングの妙技が楽しめるフライフィッシングの愛好家にとっては忘れられない映画の一つです。)。9式と10式を見比べると、利用する時点の情報が全く逆転しており、バックキャスティングと言われる所以がお分かりいただけると思います。