線形予測     Linear prediction

   index   

 一定時間毎に計測された時系列を

で表します。 現在までの時系列を用いて、次の時刻のデータを予測したい。 この予測値を一次結合、

で計算します。 は次の時刻の予測を表しています。 実際に、次の時刻になって計測データを得たとき、予測がどれだけ正しかったかが分かります。 その予測誤差を

で表します。 適応線形予測は、たとえば自乗誤差 が小さくなるように、重み係数 () を時々刻々調整し、この調整が完了したら、それ以降の予測が最適になされることを狙うわけです。

img1.gif

このような問題を考えるとき、対象とする時系列の性質を定めておく必要があります。 たとえば、音声信号をサンプルしたとしましょう。 そのサンプリング速度は8k(サンプル/秒)ぐらいですね。 もし、ぼくが、「アーーーーー」と発声したとき、マイクロフォンで拾った電気信号のサンプル値はかなり周期的な信号になります。 したがって、適当な長さの過去のサンプル値から次のサンプル値は比較的正確に予測できそうです。 しかし、この予測誤差を最小にする重み係数はあくまでも「アーーーーー」に対するものですね。 こんど、「イーーーーー」と言ったときの最適重み係数は違ってきます。 「アーーーーー」の発声が1秒間続くとしましょう。 すると、8000個のサンプル値が計測されます。 もし、最初の100サンプルぐらいで、「アーーーーー」の最適重み係数を推定することができれば、残る7900サンプルはかなり正確に予測できることになります。 人間の発声のスピードには個人差があるが、平均的なモデルを建て、常に重み係数を調整して予測することを想像してください。 破裂音や子音の瞬間は、正確な予測は困難だが、母音区間では十分な精度で予測ができるような気がしますね。 要は、どれだけ速く重み係数を最適に調整できるかにかかってきます。 「声」は声帯から発せられる音源が声道(口腔)を通過して濾波された音の集合です。 それはARシステムでモデル化できます。 ARモデルのパラメータが「アーーー」や「イーーー」に応じて変動するわけです。 したがって、最適予測はモデルの時間変動に依存しますね。 このような問題はカルマン・フィルターによって扱われます。

注1:現実には、測定装置によって予測したい変量を計りますね。 測定装置は特性をもっており、また不確定な誤差を含んでいます。 このとき、装置が指す目盛りから真の変量を予測することになりますが、これはちょっと難しくなってきます。 このケースもカルマンフィルターのページで扱うことにして、ここでは、正確な測定装置を仮定して話を進めましょう。

以下、定常な確率過程を前提にして、線形予測の理論解について考えてみます。 人間の声のたくさんのサンプルを集めることを想像してください。 犬でもなく、カラスでもなく、カエルでもなく、人間の声、すべての集合を念頭においてみましょう。 この全体の特徴を自己相関で表します。 すなわち、

このような特徴づけはずいぶん大雑把ですが、この自己相関に基づいて最適な重み係数を設定しようという考えも成り立ちます。 自己相関のフーリエ変換は電力スペクトルですから、この電力スペクトルの形状が人間の口から発せられる音の周波数成分の平均値といえます。 電力スペクトルがある周波数以上でゼロであれば、これだけでも重要な特徴なわけです。 この概念は、我々が対象をどのようにみなすかに依存します。 一般的にいって、ミクロにみれば非定常、マクロにみれば定常ですが、話がどっちなのかを明確にしておく必要があります。

以下、マクロな時不変モデルに対する予測の理論解を求めましょう。 まず、予測誤差の自乗平均

を最小にする重み係数を求めてみます。 ここで、 は可能なすべてのサンプルによる平均を意味し、期待値と呼んでいます。 重み係数を連続的に変えれば、評価関数も連続的に変わることは明らかです。 次に、Cが重み係数に関して下に凸であることを確認します。 その理由は、下に凸ならば、最小点はユニークだからです。 下に凸であることは、任意の2点のの値を結ぶ内挿点が、2点の内挿点のの値よりも大きいことを意味します。

img2.gif

ただし、ここでは、重み係数を要素とするベクトルを扱いますから、凸性はベクトル空間で確認しなければなりません。 まず、を見やすい形にします。

ここで、 であり、肩付きの は転置を示します。 ベクトルと行列は下のようです。

,       

行列 自己相関行列と呼ばれており、対称行列です。

定理
 
対称行列の固有値はすべて実数である。

定理
 
自己相関行列の固有値はすべて非負である。

評価関数 の凸性は次のように確認できます。 途中の計算は省きますが、

)

とし、 を任意として、凸性の確認が以下のように得られます。

最後の不等号は、

定理
 
非負な行列について、

から得られます。 したがって、 はすり鉢状の曲面をしており、その底は一ヶ所であり、そこではどの方向の勾配もゼロであることが言えました。 以上から、連立方程式

すなわち、

を解いて最適な重み係数を得ることができます。 この連立方程式を Yule-Walker の方程式と呼んでいます。 さて、この解を実際に求める問題に移ります。 いままでは、

 すべての起こりうるプロセスを念頭において、
それらの平均をとる

という操作を前提にしてきました。 これはとても抽象的な概念です。 実際には、時系列がどんどん入力され、二度と時間を遡って別の入力を繰り返してくれませんから、こんなことは不可能です。 もちろん、マクロな定常現象でも同じことです。 我々が入手するデータ列はたった一つのサンプルです。 そこで、自己相関を時間平均

で置き換えるしかありませんね。 そして、定常の前提 (データが観測されている間、データを発生するシステムの確率的性質が不変)のもとで、

を拠り所にすることになります。 この拠り所をエルゴード性と言っています。 したがって、十分多くのデータを溜め込んで、その相関の時間平均をとって、オフライン的に Yule-Walker の方程式を解けば最適な重み係数を得ることができます。 これも一つの具体的実現方法ですが、以下にデータを受ける度に、重み係数を少しずつ修正するオンラインアルゴリズムを考えてみます。 この方が実際の応用に向いています。 とりあえず、次のように予測誤差の瞬時値をちょっとだけ小さくするように重みを修正してみましょう。

この修正をどんどん続けるとどうなるかを考えます。 Yule-Walker の方程式を満たす理想解を で表し、この解と の差 を用いて上のアルゴリズムを書き換えると次のようになります。

は単位行列、 は重みが理想解に固定された状態での予測誤差を意味します。 予測誤差と過去のデータの相関は、Yule-Walker の方程式そのものですからゼロベクトルになります。

まず、 の期待値としての振る舞いをみるために、式(14)の両辺の期待値をとって、式(15)を代入すると、

のようになり、相関行列のすべての固有値が正であることから、 を十分小さく選んで、 をゼロベクトルに収束させることができます。 収束の様子をみるために、式(16)を次のようにスカラー方程式に分解します。 そのために、次の定理を用います。

定理
 
対称行列 は、適当な正規直交行列  によって次のように直交化できる。

ここで、 は固有値 を対角項とする対角行列。

は対称行列なので、上の定理を式(16)に適用することができ、スカラー式への分解

が得られます。 この式から、固有値が小さいほど、それに対応するスカラー式の収束が遅くなることが分かります。 したがって、固有値のバラツキが大きい信号の式(13)によるオンライン予測は大変難しいことが予想されます(ARシステム参照)。

収束後においては、 は完全にゼロになるわけではなく、ゼロベクトルの周りをフラフラと徘徊し、その範囲や速度は係数 の大きさによって決まります。 この徘徊は、式(15)からベクトル に無相関でなければなりません。 もし、相関が残っていれば、まだ完全に予測誤差を最小化していないことになります。

次に、収束後の予測誤差を計算します。 この誤差は、理想解に固定した状態での予測誤差と上の徘徊によるゆらぎの成分の和になるはずです。 式(14)の両辺のノルムを計算してみます。

ここで、 は徘徊による揺らぎ成分であり、これを とおいて、上式の期待値をとります。 ただし、 はレジスタに記憶されているデータの自乗和(大きな正数)であり、これを定数とみなします。

最後の{ }内は、収束後の徘徊成分が理想解での予測誤差と相関をもたないことからゼロになり、結局、次が得られます。

さらに、収束後では、

なので、

結局、アルゴリズムの揺らぎを含めた予測誤差は

となります。

注2: 以上では、N が十分大きいとしてきました。 実際には N は不明ですから、もし予測誤差とデータとの間に相関が認められれば、N が小さいと判断して大きくすることによって N を調整することができます。 非物理的な線形予測問題では、多くの場合、データの発生源をAR (Auto-Regressive=自己回帰) モデルと仮定しています。 データの発生源がARでないとすると、予測は一体どんな意味をもつかは逆システムの基本的な問題になってきます。 これに関しては、最小位相推移逆システム を参照してください。

注3: 最適に予測された誤差信号 は白色(自己相関がデルタ関数)です。 予測誤差が小さくならないケースでも、最適に線形予測した結果は白色化されるので、しばしば白色化フィルターとして用いられます。 同期検波にその応用例があります。

注4: 修正係数を収束の進展とともに小さくしてゆけば、限りなく揺らぎを抑圧することができそうです。 この原理を応用して、非線形方程式の解をモンテカルロ法のように乱数を用いて解く問題を確率的近似法と呼んでいます。

 ページのトップへ