ふくふくHukuhuku Inc.
EP.12Viz 11分公開: 2026-05-10

異常検知を伝える5種:コントロールチャート・SPC・残差プロット・スパイク検出・季節調整

製造業発祥のコントロールチャート、サーバ監視のスパイク検出、回帰モデルの残差プロット、季節調整後の異常。「いつもと違う」を可視化する定番手法。

#可視化#異常検知#SPC#監視
CO📔 Google Colab で開く(上から順にセルを実行)
シェア

「いつもと違う」を見つけるのは、製造業の品質管理から始まり、いまや IT 監視・経営 監視・不正検知の中核。今回は異常を見せる定番5種を整理します。

1. コントロールチャート(管理図)

用途:1924年に Walter Shewhart(ベル研)が発明。時系列に 平均線 ± 3σ の管理限界 を引き、外れたら「特殊原因による異常」と判定。 強み:製造業の標準(ISO 7870)。シンプルで強力。 弱み:データが正規分布前提、急激な傾向変化には弱い。

コントロールチャート、3σ ラインを外れた2点が赤星
コントロールチャート:3σ を外れた点を異常と判定。製造業100年の標準

2. SPC(統計的工程管理)チャート

コントロールチャート + 「ルール」(連続8点が中央線の片側、6点連続上昇など)でより敏感に異常を検出する手法。

3. 残差プロット

用途:回帰モデルの「予測 − 実績」を時系列・散布図で。残差にパターンがあればモデルの欠陥を示唆。 強み:モデル品質チェックの第一手段。

左:線形フィットが綺麗。右:残差にカーブが残る(モデル欠陥)
残差プロット:「フィットがまっすぐ」と「残差に構造がない」は別物

4. スパイク検出グラフ

用途:サーバの ・レイテンシなど高頻度時系列で、しきい値超え(または変化点)を赤マーク。Datadog / Grafana の標準。 強み:オンコールの即応に役立つ。 弱み:偽陽性で「アラート疲れ」を起こす。

サーバ時系列のスパイク検出、急上昇/急下降の2点が赤星
スパイク検出:差分の絶対値が閾値超で異常マーク。 監視の標準

5. 季節調整 + 異常

用途:季節性のあるデータ(小売の月次売上、サーバの曜日変動など)から季節要因を除いて、その上で異常を見る。 強み:「12月だから売上高い」を異常としない判別。 ツール:STL 分解(statsmodels)、Prophet(Meta)。

コントロールチャート
Python
import numpy as npimport matplotlib.pyplot as plt
np.random.seed(0)n = 100data = np.random.normal(50, 5, n)data[60] = 80  # 異常を仕込むdata[85] = 30
mu, sigma = data[:50].mean(), data[:50].std()ucl, lcl = mu + 3*sigma, mu - 3*sigma
plt.figure(figsize=(12, 5))plt.plot(data, "o-", markersize=4)plt.axhline(mu, color="green", label=f"mean={mu:.1f}")plt.axhline(ucl, color="red", linestyle="--", label="UCL (mean+3σ)")plt.axhline(lcl, color="red", linestyle="--", label="LCL (mean-3σ)")out = (data > ucl) | (data < lcl)plt.scatter(np.where(out)[0], data[out], color="red", s=120, zorder=5, label="anomaly")plt.title("Control Chart"); plt.legend(); plt.grid(alpha=0.3)plt.show()

次回予告

EP.13 はプロセス・タイムライン系:ガント・スイムレーン・タイムライン・カンバン。プロジェクト・業務フローの可視化。

シェア

この記事の感想を教えてください

あなたの 1 クリックで、本当にこの記事は更新されます。「もっと詳しく」「続編希望」が一定数集まった記事は、 ふくふくが 実際に内容を拡充したり続編記事を公開 します。 送信したリアクションはお使いのブラウザに記録され、再カウントされません。

シリーズの外も探す:

まずは、現状を聞かせてください。

要件が固まっていなくて大丈夫です。現状診断と方針提案までを無料でお手伝いします。

無料相談フォームへ hello [at] hukuhuku [dot] co [dot] jp