この記事でわかること
- 統計解析のコードを依頼するときに渡すべき4つの情報
- 実際の測定データで生成コードを検証する手順(3ステップ)
- 工程能力を過大評価してしまう定番の落とし穴とその見つけ方
- どこまで任せてよく、どこから自分で確かめるかの境目
📌 前提知識:品質管理でAIを使う|任せてよい仕事と危険な使い方を読んでいると位置づけがつかめます
毎月同じ集計をExcelでやっていて、そろそろPythonに移したい。けれどpandasの書き方を調べるところから始めると数時間かかる——このときに生成AIが効きます。「25個の測定値からCp・Cpkを計算してヒストグラムも描いて」と頼めば、動くコードが数分で返ってきます。
問題はその先です。返ってきたコードはエラーなく動いて、それらしい数値を表示します。その数値が正しいかどうかは、実行しただけでは分かりません。この記事では、依頼のしかたと、出てきたコードを実際に検証する手順を、当サイトで公開している測定データを使って具体的に示します。
AIにコードを書かせるのが向く場面
コード生成が効くのは、次のような条件がそろっているときです。
- 計算式が確定している:工程能力指数、管理図の管理限界、t検定の統計量など、式が決まっている処理
- 同じ処理を繰り返す:毎月・毎ロットと反復する集計。一度検証すれば使い回せる
- 答え合わせに使えるデータがある:過去に手計算した工程のデータや、書籍・記事の例題
逆に向かないのは、何を計算すべきかがまだ決まっていない段階です。「このデータから何か分かることを探して」という頼み方をすると、それらしい分析が並びますが、目的に合っているかどうかを判断できません。手法の選定は統計的検定の選び方(フロー図付き)で先に固めてから、コードの依頼に進みます。
NG例(△): 動いたコードを検証せずに本番の報告へ使うのがもっとも危ない使い方です。Pythonはエラーが出なければ何かしらの数値を返します。その数値が定義どおりのものかどうかは、コードを読むか、既知の値と突き合わせるかしないと分かりません。
もうひとつのNG例が、コードの意味を理解しないまま使い続けることです。データの形が変わったときに直せず、結局また一から頼むことになります。Pythonの全体像はPython統計解析入門|Excelとの使い分けと学び方で押さえておくと、生成されたコードを読む足場になります。
依頼するときに渡す4つの情報
返ってくるコードの質は、依頼文の書き方でほぼ決まります。ポイントは、こちらが書かなかった条件は考慮されないという点です。次の4つを毎回そろえます。
| 渡す情報 | 書き方の例 |
|---|---|
| ①データの形 | 5個×5日の測定値。単位はmm。欠測なし |
| ②やりたいこと | Cp・Cpkを計算し、規格線つきヒストグラムを描く |
| ③実行環境 | Python 3系。pandas・numpy・matplotlibのみ使用可 |
| ④出力形式 | 数値は小数第3位まで。図はPNGで保存 |
実務で差が出るのが③です。会社のPCで使えるライブラリが限られている場合、指定しないと入っていないパッケージ前提のコードが返ってきます。「pandasとnumpyだけで」と一言添えるだけで、動かないコードを受け取る回数が減ります。
①も軽視できません。データの並び(縦持ちか横持ちか、群ごとに分かれているか)を伝えないと、こちらの手元のファイル形式に合わないコードになります。実際の1〜2行をそのまま見せるのがいちばん確実です。ただし、実データを入力してよいかは会社の規程によります。この点は品質データをAIに渡す前に|プロンプトの型と注意点で扱っています。
実例|工程能力の計算コードを書かせる
実際に手を動かしてみます。題材はPythonで工程能力指数|Cp・Cpkの計算手順で使っている旋盤工程の軸径データです。1日5個ずつ5日間、計25個。規格は10.00±0.10mm(下限9.90/上限10.10)です。冒頭で挙げたヒストグラムの作図も同じ依頼に含められますが、ここでは正誤の判定ができる数値部分に絞って検証の手順を追います。グラフは見れば分かる一方、数値は見ただけでは分からないためです。
data = [
[10.02, 10.05, 9.98, 10.01, 10.04],
[9.99, 10.03, 10.01, 9.97, 10.00],
[10.04, 10.06, 10.02, 10.05, 10.03],
[9.96, 10.00, 9.98, 10.02, 9.99],
[10.01, 10.02, 10.00, 10.03, 9.99],
]
このデータを選ぶ理由がここにあります。正解が公開されていて、後から突き合わせられるからです。正しく計算すれば平均10.012mm、標準偏差0.02614mm、Cp=1.275、Cpk=1.122になります。
依頼文は、先ほどの4点をそろえてこう組み立てます。
5個×5日=25個の測定値(単位mm)からCpとCpkを計算するPythonコードを書いてください。規格は下限9.90、上限10.10です。使えるのはpandasとnumpyだけです。標準偏差は標本標準偏差を使ってください。結果は小数第3位まで表示してください。
「標本標準偏差を使ってください」の一文が要です。これを省くと、後述する落とし穴を踏んだコードが返ってくる可能性が高くなります。
返ってくるコードは、おおむね次のような形です。
import numpy as np
import pandas as pd
x = pd.DataFrame(data).values.flatten()
USL, LSL = 10.10, 9.90
mu = x.mean()
sigma = x.std(ddof=1) # 標本標準偏差
cp = (USL - LSL) / (6 * sigma)
cpu = (USL - mu) / (3 * sigma)
cpl = (mu - LSL) / (3 * sigma)
cpk = min(cpu, cpl)
print(f"mean={mu:.3f} sd={sigma:.5f}")
print(f"Cp={cp:.3f} Cpk={cpk:.3f}")
ここで使っている式は次の2つです。
\[C_p = \frac{USL – LSL}{6\sigma}, \quad C_{pk} = \min\left(\frac{USL – \bar{x}}{3\sigma},\ \frac{\bar{x} – LSL}{3\sigma}\right)\]
規格幅をばらつきの6倍で割ったものがCp、上下それぞれの余裕のうち小さいほうがCpkです。Excelで同じ計算をするなら、標準偏差はSTDEV.S関数が対応します。
=STDEV.S(B2:B26)
=(10.10-9.90)/(6*STDEV.S(B2:B26)) ← Cp
=MIN((10.10-AVERAGE(B2:B26))/(3*STDEV.S(B2:B26)),
(AVERAGE(B2:B26)-9.90)/(3*STDEV.S(B2:B26))) ← Cpk
PythonとExcelで同じ値が出るかどうかが、そのまま次の検証手順につながります。
生成コードの検証手順3ステップ
ステップ1|答えの分かっているデータで突き合わせる
最初にやるのは、結果が分かっているデータを流して一致を見ることです。先ほどのコードを実行すると、次の値が出ます。
- 平均 10.012mm
- 標準偏差 0.02614mm
- Cp = 1.275、Cpk = 1.122
公開されている値と一致しました。この時点で、少なくともこのデータ形式では正しく計算していると確認できます。一致しなければ、コードを読む前にまず標準偏差の種類を疑います。
実務で使う場合は、過去に手計算した工程のデータを1つ「検証用」として取っておくのがおすすめです。一度作れば、以後どんなコードを生成させてもそれで確かめられます。
ステップ2|Excelで二重計算する
次に、同じデータをExcelでも計算します。手段が違えば同じ誤りは起きにくいため、突き合わせに意味があります。先ほどのSTDEV.Sを使った式で、Pythonと同じCp=1.275、Cpk=1.122が出れば確認完了です。
ここでずれたら、多くの場合は標準偏差の定義違いです。ExcelにはSTDEV.S(標本)とSTDEV.P(母集団)があり、Pythonのddofと対応しています。組み合わせを間違えると値がずれます。ExcelとPythonの使い分け全体についてはExcel統計の限界はどこか|統計ソフト4種の比較と選び方で整理しています。
ステップ3|境界値で試す
最後に、極端なデータを入れて挙動を見ます。確認したいのは次の3つです。
- 平均が規格の外にあるデータ:Cpkが負の値になるか。ここでエラーになるコードは実務で使えません
- ばらつきがほぼゼロのデータ:全部同じ値だと標準偏差が0になり、ゼロ除算が起きます。処理されているか
- データが数個しかない場合:n=2でも動くか。動いてしまう場合、警告が出る作りになっているか
3つ目は見落とされがちです。工程能力指数はある程度のデータ数を前提とした指標なので、n=3で計算できてしまうコードはむしろ危険です。使う側が気をつけるしかありません。
よくあるコードの落とし穴
標準偏差の既定値(ddof)
いちばん多いのがこれです。numpyのstd()とpandasのSeries.std()で、既定値が食い違っています。
| 書き方 | ddofの扱い | 工程能力への影響 |
|---|---|---|
np.std(x) |
ddof=0(母標準偏差) | ❌ 過大評価する |
x.std(ddof=1) |
標本標準偏差 | ✅ 正しい |
df["列"].std() |
pandasは既定でddof=1 | ✅ 正しい |
同じstdという名前でも、numpyとpandasのどちらを経由したかで結果が変わります。AIが書くコードは両方が混在しやすく、numpy側だけddofの指定が抜けているという形で紛れ込みます。
影響を実際の数値で見てみます。同じ25個のデータでddofだけを変えた結果です。
| 標準偏差の種類 | σ | Cp / Cpk |
|---|---|---|
| 標本(ddof=1)✅ | 0.02614 | 1.275 / 1.122 |
| 母集団(ddof=0)❌ | 0.02561 | 1.301 / 1.145 |
差はCpkで0.023、率にして約2%です。今回の例では判定が変わるほどではありませんが、ずれの向きが常に「良く見える」側に固定されているのが問題です。真のCpkが1.30の工程なら1.33と表示され、Cpk≧1.33を合格ラインにしている現場では判定がひっくり返ります。
しかも、この差はデータ数が少ないほど大きくなります。n=25で約2%、n=10なら約5%、n=5では約12%です。少ないデータで工程能力を見るときほど危ないということです。
その他の定番
- 片側規格なのに両側の式を使う:上限だけの特性でCpを計算すると意味のない値が出ます。規格が片側かどうかは依頼文に必ず書きます
- 欠測値の扱い:pandasは既定で欠測を除いて計算しますが、numpyは
nanが混ざると結果全体がnanになります。どちらの挙動を期待しているか明示します - 群構造を無視する:管理図では群内のばらつきと群間のばらつきを分けますが、全データをまとめて標準偏差を出すコードが返ってくることがあります。Pythonで管理図を作る|X-R管理図の手順で扱う考え方です
- 検定の前提を確認しないコード:等分散を仮定するかどうかで結果が変わります。Pythonでt検定(対応ありなし)で前提の違いを確認しておくと、生成コードの妥当性を判断できます
相関分析や分散分析でも事情は同じです。Pythonで相関分析|相関係数と散布図の求め方やPythonで分散分析のように、例題と結果が載っている記事を検証用の答え合わせに使えます。
よくある質問(FAQ)
Q. 生成されたコードが読めない場合はどうすればよいですか?
読めない行の意味を、そのまま聞き返してください。コードの説明は文章生成の範囲なので、任せてよい仕事に入ります。それでも腑に落ちない場合は、もっと単純な書き方に直すよう頼むのが現実的です。短くて読めるコードのほうが、長くて読めないコードより実務では安全です。
Q. 検証用のデータはどうやって用意すればよいですか?
過去にExcelで集計した工程のデータが最適です。すでに答えが手元にあるためです。手元にない場合は、この記事で使った軸径25個のデータのように、計算結果が公開されている例題を使えば同じことができます。
Q. コードが正しければ、出力された数値は信用してよいですか?
コードの正しさと、そのコードを適用してよいデータかどうかは別の話です。工程が安定していない状態で計算した工程能力指数は、コードが正しくても実力を表しません。管理図で安定を確認してから工程能力を評価する、という順序は変わりません。
Q. AIに計算そのものをさせず、コードを書かせるのはなぜですか?
コードは一度検証すれば繰り返し使えて、毎回同じ結果を返すからです。AIに直接計算させると、同じ質問でも結果が変わる可能性があり、そのつど検算が必要です。この線引きの考え方は品質管理でAIを使う|任せてよい仕事と危険な使い方で整理しています。
まとめ
- 依頼時に渡すのは4つ。データの形・やりたいこと・実行環境・出力形式。書かなかった条件は考慮されない
- 検証は3ステップ。既知の値と突き合わせ、Excelで二重計算し、境界値で試す
- 検証用データを1つ作っておけば、以後どのコードもそれで確かめられる
- 最頻出の落とし穴は
ddof。np.std(x)のままだと工程能力を過大評価し、ずれは常に良く見える側に出る - データ数が少ないほど
ddofの影響は大きい(n=25で約2%、n=5で約12%)
式が決まっていて繰り返す処理はコードを書かせ、値の正しさが問われる場面は自分で突き合わせる、という使い分けです。まだPythonに触れていない方はPython統計解析入門から、この記事の題材をそのまま追いたい方はPythonで工程能力指数|Cp・Cpkの計算手順へ進むと流れがつながります。腰を据えて統計の土台を作るなら、レベル別のおすすめ書籍を統計学・実験計画法のおすすめ本まとめで紹介しています。
※ 本記事は特定のAIサービスの推奨・比較を目的とするものではありません。生成AIの出力内容は同じ依頼でも変わるため、掲載したコードは一例です。利用にあたっては各サービスの最新の利用規約と、勤務先の情報管理規程を必ずご確認ください。記述は2026年8月時点の一般的な整理です。


