T²統計量とQ統計量(SPE)とは? PCAで多変量プロセスを2本立てで監視する

化学プラント、半導体製造ライン、発電設備、人工衛星——現代の複雑なシステムには何十から何百ものセンサが取り付けられ、温度・圧力・流量・電圧が刻一刻と記録されています。「この設備は今、正常に動いているか?」を判断したいとき、あなたならどうしますか。

素朴なやり方は、センサごとに「上限・下限」を決めて1本ずつ管理図で見張ることです。しかしこの方法は2つの意味で破綻します。第一に、変数が100個あれば、たとえ全変数が正常でも「たまたまどれか1つが限界を超える」誤報が頻発します(多重比較の問題)。第二に、そしてより深刻なのは、各変数は正常範囲内なのに、変数どうしの「関係」が壊れているタイプの異常をまったく捉えられないことです。「入口温度が上がれば出口温度も上がる」という普段の相関が崩れたとき、個々の値は正常に見えても、システムとしては明らかに異常です。

この問題を解く古典にして現役の枠組みが、主成分分析(PCA)にもとづく多変量統計的プロセス監視(MSPC) です。その中核をなすのが、本記事の主役である2つの統計量——T²統計量(ホテリングのT²)Q統計量(SPE、二乗予測誤差) です。この2本立ての監視は、Tennessee Eastman プロセスに代表される化学プロセス監視、半導体のフォルト検出、設備の予知保全などで、いまも標準的に使われています。

本記事で伝えたい一番大事なことを先に述べます。

T²だけでは片手落ちです。 PCAはデータの空間を「モデルが説明する部分」と「説明しきれない残差部分」の2つに割ります。だから、その両方を見張るために統計量も2つ必要になります。T²は前者を、Qは後者を測る——役割がまったく違うのです。

本記事の内容

  • なぜ1変数ずつの監視ではダメなのか
  • PCAが空間を主部分空間と残差部分空間に分けること
  • T²統計量とQ統計量それぞれの定義・幾何的意味・管理限界
  • なぜ両方が必要か(2種類の異常を実測で撃ち分ける)
  • 寄与プロットによる「どの変数が原因か」の診断

前提知識

この記事を読む前に、以下の記事を読んでおくと理解が深まります。

とくに ホテリングのT²統計量による異常検知 はT²単体を扱った記事です。本記事はそこに Q統計量PCAによる空間分解 を加えて、監視の全体像を完成させる位置づけになります。

なぜ1変数ずつの監視ではダメなのか

まず「変数ごとに見張る」方式の限界を、具体的な図で体感しましょう。強く相関した2つの変数 A・B を考えます。普段は「A が上がれば B も上がる」という関係を保っています。

1変数ずつの管理図では相関構造の異常を見逃す

左の散布図で、緑の雲は正常データです。赤い星の点は、A が大きめ・B が小さめという、普段の相関(右上がりの帯)から明らかに外れた 点です。ところが右の2枚——変数 A・B それぞれの管理図を見ると、この異常点はどちらも $\pm3$ の限界線の内側にすっぽり収まっており、単変量では完全に見逃されます

もう一つの問題、誤報の氾濫も定量化しておきましょう。各変数を有意水準 $\alpha$(たとえば $\alpha=0.01$)の管理図で見張るとき、その変数が正常なのに限界を超える確率は $\alpha$ です。変数が $m$ 個あって互いに独立なら、「どれか1つでも誤って限界を超える」確率は

$$ 1 – (1-\alpha)^m $$

に膨れます。$m=100$、$\alpha=0.01$ なら $1-0.99^{100}\approx 0.63$ ——正常なのに 63%の確率でどこかが誤報を出す のです。これでは監視になりません。変数を1つの統計量に束ねれば、この多重比較の問題も同時に解けます。

これが多変量監視の出発点です。異常は「各変数の値」ではなく「変数どうしの関係」に現れることがある。関係(相関構造)を丸ごとモデル化して、そこからのズレを測る必要があります。その道具がPCAです。

PCAは空間を「2つ」に分ける

PCAは、相関のある多変量データを、分散の大きい方向(主成分)の順に並べ替える手法です。監視の文脈では、PCAの本質を 「空間を2つの部分空間に分割する操作」 と捉えるのが決定的に重要です。

T2とQ統計量の概念図: PCAが空間を主部分空間と残差に分ける

$m$ 個の変数からなるデータ $\bm{x}\in\mathbb{R}^m$ を、上位 $k$ 個の主成分が張る 主部分空間 と、残りが張る 残差部分空間 に分けます。主部分空間は「データの主要な変動=プロセスの正常な動き方」を捉えたモデルです。残差部分空間は「モデルが説明しきれなかった、こまごました変動(主にノイズ)」です。

正常なプロセスでは、データはほぼ主部分空間の上に乗り、残差はノイズ程度の小ささにとどまります。異常が起きると、この構図が崩れます——しかも 2通りの崩れ方 があります。だからこそ、それぞれを測る2つの統計量が要るのです。

PCAによる主部分空間と残差部分空間の分解

3次元データを例にすると、正常データ(緑)は水色の平面(主部分空間)の近くに集まっています。赤い点のように平面から浮いたデータについて、平面に下ろした足までの 垂線の長さ が残差(後述のQ)、平面上での 中心からの位置 がスコア(後述のT²の材料)です。PCAはあらゆるデータ点をこの「平面上の位置」と「平面からの距離」に分解します。

数式で書きましょう。標準化したデータ $\bm{x}$ を、上位 $k$ 主成分のローディング行列 $\bm{P}_k\in\mathbb{R}^{m\times k}$(各列が主成分方向で正規直交)を使って射影します。

$$ \bm{t} = \bm{P}_k^{\top}\bm{x} \quad(\text{スコア}), \qquad \hat{\bm{x}} = \bm{P}_k\bm{t} = \bm{P}_k\bm{P}_k^{\top}\bm{x} \quad(\text{主部分空間での再構成}) $$

すると、元のデータは「モデルが説明した分 $\hat{\bm{x}}$」と「説明できなかった残差 $\bm{e}$」の和にきれいに分かれます。

$$ \bm{x} = \underbrace{\hat{\bm{x}}}_{\text{主部分空間}} + \underbrace{\bm{e}}_{\text{残差部分空間}}, \qquad \bm{e} = (\bm{I} – \bm{P}_k\bm{P}_k^{\top})\bm{x} $$

この2つの成分、$\hat{\bm{x}}$ の大きさを測るのがT²、$\bm{e}$ の大きさを測るのがQです。順番に見ていきましょう。

T²統計量 — 「いつもの動きだが、極端すぎないか」

T²統計量は、主部分空間の中でデータがどれだけ中心から離れているかを測ります。ただの距離ではなく、各主成分の分散(固有値 $\lambda_i$)で正規化した 距離を使うのがポイントです。

$$ \begin{equation} T^2 = \sum_{i=1}^{k} \frac{t_i^2}{\lambda_i} \end{equation} $$

なぜ $\lambda_i$ で割るのでしょうか。第1主成分はもともと分散が大きく、スコア $t_1$ は普段から大きく振れます。一方で分散の小さい主成分のスコアが少しでも動けば、それは「異常なこと」です。そこで各方向を自分の標準偏差 $\sqrt{\lambda_i}$ でスケーリングし、「普段の振れ幅の何倍か」に揃える。これは主部分空間における マハラノビス距離の二乗 にほかなりません。

別の言い方をすると、$t_i/\sqrt{\lambda_i}$ は分散1・互いに無相関な「白色化された」スコアです。白色化した空間では、正常データは各方向に等方的な単位球状に広がるので、原点からのユークリッド距離の二乗(=T²)がそのまま「異常さの度合い」になります。もし $\lambda_i$ で割らずに素の $\sum t_i^2$ を使うと、第1主成分の大きな普段の揺れに埋もれて、分散の小さい方向のわずかな異常が見えなくなってしまいます。正規化は「どの方向の異常も公平に検出する」ための仕掛けなのです。

T2統計量=スコア空間のマハラノビス距離(楕円)

スコア空間(第1・第2主成分)で見ると、T²が一定の等高線は 楕円 を描きます。分散の大きい $t_1$ 方向に長く、小さい $t_2$ 方向に短い楕円です。この楕円が管理限界で、外に出た赤い星が「T²型の異常」——普段と同じ方向に動いてはいるが、その度合いが極端すぎる サンプルです。

T²の管理限界

正常時のデータが多変量正規分布に従うと仮定すると、T²はF分布に変換できます。標本数 $n$、主成分数 $k$ のとき、上側確率 $\alpha$(例:99%)の管理限界は次式で与えられます。

$$ T^2_{\text{lim}} = \frac{k(n-1)}{n-k}\, F_{\alpha}(k,\, n-k) $$

この導出の背景は姉妹記事の ホテリングのT²検定 に譲りますが、要点は「T²がスケーリングを介してF分布という既知の分布に落ちるので、確率的にしきい値を引ける」という点です。今回の実験($n=500$、$k=2$)では $T^2_{\text{lim}}=9.3$ となりました。

T²は主部分空間の中での話でした。しかし異常には、そもそも主部分空間から飛び出してしまう——モデルの前提そのものを壊すタイプがあります。それを捉えるのがQです。

Q統計量(SPE)— 「そもそも、いつもと違う動き方をしていないか」

Q統計量は 二乗予測誤差(Squared Prediction Error, SPE) とも呼ばれ、残差ベクトル $\bm{e}$ の長さの二乗です。

$$ \begin{equation} Q = \|\bm{e}\|^2 = \|(\bm{I} – \bm{P}_k\bm{P}_k^{\top})\bm{x}\|^2 = \sum_{j=1}^{m}(x_j – \hat{x}_j)^2 \end{equation} $$

Qは「PCAモデルがそのデータをどれだけ再現できなかったか」を測ります。正常時なら、データは主部分空間にほぼ乗るので残差は小さく、Qはノイズ程度です。ところが、普段の変数間の相関構造そのものが崩れる と、データは主部分空間から浮き上がり、残差=Qが急増します。

ここがT²との決定的な違いです。冒頭の「A が上がれば B も上がる」という相関が壊れた異常を思い出してください。この異常はスコア(主部分空間内の位置)としてはさほど大きくないのに、主部分空間から垂直に飛び出す ため、Qが鋭く反応します。T²が「モデルの内側での極端さ」を見るのに対し、Qは「モデルの外への逸脱」を見るのです。

具体的な現場のイメージで言えば、Qが上がる典型は「これまで一緒に動いていた2つのセンサの関係が急に食い違い始めた」ような状況です。センサの1つが故障してドリフトした、新しい未知の外乱が加わった、プロセスに設計時には無かった振る舞いが現れた——いずれも「訓練データには存在しなかった動き方」であり、PCAモデルが再現できずに残差として噴き出します。逆に言うと、Qは モデルを作ったときには想定していなかった、新しいタイプの異常 に強い。この「未知への感度」こそQの真価であり、T²には出せない味です。行列 $\bm{I}-\bm{P}_k\bm{P}_k^{\top}$ は残差部分空間への射影行列で、データから「モデルが説明できた成分」を差し引いた残りだけを取り出す働きをしています。

Qの管理限界

Qは(正規分布を仮定しても)F分布のようなきれいな形にはなりません。そこで、捨てた($k+1$ 番目以降の)固有値 $\lambda_j$ から計算する Jackson–Mudholkar近似 が古典的に使われます。

$$ Q_{\text{lim}} = \theta_1\left[\frac{c_\alpha\sqrt{2\theta_2 h_0^2}}{\theta_1} + 1 + \frac{\theta_2 h_0(h_0-1)}{\theta_1^2}\right]^{1/h_0}, \quad \theta_i=\sum_{j=k+1}^{m}\lambda_j^{\,i},\quad h_0=1-\frac{2\theta_1\theta_3}{3\theta_2^2} $$

$c_\alpha$ は標準正規分布の上側 $\alpha$ 点です。式は厳ついですが、やっていることは「残差の大きさが正常時にどのくらいばらつくかを、捨てた固有値の和 $\theta_i$ から見積もってしきい値を引く」だけです。今回の実験では $Q_{\text{lim}}=0.30$ となりました。

T2とQの管理限界(F分布とJackson-Mudholkar近似)

正常訓練データのT²・Qのヒストグラムに、それぞれの管理限界(赤破線)を重ねました。どちらも分布の右裾に限界が引かれており、正常データが限界を超える割合(誤報率)は設計どおり約1%に収まっています(実測でT²が1.4%、Qが0.2%)。しきい値の引き方が理にかなっていることが確認できます。

管理限界の準備ができたので、いよいよ本題——「なぜ両方必要か」を実データで確かめます。

なぜT²とQの両方が必要なのか

主部分空間の異常(T²型)と、モデル外への逸脱(Q型)。この2種類の異常を人工的に注入して、T²とQがそれぞれどう反応するかを見ます。

  • T²型異常(時刻100〜150):普段と同じ主成分方向に、極端に大きく動かす(=いつもの動き方だが度が過ぎる)
  • Q型異常(時刻200〜250):残差方向にドリフトさせる(=主部分空間から外れる=相関構造が崩れる)

T2統計量とQ統計量の時系列と2種類の異常への反応

結果は劇的です。上段のT²は、T²型異常の区間(水色)でだけ 管理限界を超えて跳ね上がり、Q型異常の区間(橙色)では静かなままです。下段のQは逆に、Q型異常の区間でだけ 急上昇し、T²型異常の区間では反応しません。2つの統計量が、それぞれ別の種類の異常を担当していることがはっきり見て取れます。

異常の種類で効く統計量が違う検出率比較

検出率で見ると一目瞭然です。T²型異常はT²が96%捉える一方Qは6%しか反応せず、Q型異常はQが100%捉える一方T²は4%しか反応しません。もしT²だけで監視していたら、Q型異常(相関構造の崩れ)をほぼ丸ごと見逃していた ことになります。これが「T²だけでは片手落ち」の意味です。

この住み分けは、T²-Q平面にプロットするとさらに直感的に見えます。

T2-Q平面で異常の種類ごとに象限が分かれる

横軸T²・縦軸Qの平面上で、正常(緑)は左下の象限に、T²型異常(水色)は右下、Q型異常(橙色)は左上に、きれいに分かれます。異常が「どの象限に出たか」を見るだけで、その異常が 主部分空間内の逸脱(T²型) なのか モデル外への逸脱(Q型) なのかを分類できるわけです。2つの統計量は、監視だけでなく異常の性質の切り分けにも使えます。

現場では「T²とQのどちらかが限界を超えたら異常」というOR判定で運用するのが基本です。両者を1本のグラフで見張りたい場合は、それぞれを管理限界で割って足し合わせた 結合指標 $\varphi = T^2/T^2_{\text{lim}} + Q/Q_{\text{lim}}$ を使うこともあります。ただし結合指標は「どちらのタイプの異常か」の情報を潰してしまうので、原因診断まで見据えるなら本記事のように2つを分けて監視・可視化するのが実務的です。どちらの型の異常かがわかれば、次の点検の方針(プロセスの運転条件を疑うか、センサやモデルの妥当性を疑うか)が変わってきます。

では、異常を検知したあと「どの変数が原因か」はどう突き止めるのでしょうか。

寄与プロット — 原因変数の特定

T²やQが管理限界を超えたとき、次に知りたいのは「$m$ 個の変数のうち、どれがこの異常に効いているのか」です。これに答えるのが 寄与プロット(contribution plot) です。Qの場合は単純で、残差の各変数成分の二乗 $(x_j-\hat{x}_j)^2$ がそのまま各変数の寄与になります。

$$ \text{Q寄与}_j = (x_j – \hat{x}_j)^2, \qquad Q = \sum_{j=1}^{m}\text{Q寄与}_j $$

寄与プロットによる異常原因変数の特定

Q型異常が起きている時刻のサンプルについて、各変数のQ寄与を棒グラフにしたものです。変数4の寄与が突出しており、この変数が相関構造の崩れの「主犯」だと特定できます(実際、この実験ではその変数方向に異常を注入しています)。寄与プロットは、監視統計量が上げたアラームを「どこを点検すべきか」という現場の行動に翻訳する、実務上きわめて重要な道具です。

最後に、そもそも主部分空間を何次元に取るか——PCの数 $k$ の決め方に触れておきます。

モデル次元 k の決め方

主部分空間の次元 $k$ は、監視の性能を左右する設計パラメータです。小さすぎると正常な変動まで残差に漏れてQが過敏になり、大きすぎると異常までモデルに取り込んでT²・Qが鈍くなります。定番は 累積寄与率 で決める方法です。

累積寄与率による主部分空間の次元選択

各主成分の寄与率(棒)と累積寄与率(赤線)を見ると、上位2つの主成分で全分散の98.5%を説明できています。90%を基準にすると $k=2$ が選ばれ、これは今回のデータが本来2つの潜在因子から作られているという設定と一致します。累積寄与率のほか、固有値が1を切る手前で打ち切る基準や、交差検証で残差を最小化する方法もあります。

前提と限界

最後に、この枠組みが暗黙に置いている前提を押さえておきましょう。第一に、T²の管理限界はデータが 多変量正規分布 に従うことを仮定しています。分布が大きく歪んでいたり多峰だったりすると、しきい値が実態と合わず誤報・見逃しが増えます。運用モードが複数あるプロセスがまさにこれで、単一のPCAモデルでは無理があり、マルチモードプロセス監視 のようなモード別モデルが必要になります。第二に、通常のPCAは 時間的な相関を捨てて 各時刻を独立に扱います。ゆっくり変化するダイナミクスを持つプロセスでは、時間遅れを含めた動的PCA(DPCA)が使われます。第三に、変数間の関係が 非線形 な場合は、カーネルPCAやオートエンコーダで主部分空間を非線形に張る拡張が有効です。裏を返せば、これらの発展手法はすべて「T²とQで主部分空間と残差を見張る」という本記事の骨格をそのまま受け継いでいます。まず2本立ての基本を押さえることが、応用への最短路です。

まとめ

本記事では、PCAベースの多変量プロセス監視の中核である T²統計量Q統計量(SPE) を、概念から解き明かしました。

  • PCAは空間を2つに割る — 主部分空間(モデルが説明する変動)と残差部分空間(説明しきれない変動)
  • T²統計量 $= \sum t_i^2/\lambda_i$ は、主部分空間内のマハラノビス距離。「いつもの動き方だが極端すぎないか」を測る。管理限界はF分布から
  • Q統計量(SPE) $= \|\bm{x}-\hat{\bm{x}}\|^2$ は、残差の大きさ。「そもそも、いつもと違う動き方(相関構造の崩れ)をしていないか」を測る。管理限界はJackson–Mudholkar近似から
  • 両方が必要 — T²型異常とQ型異常は別物で、片方の統計量ではもう片方をほぼ見逃す(実測でT²型はT²が96%/Qが6%、Q型はQが100%/T²が4%)
  • 寄与プロット で、アラームの原因変数を特定して現場の点検につなげる

T²とQの2本立ては、単純ながら「モデルの内側の異常」と「モデルの外への逸脱」を同時に見張る、よくできた枠組みです。この考え方は、PCAを非線形に拡張したカーネルPCA監視、動的な時間相関を扱う動的PCA、そして運用モードが切り替わる場合のマルチモード監視へと発展していきます。

次のステップとして、以下の記事も参考にしてください。