🎓 レベル:標準 | 重要度:A(必須)
📎 前提:統計的工程管理(管理状態が能力評価の前提) | 定義・導出( と不良率の対応):品質管理(統計) | 不良率の土台:正規分布(標準正規・標準化)(裾確率 ) | 次:シックスシグマと検査設計
要点(BLUF)
- 工程能力指数は、工程が規格を満たす製品を作れる実力があるかを1つの数字にします。 はばらつきだけを見る潜在能力、 は中心ずれ込みの実際の能力です(必ず )。
- 定義そのものと、→不良率の導出は 品質管理 に譲り、本稿は OM の主役——能力 → 不良率(PPM)→ シグマ水準の対応と、**「中心ずれを直すか、ばらつきを減らすか」**の改善意思決定に集中します。
- と の差 が中心ずれの大きさ。 は高いのに が低いなら、ばらつきは十分なのに平均が片寄っている——この場合はまず中心を目標へ戻すのが圧倒的に安くて効きます(設定変更で済む)。ばらつき低減は工程改造が要り高くつきます。
- 能力評価には2つの前提があります。①工程が管理状態(統計的工程管理)であること——暴れている工程の は意味を持ちません。②特性値がおおむね正規分布であること。
1. と ——ばらつきと中心ずれを分ける
規格上限 ・規格下限 ・工程の標準偏差 ・平均 に対し、
- :規格の幅が工程のばらつき幅 (正規なら99.73%が収まる幅)の何倍あるか。分子・分母とも を含まないので、中心がどこにあっても値が変わりません。「ばらつきの潜在能力」だけを測る指標です。
- :上側の余裕( から まで何 )と下側の余裕( から まで何 )の**危ない方(小さい方)**を採ります。平均が片寄るほど寄った側の余裕が縮み、 が下がる——中心ずれを罰する指標です。
中心が規格中心に一致していれば 、ずれていれば 。 は工程の素質、 は実戦成績で、両方が要るのは「 が中心ずれを見逃す」からです(定義の詳しい導出は 品質管理)。
2. 能力 → 不良率(PPM)→ シグマ水準
OM が能力指数を使うのは、それが不良率に翻訳できるからです。工程が正規 なら、規格外れ確率は両裾の和(正規分布(標準正規・標準化)):
これに を掛けると PPM(百万分率)。中心ずれが大きい工程では寄った側の片裾がほぼすべてを占めるので、 から最寄り規格までの距離 シグマだけで PPM をほぼ言い当てられます。
このシグマ水準 が、第7-3のシックスシグマにつながります(ただし 6σ=3.4 DPMO は1.5σシフトの約束で、ここの短期・シフト無しの対応とは別——詳細は シックスシグマと検査設計)。
3. 能力を不良率に翻訳する(コード)
規格 、目標100。中心一致で を変えた3工程と、 に**+4ずれた**工程を scipy.stats.norm で比較し、 と PPM を出します。
import numpy as np
import pandas as pd
from scipy.stats import norm
# 規格:下限 LSL=90・上限 USL=110・目標(中心)100
LSL, USL, target = 90.0, 110.0, 100.0
def capability(mu, sigma):
Cp = (USL - LSL) / (6 * sigma)
Cpk = min((USL - mu) / (3 * sigma), (mu - LSL) / (3 * sigma))
p_low = norm.cdf((LSL - mu) / sigma) # 規格下外れ
p_high = 1 - norm.cdf((USL - mu) / sigma) # 規格上外れ
ppm = (p_low + p_high) * 1e6 # 不良率(百万分率)
return Cp, Cpk, ppm
# 中心ずれ・ばらつきを変えた4工程を比較
cases = [
("中心一致・ばらつき大", 100.0, 3.0),
("中心一致・標準", 100.0, 2.5),
("中心一致・ばらつき小", 100.0, 2.0),
("中心ずれ +4・標準", 104.0, 2.5),
]
rows = []
for name, mu, sigma in cases:
Cp, Cpk, ppm = capability(mu, sigma)
rows.append({"工程": name, "mu": mu, "sigma": sigma,
"Cp": Cp, "Cpk": Cpk, "不良率PPM": ppm})
df = pd.DataFrame(rows)
print(df.to_string(index=False, float_format=lambda x: f"{x:.3f}"))
print()
base_Cp, base_Cpk, base_ppm = capability(104.0, 2.5)
same_Cp, same_Cpk, same_ppm = capability(100.0, 2.5)
print(f"中心ずれ工程 : Cp={base_Cp:.3f} Cpk={base_Cpk:.3f} PPM={base_ppm:.0f}")
print(f"中心を合わせる: Cp={same_Cp:.3f} Cpk={same_Cpk:.3f} PPM={same_ppm:.0f}")
print(f"Cp は同じ {base_Cp:.3f} でも、中心ずれで Cpk {base_Cpk:.3f} -> {same_Cpk:.3f}、PPM {base_ppm:.0f} -> {same_ppm:.0f}")
出力:
工程 mu sigma Cp Cpk 不良率PPM
中心一致・ばらつき大 100.000 3.000 1.111 1.111 858.121
中心一致・標準 100.000 2.500 1.333 1.333 63.342
中心一致・ばらつき小 100.000 2.000 1.667 1.667 0.573
中心ずれ +4・標準 104.000 2.500 1.333 0.800 8197.547
中心ずれ工程 : Cp=1.333 Cpk=0.800 PPM=8198
中心を合わせる: Cp=1.333 Cpk=1.333 PPM=63
Cp は同じ 1.333 でも、中心ずれで Cpk 0.800 -> 1.333、PPM 8198 -> 63
出力の意味:中心一致なら を と縮めるだけで が 、PPM は と桁で改善します。決定的なのは最後の2行——同じ でも、 が+4ずれただけで は に落ち、PPM は と130倍に跳ね上がる。ばらつき()は一級品なのに、中心がずれているせいで不良が大量に出ているわけです。 だけ見て「良い工程」と判断するとこの片寄りを完全に見逃します。
4. 中心ずれ vs ばらつき低減——どちらを直すか
が高く が低い(=中心ずれ)工程を改善するとき、打ち手は2つあります。
- 案A:中心を目標へ戻す( 目標)。多くは設定値の変更・治具の調整で済み、安く・速い。
- 案B:ばらつきを減らす()。設備更新・材料変更・作業標準化など工程そのものの改造が要り、高く・遅い。
中心ずれが効いている工程では、案Aが圧倒的に費用対効果が高いのが普通です。次のコードで、(8198 PPM)の中心ずれ工程に対し、案A(再センタリング)と案B(ばらつき)の効きを比べます。
5. 改善意思決定とシグマ水準対応表(コード)
import numpy as np
import matplotlib.pyplot as plt
import japanize_matplotlib
from scipy.stats import norm
LSL, USL, target = 90.0, 110.0, 100.0
def ppm_of(mu, sigma):
return (norm.cdf((LSL - mu) / sigma) + (1 - norm.cdf((USL - mu) / sigma))) * 1e6
def cpk_of(mu, sigma):
return min((USL - mu) / (3 * sigma), (mu - LSL) / (3 * sigma))
mu0, sigma0 = 104.0, 2.5 # 出発点:中心が +4 ずれた工程(Cpk=0.8)
muA, sigmaA = 100.0, 2.5 # 案A:中心を目標へ戻す(設定変更=安い)
muB, sigmaB = 104.0, 2.0 # 案B:中心はそのまま、ばらつき -20%(工程改善=高い)
for tag, mu, sigma in [("出発点(中心ずれ)", mu0, sigma0),
("A:中心を戻す", muA, sigmaA),
("B:ばらつき-20%", muB, sigmaB)]:
print(f"{tag:14s} mu={mu:5.1f} sigma={sigma:.2f} Cpk={cpk_of(mu, sigma):.3f} PPM={ppm_of(mu, sigma):8.1f}")
sigma_needed = (USL - mu0) / (3 * (4.0 / 3.0)) # Bで中心ずれのまま Cpk=1.333 にする sigma
print(f"\nBで中心ずれのまま Cpk=1.333 にするには sigma {sigma0:.2f} -> {sigma_needed:.2f}"
f"({(1 - sigma_needed / sigma0) * 100:.0f}%削減が必要)")
print("\nCpk sigma水準(3Cpk) 最寄り規格PPM(片側)")
for cpk in [0.80, 1.00, 1.33, 1.50, 1.67, 2.00]:
z = 3 * cpk
print(f"{cpk:.2f} {z:.2f} {(1 - norm.cdf(z)) * 1e6:12.4f}")
# 図:3工程の分布と規格限界
fig, ax = plt.subplots(figsize=(11, 5.5))
xs = np.linspace(86, 116, 600)
series = [(f"出発点 Cpk={cpk_of(mu0, sigma0):.2f}({ppm_of(mu0, sigma0):.0f}PPM)", mu0, sigma0, "#d62728"),
(f"A:中心を戻す Cpk={cpk_of(muA, sigmaA):.2f}({ppm_of(muA, sigmaA):.0f}PPM)", muA, sigmaA, "#1f77b4"),
(f"B:ばらつき-20% Cpk={cpk_of(muB, sigmaB):.2f}({ppm_of(muB, sigmaB):.0f}PPM)", muB, sigmaB, "#2ca02c")]
for label, mu, sigma, color in series:
ax.plot(xs, norm.pdf(xs, mu, sigma), color=color, lw=2, label=label)
ymax = ax.get_ylim()[1]
ax.axvline(LSL, color="black", ls="--"); ax.axvline(USL, color="black", ls="--")
ax.text(LSL, ymax * 0.96, "LSL", ha="right"); ax.text(USL, ymax * 0.96, "USL", ha="left")
ax.axvline(target, color="gray", ls=":", label="目標(中心)")
ax.set_xlabel("特性値"); ax.set_ylabel("確率密度")
ax.set_title("中心を戻す(A) vs ばらつき低減(B):中心ずれ工程はまず中心合わせが効く")
ax.legend(); plt.tight_layout(); plt.show()
出力:
出発点(中心ずれ) mu=104.0 sigma=2.50 Cpk=0.800 PPM= 8197.5
A:中心を戻す mu=100.0 sigma=2.50 Cpk=1.333 PPM= 63.3
B:ばらつき-20% mu=104.0 sigma=2.00 Cpk=1.000 PPM= 1349.9
Bで中心ずれのまま Cpk=1.333 にするには sigma 2.50 -> 1.50(40%削減が必要)
Cpk sigma水準(3Cpk) 最寄り規格PPM(片側)
0.80 2.40 8197.5359
1.00 3.00 1349.8980
1.33 3.99 33.0366
1.50 4.50 3.3977
1.67 5.01 0.2722
2.00 6.00 0.0010
出力の意味:出発点 (8198 PPM)に対し、案A(中心を目標へ戻すだけ)で ・PPM 63——不良が130分の1になります。一方、案B(ばらつき)でも ・PPM 1350 にしか下がらず、案Aに遠く及びません。しかも案Bで案Aと同じ を出すには、 を と40%も削る必要があり、これは大改造です。中心ずれが効いている工程は、まず中心を合わせる——設定の一手で能力が満額戻るからです。下の対応表は → シグマ水準()→ 最寄り規格 PPM の翻訳で、 で約33 PPM、 で0.27 PPM、 で約0.001 PPM(短期・シフト無し)。図では、赤(出発点)の右裾が を超えて漏れているのに対し、青(再センタリング)は両裾とも規格内に深く収まり、緑(ばらつき低減だが片寄ったまま)は細いが右裾がまだ に届いています。「細くする」より「中心に戻す」方が、この工程では裾を断つのに効くことが一目でわかります。
⚠️ よくある誤解
- 「 が大きければ良い工程」ではない: は中心ずれを見ません( を含まない)。コード1のとおり でも中心がずれれば ・8198 PPM。実力は必ず で見る。 が中心ずれの大きさで、ここが開いていたら「まず中心合わせ」のサインです。
- 「高 ・低 はばらつきを減らせ」ではない:それは中心ずれの症状なので、安い再センタリングが先。いきなり高価なばらつき低減に走るのは費用対効果を取り違えています(案A vs 案B)。逆に** 自体が小さい**(ばらつき過大)なら、中心を合わせても限界があり、ばらつき低減が要ります。
- 「能力指数は管理状態でなくても計算できる」ではない:暴れている(異常原因が混じった)工程の は意味を持たず、 は信用できません。先に管理状態(統計的工程管理)を確認してから能力を測ります。安定 →(本稿)能力、の順です。
- 「正規分布でなくても PPM は で出せる」ではない: の翻訳は正規前提。歪んだ分布や多峰では裾確率がずれ、PPM を読み違えます。非正規なら分布変換や実測不良率で別評価します(要最新確認)。 と不良率の対応の導出は 品質管理。
関連ノート
- 統計的工程管理(前提・能力評価は管理状態が前提。安定 → 能力の順)
- 品質管理(統計・ の定義と不良率の対応の導出。本章が運用解釈、こちらが理論)
- 正規分布(標準正規・標準化)(統計・不良率=裾確率 の土台)
- シックスシグマと検査設計(次のトピック・シグマ水準 から DPMO へ。6σ=3.4 は1.5σシフトの約束)
- オペレーションズ・マネジメント 全体目次