# システム同定
## 定義
システム同定(system identification)は、対象システム(target system)の内部機構に関する詳細な知識を用いず、制御入力と測定出力の観測データに統計的手法(主に最小二乗回帰)を適用して、両者の関係を記述する動的モデル(典型的には線形差分方程式・ARX モデル)を構築する手続きである。内部知識を必要としないことから**ブラックボックスモデル(black-box model)**とも呼ばれ、対象システムの詳細な物理法則から差分方程式を導出する第一原理モデル(first-principles model)と対をなす。複雑なコンピューティングシステムでは第一原理モデルの構築が極めて困難、あるいは不可能であることが多いため、システム同定は実務上の主要な選択肢になる。(Source: [[@2004__Wiley__Feedback Control of Computing Systems - Chapter 2 Model Construction]] §2.3, §2.4)
## ブラックボックス同定の手順
システム同定は次の4段階の手続きとして定式化され、モデルの当てはまりが不十分であれば前段階に戻って繰り返すループ構造を持つ。(Source: [[@2004__Wiley__Feedback Control of Computing Systems - Chapter 2 Model Construction]] §2.4, 図2.7)
1. **モデルスコープの指定**: モデル化する入出力を決める。考慮すべき次元は、(a) 測定出力の確率的な変動(stochastics)をどう平滑化するか(サンプル時間を長くする・フィルタを使う等)、(b) モデル構造(ARX モデルの次数 $m, n$、過学習を避けるため小さい次数から始める)、(c) ワークロード(制御入力の効果を撹乱する外乱として扱い、代表的なワークロードでデータを収集する必要がある)。
2. **実験計画(experimental design)**: パラメータ推定に十分なデータを得るための入力信号を設計する。重要な3要素は、(a) 入力信号の範囲(動作点・動作領域に基づいて逆算的に決める)、(b) 動作領域内での網羅性(coverage、範囲内に一様にデータを分布させる)、(c) 対象システムのダイナミクスを励起する豊かさ(richness、低次モデルなら低周波のサイン波で十分なことが多い)。
3. **パラメータ推定(parameter estimation)**: 最小二乗回帰(least squares regression)でモデルパラメータを推定する。
4. **モデル評価(model evaluation)**: モデルの当てはまりの良さを定量化し、不十分なら前段階(モデル構造・実験計画等)を見直す。
## 動作点まわりの線形化
コンピューティングシステムは一般に非線形だが(例: M/M/1/K のバッファサイズと定常特性の関係)、経験的には線形モデルが多くの制御アプリケーションで十分な精度を持つことが知られている(G.E.P. Box の "All models are wrong—but some models are useful." という引用が本章の題辞に置かれているのはこのため)。線形近似の根拠は**動作点(operating point)**まわりの線形化にある。
- **動作点**とは、$y = f(y, u)$ を満たす入出力の望ましい定常値であり、入力を $u$ に固定し続ければ出力が $y$ で一定になることを意味する。
- **動作領域(operating region)**とは、運用中に観測される制御入力(とそれに対応する出力)の範囲。
- 非線形関数 $f$ をテイラー級数(Taylor series)展開し、1次項のみを残すことで、動作点からのオフセット値 $u(k) = \tilde{u}(k) - \bar{u}$、$y(k) = \tilde{y}(k) - \bar{y}$ に関する線形近似 $y(k+1) \approx Ay(k) + Bu(k)$ が得られる。
- 定値制御(regulatory control)では、動作点を目標値(reference value)の近くに選ぶのが典型的である。これにより、実際にシステムが運用される領域でモデルの精度が最も高くなる。
- 実務上 $f$ 自体は未知であることが多いため、この線形化は理論的な正当化として機能し、実際のパラメータ推定は次節の最小二乗回帰で行う。
(Source: [[@2004__Wiley__Feedback Control of Computing Systems - Chapter 2 Model Construction]] §2.2.4)
## パラメータ推定(最小二乗回帰)
一次モデル $y(k+1) = ay(k) + bu(k)$ を例に取ると、観測データ $\{\tilde{u}(k), \tilde{y}(k)\}$ を動作点まわりのオフセット値 $u(k), y(k)$ に変換したのち、予測誤差(残差) $e(k+1) = y(k+1) - \hat{y}(k+1)$ の二乗和
$J(a, b) = \sum_{k=1}^{N} \left( y(k+1) - ay(k) - bu(k) \right)^2$
を最小化する $a, b$ を求める。$J$ を $a, b$ について偏微分してゼロと置いた正規方程式を解くと、$S_1 = \sum y^2(k)$、$S_2 = \sum u(k)y(k)$、$S_3 = \sum u^2(k)$、$S_4 = \sum y(k)y(k+1)$、$S_5 = \sum u(k)y(k+1)$ を用いて
$a = \frac{S_3 S_4 - S_2 S_5}{S_1 S_3 - S_2^2}, \qquad b = \frac{S_1 S_5 - S_2 S_4}{S_1 S_3 - S_2^2}$
という閉形式解が得られる。MATLAB では `mldivide`(`\` 演算子)による多変数回帰でこれを直接計算できる。(Source: [[@2004__Wiley__Feedback Control of Computing Systems - Chapter 2 Model Construction]] §2.4.3, §2.7)
## モデル評価
モデルの当てはまりは以下の指標で定量化する。
- **RMSE(root-mean-square error)**: $\text{RMSE} = \sqrt{\frac{1}{N}\sum (y(k+1) - \hat{y}(k+1))^2}$。残差の標準偏差の推定値であり、予測区間の目安になる(例: 95%予測区間の幅はおおよそ RMSE の4倍)。
- **R^2(決定係数)**: $R^2 = 1 - \frac{\text{var}(y - \hat{y})}{\text{var}(y)}$。0〜1 の値を取り、0 なら平均値による予測と同等、1 なら完全な当てはまりを示唆する(ただし保証ではない)。目安として $R^2 \geq 0.8$ を良好とする。
- **相関係数(CC)**: 制御入力と残差の相関。小さいほど、入力に含まれる情報のほとんどがモデルに取り込まれていることを示す。
これらの要約統計は、データが極端な値に偏っていると見かけ上高い $R^2$ を示すなど誤解を招くことがあるため、実測対予測の散布図(残差分析プロット、傾き1の直線からのずれを見る)で確認することが推奨される。動作領域を広く取りすぎて非線形領域を含んだ場合、応答時間などの指標では出力が大きくなるほど分散が増える**不均一分散(heteroschedasticity)**が生じやすく、これは最小二乗回帰が前提とする「残差が独立同一分布に従う」という仮定を崩す。評価には訓練データだけでなく別のテストデータを用いるほうが望ましく、モデルの予測には実測出力を使う**一段先予測(one-step prediction)**と、予測値を再帰的に使う**多段先予測(multistep prediction、コントローラ設計で標準的に使われる)**の2種類がある。(Source: [[@2004__Wiley__Feedback Control of Computing Systems - Chapter 2 Model Construction]] §2.4.4)
## 横断的知見
- 本ページが扱う ARX モデルの最小二乗回帰(2004年、コンピューティングシステム対象)には、1961年の Norbert Wiener の非線形系同定手法という歴史的先行例がある(→ [[ブラックボックスとホワイトボックス]])。Wiener は未解析の非線形系(ブラックボックス)と既知構造の装置群(ホワイトボックス)に同一のランダムノイズを入力し、両者の出力の積の時間平均(相関)から直交関数の展開係数を求める。手段(相関による係数決定 vs. 回帰による係数決定)も対象(電気回路・生理系の非線形トランスデューサ vs. コンピューティングシステムの ARX モデル)も異なるが、どちらも「対象の内部構造を仮定せず、入出力の観測データだけから模倣モデルを構築し、平均二乗誤差を基準に当てはまりを評価する」という共通の骨格を持つ。この共通性は、システム同定という営みが分野・時代を超えて同型の問題として繰り返し定式化されてきたことを示唆する。(Source: [[@2004__Wiley__Feedback Control of Computing Systems - Chapter 2 Model Construction]], [[@1961__MITPress__Cybernetics - Preface to the Second Edition]])
- 一方で相違点も大きい。Wiener の手法は係数決定を「適切なフィードバック装置による自動調整」に置き換えることで、同定手続き自体をオンラインかつ無人で完結させる構成(多重ホワイトボックスの自己形成)を志向するのに対し、`Feedback Control of Computing Systems` 第2章の ARX 同定はオフラインの実験計画・データ収集・回帰・評価という反復ループを人間の判断(モデル構造の見直し等)を挟んで回す手続きとして定式化されている。同定を「装置に内蔵する自動化」として構想するか、「人間が反復するワークフロー」として構想するかという設計思想の違いが、63年の時間差の中でどう変遷したかは、両ソースだけでは追いきれない。
## 未解決の問い
- 本章が示す最小二乗回帰は一次モデル($m=1=n$)を前提とした閉形式解のみを扱う。より高次の ARX モデル($m, n > 1$)への一般化はどのような形になるか(第7章の状態空間モデルで扱われる可能性がある)。
- 不均一分散(heteroschedasticity)への対処として本章は「平方根や対数を取ってモデル化する」ことを示唆するにとどまる。実際にこの変換を適用した場合、システム同定のパラメータ推定・モデル評価の手順全体はどう変わるか。
- 動作点・動作領域の選び方について、本章は「目標値の近くに選ぶ」という定性的な指針しか与えていない。動作領域の広さと線形近似の精度のトレードオフを定量的に決める基準はあるか。
- ゲインスケジューリング(gain scheduling、ワークロードごとに個別モデル・個別コントローラを構築し切り替える手法)は本章で1回だけ言及され第11章に予告されるにとどまる。システム同定の手続き自体は同一だが、ワークロード分割の基準はどう決めるか。
- MATLAB を用いた実演(§2.7)は最小二乗回帰の計算例のみを示す。実験計画(experimental design、入力信号の設計)を支援するツール・手法についての言及は本章にはない。
## 関連
- [[@2004__Wiley__Feedback Control of Computing Systems - Chapter 2 Model Construction]] — システム同定の手続き・実例(IBM Lotus Domino Server, Apache HTTP Server, M/M/1/K)の原典。
- [[待ち行列理論]] — システム同定が対象とする動特性(dynamics)と対比される定常特性(steady state)の理論的基盤。
- [[Apache HTTP Server]] / [[IBM Lotus Domino Server]] — システム同定の実例システム。
- [[Feedback Control of Computing Systems]] — 書籍 entity。
- [[ブラックボックスとホワイトボックス]] — Wiener による非線形系同定の歴史的先行例。相関(平均二乗誤差の一形態)による係数決定を扱う。
- [[@1961__MITPress__Cybernetics - Preface to the Second Edition]] — ブラックボックス/ホワイトボックス同定の原典。
## 出典
- Hellerstein, Diao, Parekh, Tilbury, *Feedback Control of Computing Systems*, IEEE Press / John Wiley & Sons, 2004, Chapter 2, §2.3-§2.4, §2.7.
- Norbert Wiener, *Cybernetics: or Control and Communication in the Animal and the Machine*, 2nd ed., The MIT Press, 1961, Preface to the Second Edition(印字 pp.x-xii, xiv)。