I²CNERへの研究提案 · 体験型ショーケース v2.1

時刻オフセットか、漏えいか?

センサーのデータでは、二つの問題がよく似て見えることがあります。本当の水素漏えいと、時刻がずれた時計です。

水素ディスペンサー配管の質量収支で、出口側の一定の時刻オフセット(時計の誤り)と実際の水素の漏えいは、いつ区別でき、いつ区別できないのか。シミュレーター、判定法の性能マップ、ブラウザでの再計算、ブラインドテストの4つで確かめてください。

なぜ重要か。ステーションは、入ってきた水素と出ていった水素を比べて漏えいを確認できます。片方の計器の時計が1秒未満ずれるだけで、帳尻は気体が消えたように見えます。そして小さな本物の漏えいも、同じ種類の誤差に紛れ込みえます。このページでは例示モデルで、判定法が両者を区別できる場合とできない場合を示します。

例示 シミュレーションはすべて公開済みベンチマーク v1.5.0 の例示モデルです。実在のステーション・計量器・警報設定の性能ではありません。割合は v1.5.0 の公開シミュレーション結果のみから示し、結果にない条件は灰色で示します(補間なし)。

九州大学・I²CNERの公式ページではありません。提案中の受入れ先(協議中):I²CNER(九州大学)。

1. 時計か、漏えいか?

例示

スライダーを動かすと、v1.5.0 のモデル(公開コードそのもの)で1回の充填をこのブラウザ内で計算し、公開しきい値で判定します。1回の充填は1つの例にすぎません。割合はマップ(2)をご覧ください。

帯(濃い部分):±0.3 s =ベンチマークで宣言した範囲(しきい値はこの範囲の時刻オフセットで較正)。点線:±0.4 s = B5 が探索する許容オフセット(±2サンプル × 0.2 s)。2つは別の値です。

モデルの漏えい:漏えい流量 = 設定した割合 × 定常流量 × p/p_end(漏えい開始から流れの終わりまで)。充填中に圧力 p が上がるため、「5%」は充填中ずっと一定の実際の割合ではありません。

ここでのドリフト(0.0005~0.006 s/s ≈ 500~6000 ppm)はストレス値で、通常の時計よりはるかに大きい値です。

例示 配管の模式図(例示):貯蔵 → 入口側の質量流量計 → 配管 2 L(圧力・温度センサー)→ 出口側の質量流量計 → 車両タンク。 P・T センサーは光りません。このモデルでは漏えいが圧力・温度に影響しないためです(モデルの単純化であり、実際のステーションの性質ではありません)。流量計が光るのは、この充填で B5 の統計量がしきい値を超えた時刻以降だけです(モデルの事象)。

入口出口残差 RB2 の許容幅(参考)B5 の統計量

グラフの数値(10 s ごと)

判定(例示)

各判定法の警報(公開しきい値):▲ 正側の警報 ▽ 負側の警報 – 警報なし

質量収支(この充填・例示)

判定の規則は本ページの表示用の組合せです(B5 を主とし、A と比較)。研究の結論ではありません。採点はベンチマークと同じで、B5 の最初の警報が漏えい開始以後かつ正側のときだけ「検知」と数えます。

2. 判定法の性能マップ(公開シミュレーション結果のみ)

行は漏えいの大きさ、列は時刻オフセット δ。セルの値は、このモデルで選んだ判定法が正しく判定した割合です(漏えいあり:漏えい開始後の最初の警報が正側、漏えいなし:警報なし)。区別できるかどうかの一般的な限界ではありません。灰色は公開結果にない条件で、補間していません。セルを押すとシミュレーターに設定します。

判定法の記号: A0 流量のみ · A +配管内水素質量の変化 · B1/B2 一定の時刻許容幅 u·|Δq|(u = 0.2 / 0.4 s)· B3 状態に応じた許容幅 · B4 2段階(B2 で選別し C)· B5 許容される時刻合わせを探索する判定法(出口側を −2…+2 サンプル=±0.4 s ずらす、正側・負側の2系統)· C 1 s ブロックの片側 CUSUM 2系統 · I1–I3 充填全体の分類器(別の手順:各セル80回、漏えいは開始時から)。

表を横にスワイプすると、すべてのオフセットが見られます。

判定法の性能マップ(判定法 B5):正しい判定の割合。行=漏えいの大きさ、列=時刻オフセット δ (s) · 宣言した範囲 ±0.3 s
漏えい\δ−1.0−0.5−0.3−0.2−0.10.0+0.1+0.2+0.3+0.5+1.0
なし0% (0/400)99.75% (399/400)100% (400/400)100% (400/400)100% (400/400)100% (400/400)100% (400/400)100% (400/400)100% (400/400)91.75% (367/400)0% (0/400)
1%結果なし結果なし結果なし結果なし結果なし0% (0/400)結果なし結果なし結果なし結果なし結果なし
2%結果なし結果なし16.25% (65/400)結果なし結果なし16% (64/400)結果なし16% (64/400)16% (64/400)結果なし結果なし
5%結果なし結果なし90% (360/400)結果なし結果なし80% (320/400)結果なし80% (320/400)80% (320/400)結果なし結果なし
10%結果なし結果なし100% (400/400)結果なし結果なし99.5% (398/400)結果なし99.5% (398/400)98.75% (395/400)結果なし結果なし

色=正しい判定の割合(cividis、0% 濃い青 → 100% 明るい色)。斜線の灰色=公開結果にない条件。枠で囲んだ列=宣言した範囲 ±0.3 s。

ケースの詳細

時刻・計器の障害(漏えいなし):警報なしの割合

3. 自分で確かめる

公開しているベンチマークのコード(mass_balance_clock.mjs)を、このブラウザの Web Worker で実行し、公開値と比べます。サーバーには何も送りません。

expected_output.json(v1.5.0)の SHA-256(node mass_balance_clock.mjs > out.json で再現): c2642719411660360de6113e17f84b462ab109589c9a38d62df4fff9748242a7

クイック検証(部分集合)

① 配布ファイル2つ(コードと expected_output.json)の SHA-256 を SHA256SUMS.txt と照合。② 主較正(7層 × 1000回の漏えいのない充填)を再計算し、しきい値9個を比較。③ 5条件(δ 0/+0.3/+0.5 s、漏えい 2%/5%)× 400回を再計算し、各判定法の警報数・正しい診断数56個を比較。合計9000回の充填(デスクトップで約5秒)。感度分析・ROC・ブートストラップ・マップ・費用は含みません。

完全な再計算(全体)

run() の出力全体を JSON にし、SHA-256 を公開ハッシュとバイト単位で比較します。約55000回の充填(デスクトップの Node.js で約35秒、スマートフォンでは未計測、数分かかる可能性があります)。

4. ブラインドテスト

例示

10件の充填の流量と残差を見て、時刻オフセットか漏えいかを当ててください。5件は時刻オフセットのみ、5件は漏えい(時刻オフセットを伴う場合あり)で、順序はランダムです。すべて v1.5.0 の評価用母集団の充填を例示モデルで計算したものです。

限界と注意