線形予測法

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

線形予測法(せんけいよそくほう、: linear prediction)は、離散信号の将来の値をそれまでの標本群の線型写像として予測する数学的操作である。

デジタル信号処理では、線形予測法を線形予測符号 (LPC) と呼び、デジタルフィルタのサブセットと見ることができる。(数学の一分野としての)システム分析では、線形予測法は数学的モデル最適化の一種と見ることができる。

予測モデル[編集]

最も典型的な表現は、次のようになる。

\widehat{x}(n) = -\sum_{i=1}^p a_i x(n-i)\,

ここで \widehat{x}(n) は予測信号値、x(n-i) は事前に観測された値、a_i は予測係数である。この予測による誤差は以下の通り。

e(n) = x(n) - \widehat{x}(n)\,

ここで x(n) は真の信号値である。

これらの式は、あらゆる(1次元の)線形予測法で成り立つ。バリエーションは、係数 a_i の選び方による。

多次元信号では、誤差は次のように定義される。

e(n) = \|x(n) - \widehat{x}(n)\|\,

ここで \|.\| は適当なベクトルノルムである。

パラメータ推定[編集]

最適化においてパラメータ a_i の典型的な選択法は、二乗平均平方根基準であり、これを自己相関基準とも呼ぶ。これは、以下の式で得られる二乗誤差 E[e2(n)] の期待値を最小化する手法である。

\sum_{i=1}^p a_i R(i-j) = -R(j)

ここで 1 ≤ jp であり、R は信号 xn自己相関であり、次のように定義される。

\ R(i) = E\{x(n)x(n-i)\}\,

ここで E期待値である。多次元の場合、これはL2ノルムを最小化することに対応する。

上の式を正規方程式または Yule-Walker 方程式と呼ぶ。行列形式でこの方程式を表すと、次のようになる。

Ra = -r,\,

ここで、自己相関行列 R は対称なテプリッツ行列であり、その要素は ri,j = R(ij) である。また、ベクトル r は自己相関ベクトル rj = R(j) であり、ベクトル a は係数ベクトルである。

より汎用的な形式として、次を最小化する方式もある。

e(n) = x(n) - \widehat{x}(n) = x(n) + \sum_{i=1}^p a_i x(n-i) = \sum_{i=0}^p a_i x(n-i)

ここで、係数 a_i について a_0=1 とし、自明な解を防ぐのが一般的である。これにより上述と同じになるが、正規方程式は以下のようになる。

\ Ra = [1, 0, ... , 0]^{\mathrm{T}}

ここで、インテックス i の範囲は 0 から pR は (p + 1) 行 (p + 1) 列の行列である。

パラメータの最適化は大きな問題であり、他にも様々な手法が提案されている。

その中でも自己相関手法が最もよく使われており、例えばGSMでの音声符号化に使われている。

行列方程式 Ra = r の解の計算は、比較的時間のかかる処理である。ガウスの消去法を使った解法が最も古くからあるが、Rr の対称性をうまく利用していない。より高速なアルゴリズムとして、1947年に Norman Levinson が考案したレビンソン再帰という再帰的解法がある。その後、Philippe Delsarte らが、これを改良した分割レビンソン再帰というアルゴリズムを発表した。これは、乗除算回数を約半分にしたもので、パラメータベクトルの特殊な対称性をそれぞれの再帰で利用する。

関連項目[編集]

参考文献[編集]

  • G. U. Yule. On a method of investigating periodicities in disturbed series, with special reference to wolfer’s sunspot numbers. Phil. Trans. Roy. Soc., 226-A:267–298, 1927.
  • J. Makhoul. Linear prediction: A tutorial review. Proceedings of the IEEE, 63 (5):561–580, April 1975.
  • M. H. Hayes. Statistical Digital Signal Processing and Modeling. J. Wiley & Sons, Inc., New York, 1996.

外部リンク[編集]