線形予測 Linear prediction
|
一定時間毎に計測された時系列を
で表します。 現在までの時系列を用いて、次の時刻のデータを予測したい。 この予測値を一次結合、
で計算します。
で表します。 適応線形予測は、たとえば自乗誤差
このような問題を考えるとき、対象とする時系列の性質を定めておく必要があります。 たとえば、音声信号をサンプルしたとしましょう。 そのサンプリング速度は8k(サンプル/秒)ぐらいですね。 もし、ぼくが、「アーーーーー」と発声したとき、マイクロフォンで拾った電気信号のサンプル値はかなり周期的な信号になります。 したがって、適当な長さの過去のサンプル値から次のサンプル値は比較的正確に予測できそうです。 しかし、この予測誤差を最小にする重み係数はあくまでも「アーーーーー」に対するものですね。 こんど、「イーーーーー」と言ったときの最適重み係数は違ってきます。 「アーーーーー」の発声が1秒間続くとしましょう。 すると、8000個のサンプル値が計測されます。 もし、最初の100サンプルぐらいで、「アーーーーー」の最適重み係数を推定することができれば、残る7900サンプルはかなり正確に予測できることになります。 人間の発声のスピードには個人差があるが、平均的なモデルを建て、常に重み係数を調整して予測することを想像してください。 破裂音や子音の瞬間は、正確な予測は困難だが、母音区間では十分な精度で予測ができるような気がしますね。 要は、どれだけ速く重み係数を最適に調整できるかにかかってきます。 「声」は声帯から発せられる音源が声道(口腔)を通過して濾波された音の集合です。 それはARシステムでモデル化できます。 ARモデルのパラメータが「アーーー」や「イーーー」に応じて変動するわけです。 したがって、最適予測はモデルの時間変動に依存しますね。 このような問題はカルマン・フィルターによって扱われます。 注1:現実には、測定装置によって予測したい変量を計りますね。 測定装置は特性をもっており、また不確定な誤差を含んでいます。 このとき、装置が指す目盛りから真の変量を予測することになりますが、これはちょっと難しくなってきます。 このケースもカルマンフィルターのページで扱うことにして、ここでは、正確な測定装置を仮定して話を進めましょう。 以下、定常な確率過程を前提にして、線形予測の理論解について考えてみます。 人間の声のたくさんのサンプルを集めることを想像してください。 犬でもなく、カラスでもなく、カエルでもなく、人間の声、すべての集合を念頭においてみましょう。 この全体の特徴を自己相関で表します。 すなわち、
このような特徴づけはずいぶん大雑把ですが、この自己相関に基づいて最適な重み係数を設定しようという考えも成り立ちます。 自己相関のフーリエ変換は電力スペクトルですから、この電力スペクトルの形状が人間の口から発せられる音の周波数成分の平均値といえます。 電力スペクトルがある周波数以上でゼロであれば、これだけでも重要な特徴なわけです。 この概念は、我々が対象をどのようにみなすかに依存します。 一般的にいって、ミクロにみれば非定常、マクロにみれば定常ですが、話がどっちなのかを明確にしておく必要があります。 以下、マクロな時不変モデルに対する予測の理論解を求めましょう。 まず、予測誤差の自乗平均
を最小にする重み係数を求めてみます。 ここで、
ただし、ここでは、重み係数を要素とするベクトルを扱いますから、凸性はベクトル空間で確認しなければなりません。 まず、Cを見やすい形にします。
ここで、
行列 定理 定理 評価関数
とし、
最後の不等号は、 定理 から得られます。 したがって、
すなわち、
を解いて最適な重み係数を得ることができます。 この連立方程式を Yule-Walker の方程式と呼んでいます。 さて、この解を実際に求める問題に移ります。 いままでは、 すべての起こりうるプロセスを念頭において、 という操作を前提にしてきました。 これはとても抽象的な概念です。 実際には、時系列がどんどん入力され、二度と時間を遡って別の入力を繰り返してくれませんから、こんなことは不可能です。 もちろん、マクロな定常現象でも同じことです。 我々が入手するデータ列はたった一つのサンプルです。 そこで、自己相関を時間平均
で置き換えるしかありませんね。 そして、定常の前提 (データが観測されている間、データを発生するシステムの確率的性質が不変)のもとで、
を拠り所にすることになります。 この拠り所をエルゴード性と言っています。 したがって、十分多くのデータを溜め込んで、その相関の時間平均をとって、オフライン的に Yule-Walker の方程式を解けば最適な重み係数を得ることができます。 これも一つの具体的実現方法ですが、以下にデータを受ける度に、重み係数を少しずつ修正するオンラインアルゴリズムを考えてみます。 この方が実際の応用に向いています。 とりあえず、次のように予測誤差の瞬時値をちょっとだけ小さくするように重みを修正してみましょう。
この修正をどんどん続けるとどうなるかを考えます。 Yule-Walker
の方程式を満たす理想解を
まず、
のようになり、相関行列のすべての固有値が正であることから、 定理
が得られます。 この式から、固有値が小さいほど、それに対応するスカラー式の収束が遅くなることが分かります。 したがって、固有値のバラツキが大きい信号の式(13)によるオンライン予測は大変難しいことが予想されます(ARシステム参照)。 収束後においては、 次に、収束後の予測誤差を計算します。 この誤差は、理想解に固定した状態での予測誤差と上の徘徊によるゆらぎの成分の和になるはずです。 式(14)の両辺のノルムを計算してみます。
ここで、
最後の{ }内は、収束後の徘徊成分が理想解での予測誤差と相関をもたないことからゼロになり、結局、次が得られます。
さらに、収束後では、
なので、
結局、アルゴリズムの揺らぎを含めた予測誤差は
となります。 注2: 以上では、N が十分大きいとしてきました。 実際には N は不明ですから、もし予測誤差とデータとの間に相関が認められれば、N が小さいと判断して大きくすることによって N を調整することができます。 非物理的な線形予測問題では、多くの場合、データの発生源をAR (Auto-Regressive=自己回帰) モデルと仮定しています。 データの発生源がARでないとすると、予測は一体どんな意味をもつかは逆システムの基本的な問題になってきます。 これに関しては、最小位相推移、逆システム を参照してください。 注3: 最適に予測された誤差信号
注4: 修正係数を収束の進展とともに小さくしてゆけば、限りなく揺らぎを抑圧することができそうです。 この原理を応用して、非線形方程式の解をモンテカルロ法のように乱数を用いて解く問題を確率的近似法と呼んでいます。 |