5.9 Wavelet Smoothing(ウェーブレット平滑化)

スマートフォンの写真圧縮、MRI画像の鮮明な保存、地震波の解析——これらに共通する「魔法」がある。

音楽には「音の高さ」と「リズム」の両方がある。同じように、データには「どこで変化するか」と 「どのくらいの速さで変化するか」の両方の情報がある。 ウェーブレット平滑化は、この2つの次元を同時に捉える革命的な手法だ。 「なぜこれほど効果的なのか」を一緒に考えていこう。

フーリエ変換の限界から始まる

スマートフォンで撮った写真がなぜあんなに小さく圧縮できるのか? 病院のMRI画像はどうやってくっきりと保存されるのか? この「圧縮の魔法」の裏にはウェーブレットという数学的な仕組みがある。

音声を分析する古典的な方法として、フーリエ変換がある。 「ある音にはどんな高さの音(周波数)が含まれているか」を分解する手法だ。 ピアノの「ド」を弾いたとき、フーリエ変換はそこに含まれる周波数成分(基音と倍音)を綺麗に分離できる。

しかし、フーリエ変換には致命的な弱点がある。「5秒後にドラムが鳴った」という情報を表現できないのだ。 フーリエ変換は「どの周波数が含まれるか」は分かるが、「いつ含まれるか」が分からない。 全体の中に「ある周波数があった」とは言えても、「その周波数が何秒目に出てきたか」は情報の外にある。

フーリエ基底(全域的)とウェーブレット基底(局所的)の対比
左: フーリエ基底は全区間に広がる。右: ウェーブレットは局所的に存在し、位置を変えられる

これは統計的なデータ分析でも同じ問題が起きる。 信号の中に孤立したスパイク(急激な変化)がある場合、フーリエ基底では多くの係数が必要になる。 スパイクを表現するために、全ての周波数成分を動員しなければならないからだ。

ここで問いかけたい。「時間と周波数の両方を同時に局所化できる基底関数」は存在するのだろうか?

実は存在する。それがウェーブレット(wavelet)だ。

フーリエ基底はこのような形をしている:

$$\sin(2\pi j x), \quad \cos(2\pi j x), \quad j = 1, 2, \ldots$$

これらは全区間 $[0, 1]$ に広がる「グローバルな」基底だ。 ウェーブレット基底はこれと根本的に異なり、特定の位置と特定のスケール(解像度)の情報を持つ「ローカルな」基底だ。

Haarウェーブレット ─ 最もシンプルな例

ウェーブレットを理解するための最良のスタートは、Haarウェーブレットだ。 非常にシンプルな形をしているので、直感的に理解しやすい。

ウェーブレットは「父と母」の2種類の基本関数から作られる。 命名は親子関係の比喩 ── 父が大きな構造を提供し、母がその上に細かいパターンを生成する。

スケーリング関数(父関数) ── 大きなタイル(背景の構造):

$$\phi(x) = \mathbb{I}(x \in [0, 1])$$

ここで $\mathbb{I}(\text{条件})$ は「条件が成立するとき1、それ以外は0」を意味する指示関数だ。 この父関数はただの矩形 ── 区間 $[0, 1]$ だけで値を持ち、それ以外ではゼロだ。

母ウェーブレット ── 細かいパターン(詳細の構造):

$$\psi(x) = \phi(2x) - \phi(2x - 1)$$

これは「左半分が+1、右半分が-1」の矩形波だ。 左右で逆の値を持つため、「局所的な変化(ジャンプ)」に敏感に反応する。

Haarウェーブレットのスケール変化アニメーション
青=スケール0(広い)、黄=スケール1(半分)、緑=スケール2(1/4幅)と、階層的に細かくなる

重要なのは、この母ウェーブレットをスケール(拡大縮小)位置(並進)で変化させることで、 あらゆるスケール・あらゆる位置の特徴を捉えられること:

$$\psi_{j,k}(x) = 2^{j/2} \psi(2^j x - k)$$

スケーリング関数とその膨張:

$$\phi_{j,k}(x) = 2^{j/2}\phi(2^j x - k)$$

これらは多重解像度解析(Multi-Resolution Analysis, MRA)を形成する:

$$\cdots \supset V_2 \supset V_1 \supset V_0 \supset V_{-1} \supset \cdots$$

$V_j$ は粗い(低解像度の)成分を表し、$j$ が大きいほど細かい(高解像度の)成分を含む空間を示す。

多重解像度 ─ 粗さと詳細の分解

ウェーブレット変換の核心は多重解像度解析(Multi-Resolution Analysis)にある。

信号を「粗い成分」と「詳細成分」に分解し、さらに詳細成分を繰り返し分解する。 まるで地図を拡大縮小するように、異なる解像度で同じ対象を見る。

多重解像度分解アニメーション
上: 元の信号(白)。下左: 粗い成分(青)。下右: 詳細成分(黄)。矢印が分解を示す

数学的には:

$$V_{j+1} = V_j \oplus W_j$$

これを繰り返すと:

$$V_J = V_0 \oplus W_0 \oplus W_1 \oplus \cdots \oplus W_{J-1}$$

信号全体が「最も粗い成分 + 様々なスケールの詳細」に分解される。

このアーキテクチャの美しさは、各詳細成分 $W_j$特定のスケールの変化のみを捉えること。 広いスケールの変化は低い $j$ で、 細かいスケールの変化は高い $j$ で捉えられる。

これを「解像度の塔」と想像してみてほしい。一番下の階は全体の大まかな形。 上に行くほど細かいディテールが追加されていく。 各階は「その階だけの情報」を持ち、上下と情報は重複しない。

消滅モーメント ─ ウェーブレットの「賢さ」

Haarウェーブレットは使いやすいが、滑らかな関数を表現するには効率が悪い。 そこで登場するのがSymmetletウェーブレットのような、より洗練されたウェーブレット族だ。

洗練されたウェーブレットの秘密は消滅モーメント(vanishing moments)にある。

まず直感から:滑らかな曲線(例:放物線のような多項式)に対してウェーブレットが「完全に無反応」になる性質、 それが消滅モーメントだ。まるで「滑らかな変化には気づかないが、急激なジャンプには即座に反応するセンサー」のような振る舞い。

消滅モーメントの選択性アニメーション
左: 滑らかな放物線には係数が小さく(灰色バー)、スパイクを加えると対応する係数が急増(黄色バー)

数式で表すと:

$$\int \psi(x) x^j \, dx = 0, \quad j = 0, 1, \ldots, p-1$$

この積分がゼロというのは「多項式 $x^j$ とウェーブレットが直交する(互いに無関係)」という意味。$p$ 個の消滅モーメントを持つウェーブレットは、次数 $p-1$ 以下の多項式に対して係数がゼロになる。

なぜこれが重要か?

滑らかな関数は局所的に多項式で近似できる。 消滅モーメントが多いウェーブレットほど「滑らかな部分を無視」し、本当に変化している部分だけに反応する。 Haarは1つの消滅モーメント(定数に無反応)、Symmetletのような高度なウェーブレットは多数の消滅モーメントを持ち、 高次の多項式的な変化も無視できる。

平滑スプラインの罰則が「滑らかさを強制する」のと同様に、消滅モーメントは「不要な係数を自動的に消す」仕組みだ。 これがウェーブレットによるスパース表現の源泉となる。

ウェーブレット変換 ─ 高速な変換

実際のデータ $y_1, y_2, \ldots, y_N$$N = 2^J$)に対して、 ウェーブレット変換を計算してみよう。$N$$2^J$(8, 16, 32, 64…のような2の冪乗)でなければならないのは、 ピラミッドアルゴリズムが「半分ずつデータをまとめる」構造を持つため。 ちょうど2で割り続けることができる数でないと、このアルゴリズムが機能しない。

ウェーブレット行列 $\mathbf{W}$$N \times N$ の正規直交行列)を使って:

$$\mathbf{y}^* = \mathbf{W}^T \mathbf{y}$$

$\mathbf{y}^*$ がウェーブレット係数だ。$\mathbf{W}$ が正規直交行列なので、これは最小二乗回帰の解と全く同じになる。

ピラミッドアルゴリズムによる階層的データ集約
下段(N個の入力)から上に向かって階層的にデータが集約される。各段で計算量は同じ

驚くべきことに、この変換は通常の行列乗算($O(N^2)$)で計算する必要がない。ピラミッドアルゴリズムと呼ばれる賢い計算法により:

$$\text{計算量} = O(N)$$

FFT(高速フーリエ変換)でさえ $O(N \log N)$ かかるのに、 ウェーブレット変換は $O(N)$ で計算できる。 これは革命的な効率性だ。

ピラミッドアルゴリズムの仕組みは単純だ。隣り合う2点から「平均(粗い成分)」と「差(詳細成分)」を計算する。 これを繰り返すだけで、全スケールの係数が一度に計算できる。 各ステップの計算量は一定なので、総計算量は $N + N/2 + N/4 + \cdots = 2N$、 すなわち $O(N)$ となる。

SURE縮小 ─ ノイズをどう取り除くか

ウェーブレット係数 $\mathbf{y}^*$ が手に入った。 次の問題は:どの係数が本当の信号で、どれがノイズか?

ここでソフト閾値処理(soft-thresholding)という優雅な解法が登場する。

最適化問題:

$$\min_{\boldsymbol{\theta}} \|\mathbf{y} - \mathbf{W}\boldsymbol{\theta}\|^2 + 2\lambda\|\boldsymbol{\theta}\|_1$$

$L_1$ 罰則がかかっているので、これはLassoそのものだ。$\mathbf{W}$ が正規直交行列という特別な性質から、解析的な解が得られる:

$$\hat{\theta}_j = \text{sign}(y_j^*)(|y_j^*| - \lambda)_+$$
ソフト閾値処理の変換関数アニメーション
45度線(灰)がsoft-thresholding関数(黄)に変形。デッドゾーン(-λ〜λ)内の係数はゼロになる

これがソフト閾値処理。意味は単純だ:

ここで $(z)_+ = \max(z, 0)$(正の部分のみ取り出す)。

閾値 $\lambda$ はどう選ぶか?エレガントな答えがある:

$$\lambda = \hat{\sigma}\sqrt{2\log N}$$

ここで $\hat{\sigma}$ はノイズの標準偏差。なぜこの値か? もし信号が純粋なノイズ(平均0の独立ガウス変数)だとすると、$N$ 個の標準正規変数の最大値は約 $\sqrt{2\log N}$ になる。 つまりこの閾値以下の係数は「ほぼ確実にノイズ」だ。

$\hat{\sigma}$ は最も細かいスケールのウェーブレット係数から推定される。 なぜ細かいスケールか?信号の本質的な成分は粗いスケール(大きな構造)に集中するため、 最も細かいスケールはほぼノイズだけが残る。 だからこそ細かいスケールの係数からノイズの大きさを推定できる。

完全なパイプライン ─ 信号から平滑化まで

NMR(核磁気共鳴)信号の例で、全体の流れを見てみよう。 NMR信号は「なめらかな基礎成分」と「局所的なスパイク」が混在している。 これはウェーブレットが得意とする構造だ。

ウェーブレット平滑化の完全なパイプライン
左: 元の不規則な信号(白)→ 中央: 係数(多数の小さいバーが消え、大きいバーが残る)→ 右: 平滑化後の信号(青)

ウェーブレット平滑化の完全な手順:

  1. 前処理: データ $\mathbf{y}$$N = 2^J$ 点)を用意
  2. ウェーブレット変換: $\mathbf{y}^* = \mathbf{W}^T \mathbf{y}$$O(N)$ で計算)
  3. ソフト閾値処理: 各係数を $\hat{\theta}_j = \text{sign}(y_j^*)(|y_j^*| - \lambda)_+$ に変換
  4. 逆変換: $\hat{\mathbf{f}} = \mathbf{W}\hat{\boldsymbol{\theta}}$$O(N)$ で計算)

変換前のウェーブレット係数と変換後を比較すると:

スプラインとの本質的な違いは罰則の種類にある:

$L_1$ 罰則はスパース性(疎性)を生む。 つまりウェーブレット平滑化は、関係のない係数を完全に除去することで圧縮を達成する。 これがウェーブレットが信号圧縮・画像圧縮で圧倒的な性能を発揮する理由だ。

スプラインとの比較 ─ L1 vs L2

ここで疑問が生まれる。スプラインとウェーブレット、どちらを使うべきなのか?

どちらも「なめらかな関数の推定」を目的とするが、根本的なアプローチが異なる。

L2縮小(左)とL1ソフト閾値処理(右)の係数への効果比較
左(L2/Ridge): 全バーが均等に縮む。右(L1/Lasso): 小さいバーは消え、大きいバーは少し縮む
平滑スプラインウェーブレット(SURE)
罰則$L_2$(Ridge的)$L_1$(Lasso的)
効果全係数を均等縮小小係数をゼロに(選択)
特性密な解スパース(疎)な解
得意な信号滑らかな関数孤立したバンプを持つ関数

ウェーブレットが輝く場面:

スプラインは「滑らかさ」を大前提とし、すべての係数をある程度残す。 ウェーブレットは「スパース性」を前提とし、本当に必要な係数だけを残す。

どちらが良いかはデータ構造次第だ。 でも重要なのは、目的に応じた表現と罰則を選ぶという思想 ── これが統計学習の本質だ。 Lasso と同じ $L_1$ 罰則の考え方が、時系列・信号処理の世界で革命を起こした例として、 ウェーブレット平滑化はここにある。

まとめ

ウェーブレット平滑化は:

  1. フーリエ変換の限界(時間と周波数を同時に見られない)を克服する
  2. 多重解像度解析で、粗い成分と細かい詳細を分離する
  3. 高速変換
    $$O(N)$$
    )で効率よく係数を計算する
  4. SURE縮小
    $$L_1$$
    罰則)でノイズ係数をゼロにし、スパースな解を得る

Lasso と同じ

$$L_1$$
罰則の考え方が、時系列・信号処理の世界で革命を起こした例だ。 スパース性という概念がいかに強力か、ウェーブレット平滑化を通じてここで改めて確認できる。