mcpField
A
algo-mfg-cpk

algo-mfg-cpk

github.com/asgard-ai-platformデータ・データベース24346 回インストール21 週間前に更新
リポジトリ

algo-mfg-cpk について

製造工程の能力分析を行うスキルです。規格限界、平均、サブグループ内変動から Cp と Cpk を算出し、不良率を推定します。工程が統計的に安定している必要性を重視し、計算用 Python スクリプトと検証テストも含みます。

主な機能

  1. 01Cp、Cpk、Cpmの計算
  2. 02不良率PPMの推定
  3. 03工程の中心度評価
  4. 04正規性と安定性要件の確認
  5. 05組み込みテスト付きPythonスクリプト

活用シーン

  1. 01顧客仕様への適合性確認
  2. 02設備や期間ごとの能力比較
  3. 03量産前の工程準備状況の評価

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/asgard-ai-platform/skills --skill algo-mfg-cpk

インストール後、Claude Code で/algo-mfg-cpkを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

examples/
sample_input.json
references/
capability-indices.md
non-normal-capability.md
scripts/
cpk.py

詳細

Cpk プロセス能力指数

概要

Cpk は、ばらつき(分布の広がり)と中心化の両方を考慮し、プロセスが規格限界内にどの程度収まっているかを測定します。Cpk = min((USL - μ) / 3σ, (μ - LSL) / 3σ) です。通常、Cpk ≥ 1.33 が求められ、重要特性では Cpk ≥ 1.67 が求められます。Cp とは異なり、Cpk は中心からずれたプロセスを低く評価します。

使用する場合

適用条件:

  • 製造プロセスが顧客の仕様を満たせるか評価する場合
  • プロセス、機械、または期間ごとの能力を比較する場合
  • 生産準備完了に向けてプロセスを認定する場合

使用しない場合:

  • プロセスが統計的管理状態にない場合(まず SPC で安定化します)
  • 変換を行わずに非正規分布を扱う場合

アルゴリズム

IRON LAW: Cpk Is Only Valid for a STABLE, IN-CONTROL Process
Computing Cpk on an unstable process gives a meaningless number.
The process MUST be in statistical control (per SPC charts) before
capability analysis. An unstable process with Cpk=2.0 today may
produce defects tomorrow when it shifts.
フェーズ 1:入力の検証

安定したプロセスから 100 件以上の測定値を収集します。USL、LSL(顧客仕様)を特定します。プロセスが管理状態にあることを確認します(SPC 管理図で安定性を確認)。 ゲート: プロセスが管理状態にあり、仕様が定義され、データポイントが 100 件以上あること。

フェーズ 2:コアアルゴリズム
  1. プロセス平均を計算します:μ = Σxᵢ / n
  2. プロセス標準偏差を計算します:σ = R バー / d₂ または S バー / c₄ から推定(群内)—全体の標準偏差は使用しません
  3. Cp = (USL - LSL) / 6σ(中心化を無視した潜在能力)
  4. Cpk = min((USL - μ) / 3σ, (μ - LSL) / 3σ)(実際の能力)
  5. Cpk から不良の PPM を推定します(例:Cpk=1.33 → 約 63 PPM)
フェーズ 3:検証

Cp と Cpk の差を確認します(Cp >> Cpk は中心からのずれを示します)。分布がおおむね正規分布であることを確認します(ヒストグラム、正規性検定)。 ゲート: 能力を計算し、中心化を評価し、正規性を検証していること。

フェーズ 4:出力

不良率の推定値とともに能力指数を返します。

出力形式

{
  "capability": {"cp": 1.8, "cpk": 1.45, "ppm_defective": 27},
  "centering": {"mean": 50.2, "target": 50.0, "offset_pct": 0.4},
  "specs": {"usl": 55, "lsl": 45, "target": 50},
  "metadata": {"samples": 200, "sigma_method": "rbar_d2", "normality_p": 0.35}
}

例

入出力例

入力: USL=55、LSL=45、μ=50.2、σ=1.5 期待値: Cp = (55-45)/(6×1.5) = 1.11。Cpk = min((55-50.2)/4.5, (50.2-45)/4.5) = min(1.07, 1.16) = 1.07。目標の 1.33 を下回っています。

境界ケース
入力期待値理由
μ が目標値と完全に一致Cp = Cpk完全に中心化されています
μ が規格外Cpk < 0プロセス平均が規格限界を超えています
片側規格のみその側だけに Cpk を使用例:表面仕上げには USL のみがある

注意点

  • σ の推定方法:群内の σ(R̄/d₂)を使用し、全体の σ は使用しません。全体の σ には群間変動が含まれるため、σ が過大になり、Cpk が過小評価されます。
  • 非正規データ:Cpk は正規性を前提としています。歪んだデータ(表面仕上げ、同心度)には、Box-Cox 変換またはノンパラメトリックな能力指数を使用します。
  • 短期と長期:Cp/Cpk は短期(群内変動)を表します。Pp/Ppk は全体の変動(長期)を使用します。顧客は Ppk を求めることがよくあります。
  • サンプルサイズの信頼性:30 サンプルから算出した Cpk の信頼区間は広くなります。点推定値と併せて信頼区間を報告してください。
  • Cpk ≠ 不良ゼロ:Cpk=2.0 でも理論上の不良率は約 0.002 PPM です。非常に重要な用途では、より高い Cpk またはプロセスの妥当性確認が必要です。

スクリプト

スクリプト説明使用方法
scripts/cpk.pyプロセスデータから Cp、Cpk、Cpm、および不良の PPM を計算しますpython scripts/cpk.py --help

python scripts/cpk.py --verify を実行すると、組み込みの健全性テストを実行できます。

参考資料

  • Cp/Cpk/Pp/Ppk の比較については、references/capability-indices.md を参照してください
  • 非正規の能力分析については、references/non-normal-capability.md を参照してください

コメント