Σ
SDCalc
中級応用·14 min

管理図と工程管理

管理図を使った統計的工程管理(SPC)をマスター。標準偏差を使った管理限界の設定、ウエスタンエレクトリックルール、工程ドリフトの検出方法を解説。

統計的工程管理:品質の基盤

管理図は統計的工程管理(SPC)の要であり、標準偏差を用いて工程の安定性を時間経過とともに監視します。1920年代にベル研究所のウォルター・シューハートが開発したこの強力なツールは、偶然原因による変動(工程に固有のもの)と特殊原因による変動(対処が必要な問題を示すもの)を区別します。

管理図の優れた点はそのシンプルさにあります。時間経過とともに測定値をプロットし、標準偏差に基づく管理限界を追加し、問題を示す点やパターンを監視するだけです。このリアルタイム監視は、事後の検査で欠陥を見つけるのではなく、発生前に欠陥を防止します。

現代の製造業、医療、サービス業は品質維持に管理図を活用しています。ナノメートル精度が求められる半導体製造から病院の感染率まで、SPCは工程改善の普遍的なフレームワークを提供します。

偶然原因と特殊原因

偶然原因による変動は、どんな工程にも存在する自然で予想される変動です。特殊原因による変動は、何かが変わったこと—新しい作業者、摩耗した工具、汚染された材料—を示します。管理図はこの2つを区別する助けとなります。

管理図の種類

データの種類によって異なる管理図が必要です。正しい図を選ぶことで正確な工程監視が可能になります。

図の種類データの種類用途
X̄-R(X-barと範囲)連続データ、サブグループn≤10製造測定
X̄-S(X-barと標準偏差)連続データ、サブグループn>10大量バッチのサンプリング
I-MR(個別値-移動範囲)個別測定値高価/破壊的な検査
p管理図不良品率合格/不合格の検査
c管理図欠陥数1単位あたりの欠陥数

連続データ(長さ、重量、温度などの測定値)にはX̄-R管理図が最も一般的です。サブグループの標本を収集し、一方の図に平均(X̄)を、もう一方の図に範囲(R)をプロットします。合わせて工程の中心とばらつきの両方を監視します。

管理限界の計算

管理限界は予想される変動の境界を定義します。中心線から±3標準偏差の位置に設定され、工程が管理下にある場合の99.73%のデータ点を含みます。

管理限界

UCL = x̄ + 3σ, CL = x̄, LCL = x̄ - 3σ

範囲法を用いたX̄管理図の場合、公式は次のようになります。

X-bar管理図の限界

UCL = X̿ + A₂R̄, LCL = X̿ - A₂R̄

X̿は総平均、R̄は平均範囲、A₂はサブグループサイズに依存する定数です(例:n=5の場合A₂ = 0.577)。

管理限界 ≠ 規格限界

管理限界はデータから計算され、工程が実際にどう動いているかを反映します。規格限界は顧客やエンジニアが設定し、工程がどうあるべきかを反映します。工程が管理下にあっても、規格外の部品を生産する可能性はあります。

管理限界の定数

nA₂D₃D₄
21.88003.267
31.02302.574
40.72902.282
50.57702.114

問題検出のためのウエスタンエレクトリックルール

管理限界の外側の1点だけが問題のシグナルではありません。ウエスタンエレクトリックルールは、管理図を標準偏差に基づくゾーンに分割し、より微妙なパターンを検出します。

  • ゾーンC:中心線から1σ以内
  • ゾーンB:中心線から1σ〜2σの範囲
  • ゾーンA:中心線から2σ〜3σの範囲

4つの基本ルール

1

ルール1:単一点

1点が3σ(ゾーンA以上)を超える。自然に発生する確率はわずか0.27%です。
2

ルール2:9点連続

9点連続で中心線の同じ側にある。工程平均のシフトを示唆します。
3

ルール3:6点のトレンド

6点連続で上昇または下降。工程のドリフトや工具の摩耗を示唆します。
4

ルール4:ゾーンパターン

連続する3点のうち2点がゾーンA以上(同じ側)にある。シフトの早期警告です。

一般的なパターンの認識

経験豊富な実践者は、特定の問題を示す視覚的パターンを読み取れるようになります。

パターン外観考えられる原因
シフト突然のレベル変化新しい作業者、材料ロット変更、装置調整
トレンド徐々に上昇/下降工具摩耗、温度ドリフト、疲労
周期上下の繰り返しパターンシフト交替、環境サイクル、ローテーションスケジュール
密着点が中心近くに集中管理限界の誤り、データの丸めや編集
層化点が中心を避ける混合されたストリーム、複数の機械

Python実装

自動ルールチェック付きのX̄-R管理図を作成します。

python
import numpy as np
import matplotlib.pyplot as plt

def create_xbar_chart(data, subgroup_size=5):
    """Create X-bar control chart with control limits."""
    # Reshape data into subgroups
    n_subgroups = len(data) // subgroup_size
    subgroups = data[:n_subgroups * subgroup_size].reshape(n_subgroups, subgroup_size)

    # Calculate subgroup means and ranges
    xbar = subgroups.mean(axis=1)
    R = subgroups.max(axis=1) - subgroups.min(axis=1)

    # Control chart constants (for n=5)
    A2 = 0.577
    D3, D4 = 0, 2.114

    # Calculate control limits
    xbar_bar = xbar.mean()
    R_bar = R.mean()

    UCL = xbar_bar + A2 * R_bar
    LCL = xbar_bar - A2 * R_bar

    # Check for out-of-control points
    ooc = (xbar > UCL) | (xbar < LCL)

    # Plot
    plt.figure(figsize=(12, 5))
    plt.plot(xbar, 'b-o', markersize=4)
    plt.axhline(xbar_bar, color='g', linestyle='-', label='CL')
    plt.axhline(UCL, color='r', linestyle='--', label='UCL')
    plt.axhline(LCL, color='r', linestyle='--', label='LCL')
    plt.scatter(np.where(ooc)[0], xbar[ooc], color='red', s=100, zorder=5)
    plt.xlabel('Subgroup')
    plt.ylabel('X-bar')
    plt.title('X-bar Control Chart')
    plt.legend()
    plt.show()

    return {'xbar': xbar, 'UCL': UCL, 'LCL': LCL, 'ooc': ooc}

# Example: Monitor a manufacturing process
np.random.seed(42)
# Simulate 100 measurements (20 subgroups of 5)
measurements = np.random.normal(100, 2, 100)
# Add a shift at subgroup 15
measurements[75:] += 3

result = create_xbar_chart(measurements)

Further Reading

How to Read This Article

A statistics tutorial is a practical interpretation guide, not just a formula dump. It refers to the assumptions, notation, and reporting language that analysts need when they explain a result to a teacher, manager, client, or reviewer. The article body covers the specific topic, while the sections below create a common interpretation frame that readers can reuse across related metrics.

Reading goalWhat to focus onCommon mistake
DefinitionWhat the metric is and what quantity it summarizesTreating the formula as self-explanatory
Formula choiceSample versus population assumptions and notationUsing n when n-1 is required or vice versa
InterpretationWhether the result indicates concentration, spread, or riskCalling a large value good or bad without context

Frequently Asked Questions

How should I interpret a high standard deviation?

A high standard deviation means the observations are spread farther from the mean on average. Whether that spread is acceptable depends on the context: wide dispersion might signal risk in finance, instability in manufacturing, or genuine natural variation in scientific data.

Why do some articles mention n while others mention n-1?

The denominator reflects the difference between population and sample formulas. Population variance and population standard deviation use N because the full dataset is known. Sample variance and sample standard deviation often use n-1 because Bessel’s correction reduces bias when estimating population spread from a sample.

What is a statistical interpretation guide?

A statistical interpretation guide is a page that moves beyond arithmetic and explains meaning. It tells you what a metric is, when the formula applies, and how to describe the result in plain English without overstating certainty.

Can I cite this article in a report?

You should cite the underlying authoritative reference for formal work whenever possible. This page is best used as an explanatory bridge that helps you understand the concept before quoting the original standard or handbook.

Why include direct citations on every article page?

Direct citations give readers a route to verify the definition, notation, and assumptions. That improves trust and reduces the chance that a simplified explanation is mistaken for the entire technical standard.

Authoritative References

These sources define the concepts referenced most often across our articles. Bessel's correction is a sample adjustment, variance is a squared measure of spread, and standard deviation is the square root of variance expressed in the same units as the data.