データ取込・列マッピング・整合性チェック
物理モデル設定(オプション)
AE 事前学習(dense センサー全活用)
時間窓集約 + GP(残差/直接)訓練 + LOO-CV
設計サージ線
| # | サージ流量 | サージ圧力 |
|---|
性能評価点テーブル(PTC10/API617)
バルブ操作推奨(逆推定 + 感度 + シーケンス)
可視化(性能マップ + 物理曲線 + GP曲面 + 時系列)
レポート出力(PTC10適合性・CSV)
モデル管理(保存・読込)
試運転② 実機データ取込 → 予実差ビュー
?(eval_name, rpm, u1, u2, u3, y1_actual, y2_actual, y3_actual) の CSV をここに投入してください。
STEP 7 で推定したバルブ開度・GP 予測 y との誤差を散布図と残差プロットで表示し、バイアス・RMSE を算出します。
このツールは何をする?
遠心圧縮機の shop test(性能試運転) で、設計図書が指定する 1〜10 個の 性能評価点(流量・圧力・温度の組)を達成するために、吸込・循環側のバルブをどう操作すべきかを AI が提案します。
ベテランの過去操作記録(操作メモCSV)と当日のセンサー記録(ストリームCSV)から学習し、目標の評価点を入力すると、バルブ開度を逆算します。
吐出側は絶対に操作対象に含めません(測定領域への操作は性能試験の不正に該当)。
入力データの仕様
① 操作メモCSV(10〜20行想定)
時刻: HH:MM:SS(例8:06:55・前ゼロなし対応)valve_*_pct: 各バルブ開度 0〜100(%)rpm: 任意(速度を操作変数に含めるとき)
② センサーストリームCSV(1秒間隔・数千〜数万行)
時刻: HH:MM:SS- 各種センサー(流量・圧力・温度・効率・振動など、列名は自由)
エンコーディング: UTF-8 / CP932 / Shift-JIS 自動判定
モデルの仕組み
順モデル u → y(GP・ガウス過程)
- 少データ(10〜20点)の黄金律。予測に 不確実性 std も出力。
- 各 y 次元ごとに独立した GP を訓練(カーネル:
C × RBF(ARD) + WhiteKernel)。 - 各操作の整定窓内 std を
alphaとして GP に渡し、計測ノイズを取り込む。
残差学習(物理モデル ON 時)
- 物理モデル
f_phys(u)が「だいたいの形」を提供 - GP は
y_real − f_phys(u)(残差)だけを学習 - 予測時は
f_phys(u_new) + GP_residual(u_new) - 物理が大幅に外れる場合は OFF で純データ駆動 GP に切替可能
AE事前学習
- センサー全期間を 30秒セグメント(75%オーバーラップ)に分割
- sklearn MLPRegressor(隠れ層 16→latent→16) で自己回帰訓練
- 中間層から潜在ベクトル抽出 → 操作点の追加特徴量に
- dense センサーの実質97%カバレッジを達成
逆推定 y* → u
- scipy.optimize: differential_evolution(広域探索)+ L-BFGS-B(多重起動精緻化)
- サージ線をペナルティ項として制約化
- 上位3候補を提示(多解性を隠さない)
物理モデルの数式(v5.1 既定)
[1] バルブ → 流量
q = q_max × (Σ αᵢ·vᵢ − Σ γᵢ·vᵢvᵢ₊₁/100) / 100 × (RPM/RPM_design)
[2] 流量 → ヘッド(放物線特性)
Φ = q / Φ_norm Ψ = a − b·Φ² H = Ψ × H_norm × (RPM/RPM_design)²
[3] ヘッド → 温度(断熱圧縮)
T_out = T_in × (1 + H/P_atm)^((κ−1)/κ)
[4] サージ判定
q < surge_q × (RPM/RPM_design) なら不安定領域
各パラメータは STEP 2 のスライダーで微調整可能。実機の性能曲線データシートから読んだ値に合わせてください。
パラメータの起源(何が変わる/変わらん)
変わらん(ユニバーサル)
P_atm = 1.013 bar: 大気圧。屋内なので実質固定κ = 1.4: 空気の比熱比。空気なら不変(ガス種が変われば変更)- 熱力学第一法則と放物線特性 Ψ = a − b·Φ² の式の形
変わる(機械・条件依存)
a, b, Φ_norm, H_norm: インペラ羽根角度・直径・周速度 → メーカー性能曲線データシートsurge_q: インペラ失速点 → メーカー曲線T_in: 季節・空調・クーラー setpoint → 試験当日の計測αᵢ, γᵢ: 試験ループのバルブ Cv・配管抵抗 → 設備設計図書τ_flow, τ_press, τ_temp: 配管容積・熱容量 → 実測または推定σ_*: センサー機種・型式 → 計器仕様書
精度評価の見方(LOO-CV)
Leave-One-Out 交差検証で「10〜20点しかないデータで本当に当たるか」を honest に評価します。
- RMSE: 二乗平均平方根誤差(小さいほど良い、単位 y と同じ)
- MAE: 平均絶対誤差
- 相対誤差%: 目標値に対するズレの割合(5%以下なら良好)
- 95%CI被覆率: 予測 ± 1.96·std の範囲に真値が入る割合(90%以上が望ましい・低いと GP の不確実性過小評価)
合成データでは高精度に出ますが、実データで再評価が必要。被覆率が低い場合は alpha や n_restarts の調整余地あり。
判定の見方(公差判定)
各評価点で (流量, 圧力, 温度) の 全3項目が許容公差内(既定 ±5%)にあるかで判定:
- ✓ PASS(緑): 3項目すべて公差内 → 試運転で有効データと認められる
- ⚠ WARN(黄): 1項目だけ公差超過 → 設計余裕や運転条件の見直し推奨
- ✗ FAIL(赤): 2項目以上公差超過 → 達成困難、再設計または追加データ必要
サージ余裕(予測流量 ÷ サージ流量)が 1.10 未満なら境界に近く危険。
整合性ガードの意味(絶対遵守)
本ツールは「性能試験の信頼性」を AI が損なわないため、以下を絶対遵守します:
- 操作対象 u に含めるのは 吸込側・循環ループのバルブのみ
- 吐出側は測定領域であり操作不可
- 吐出側を制御変数に含めることは性能試験の不正に該当(ASME PTC 10/API 617 の試験設定原則)
列マッピングで吐出側列を u に選ばないようご注意ください。
外部埋め込み連携(TimesFM 等・L2層)
本ツールは 3層設計(L1物理 + L2表現学習 + L3逆問題) の L2層 に外部埋め込みベクトルを取り込めます。代表的な連携対象は TimesFM 2.5-200m(2025-10-02 公開、200M params, context 1024)または旧 TimesFM 2.0-500m 等の時系列基盤モデル。
運用フロー(家PC + HP)
- 家PC(Python 3.11 venv)で TimesFM 等の事前学習済モデルをロード
- センサーストリームを入力 → 操作時刻ごとに 埋め込みベクトル(数百次元〜)を出力
- CSV形式で保存:
時刻 + emb_1, emb_2, ..., emb_K - HP ツールの「🧬 外部埋め込みCSV」から取込
- 各操作時刻に最も近い行を最近傍マッチ → GP特徴量に追加
AEとの関係: 自前 AE と外部埋め込みは併用可能。両方ONなら両方が GP の特徴量に追加され、どちらが効くかを LOO-CV で比較できます。
なぜ家PCで処理する? TimesFM 2.5-200m でも 200M パラメータあり、ブラウザ Pyodide では実行不可。重い表現抽出はローカル PC(家・社内)、軽い GP 推論は HP(Pyodide)で分業する設計。
本ツールでの活用法: ローカルで TimesFM の各操作時刻周辺のセンサーストリームを context として与え、最終層の隠れ状態(16〜128 次元に PCA 圧縮)を embeddings_timesfm25.csv として書き出し、STEP 1 の「外部埋め込みCSV」に投入。GP 訓練時の特徴量として AE と併用 or 置換できます。
導入時の注意(社用PCで TimesFM を構築する場合の典型障害と回避法):
- Anaconda 商用ライセンス 403 → conda を捨て uv + PyPI
- SSL 傍受 (UnknownIssuer) →
uv --system-certsで Windows 信頼ストア使用 - python.org インストーラ 0x80070005 →
uv python installで取得 - TimesFM 2.0-500m モデル state_dict mismatch →
num_layers=50/use_positional_embedding=False/context_len=2048を hparams に明示
制限事項・既知の課題
- 10点という極小データはどんな手法でも超えられない構造的制約。手法では情報を増やせません。実機で「次にどの操作を試すべきか」をアクティブラーニング的に提案する機能で補います。
- 物理モデル既定値はジェネリック。実機ごとにメーカー性能曲線データシートから読んだ値に置き換えてください。
- PDF版レポート未対応: HTML出力をブラウザで「印刷 → PDFに保存」で代替できます。
- 速度RPMモードはON可能ですが UI 最適化は v5.2 以降。
- 複数吸込ポート(段別センサーグループ)対応は v5.2 以降。