Media > AI活用ユースケース > 品質管理 > ゴム製品のメーカーが加硫成形の条件・材料のロットの受入れ検査の値・工場の気温の記録から Python でロットごとの不良の率を予測し、検査を厚くするロットと材料のロットの使い方の候補を出す

ゴム製品のメーカーが加硫成形の条件・材料のロットの受入れ検査の値・工場の気温の記録から Python でロットごとの不良の率を予測し、検査を厚くするロットと材料のロットの使い方の候補を出す

実装ステータス:構成例 技術的に実現可能な構成として設計したもの。自社未検証

ゴム部品の成形ロットごとの成形の条件、材料のロットの受入れ検査の値、工場の朝の気温と湿度から、Python でその日のロットごとの不良の率を予測します。不良の率の高そうなロットを、検査を厚くする候補と材料の使う順の候補として出します。

サマリー
連携・自動化
Python
対象業界
製造
対象部門
品質管理/生産
対象業務
内容確認・チェック/集計・分析
主な課題
判断に時間がかかる/属人化している/確認ミスが多い
AIで行う処理
予測
主な効果
判断支援/品質標準化/属人化解消
導入難易度
★★★★★
実装レベル
本格構成
費用感
個別開発(大)
人間の確認
条件付き
現在工数
20h/月
AI導入後
8h/月
想定削減
60%
年間削減
144h
モデル条件による試算値です。実在企業の実績ではありません。

01導入前 / 導入後の業務フロー

導入前(Before)
  1. 毎朝、品質管理課の担当が生産管理の仕組みからその日の成形ロットの計画(品番・プレス・材料のロット・数)を書き出す
  2. 材料のロットごとに、受入れ検査の値と練った日を確かめる
  3. 係長が、品番ごとの過去の不良の出方と、材料の値、その日の気温を見比べる
  4. 不良が出そうなロットに印を付け、抜き取りの数を増やす、初物を係長が見る、と決める
  5. 成形と検査が終わり、不良の数がロットごとに検査の記録に入る
  6. 不良の多かったロットは、翌日以降に原因を調べる
導入後(After)
  1. 自動毎朝7時に、Python がその日の成形ロットの計画、材料のロットの受入れ検査の値、成形の条件の表、工場の朝の温湿度、金型の清掃の記録を読み込む
  2. 自動ロットごとに項目をそろえる(品番の系統・プレス・型の温度・加硫の時間・材料の値・練ってからの日数・清掃からのショットの数・気温と湿度)
  3. 自動学習済みのモデルで、ロットごとの不良の率を予測する
  4. 自動予測の高い順に並べ、上位のロットに「検査を厚く」の印を付ける
  5. 自動練ってから日のたった材料のロットについて、不良の率の低く出る品番への回し方の候補を出す
  6. 人係長が一覧を見て、抜き取りの数と初物の確認の担当を決め、検査の係に伝える
  7. 人材料の係と成形の係が、材料の回し方の候補を見て、その日の段取りを決める
  8. 自動検査が終わったら、実際の不良の数を予測と並べて記録する
各工程の詳しい説明を読む
  1. 毎朝、品質管理課の担当が生産管理の仕組みからその日の成形ロットの計画(品番・プレス・材料のロット・数)を書き出す
  2. 材料のロットごとに、受入れ検査の値と練った日を確かめる
  3. 係長が、品番ごとの過去の不良の出方と、材料の値、その日の気温を見比べる
  4. 不良が出そうなロットに印を付け、抜き取りの数を増やす、初物を係長が見る、と決める
  5. 成形と検査が終わり、不良の数がロットごとに検査の記録に入る
  6. 不良の多かったロットは、翌日以降に原因を調べる

(a)不良の多いロットに気づくのが検査の後。 4番で印を付けなかったロットで不良が多く出ると、気づくのは検査の記録が上がった後で、その間に同じ条件・同じ材料で次のロットが作られています。全数の選別に回すと、検査の係の手が一日つぶれます。

(b)係長の経験で決まる。 3番の見比べは、「この品番は粘度が上寄りのロットだと欠けが出る」「梅雨の時期はこのプレスで気泡が出る」という係長の記憶で成り立っています。台帳には残っていません。

(c)不良の率を、ロットの大きさを無視して見ている。 過去の不良の出方を見るとき、小さなロットの高い率が目に付き、大きなロットの低めの率が見過ごされます。 不良の数の多さでは、大きなロットのほうが重いことがあります。

(d)材料のロットの使い方が後追い。 練ってから日のたった材料は早めに使い切りたい一方で、不良の出やすい品番に回すと不良が増えます。 どの材料をどの品番に回すかを、不良の見込みと並べて決める材料がありません。

  1. 【自動】 毎朝7時に、Python がその日の成形ロットの計画、材料のロットの受入れ検査の値、成形の条件の表、工場の朝の温湿度、金型の清掃の記録を読み込む
  2. 【自動】 ロットごとに項目をそろえる(品番の系統・プレス・型の温度・加硫の時間・材料の値・練ってからの日数・清掃からのショットの数・気温と湿度)
  3. 【自動】 学習済みのモデルで、ロットごとの不良の率を予測する
  4. 【自動】 予測の高い順に並べ、上位のロットに「検査を厚く」の印を付ける
  5. 【自動】 練ってから日のたった材料のロットについて、不良の率の低く出る品番への回し方の候補を出す
  6. 【人】 係長が一覧を見て、抜き取りの数と初物の確認の担当を決め、検査の係に伝える
  7. 【人】 材料の係と成形の係が、材料の回し方の候補を見て、その日の段取りを決める
  8. 【自動】 検査が終わったら、実際の不良の数を予測と並べて記録する

6番目で決めるのは係長です。 一覧が出すのは過去の記録から見た不良の率で、型の傷みの見た目や、前の日のプレスの調子は記録に入っていません。 係長はそれを足して決めます。

5番目の材料の回し方は、あくまで候補です。 品番ごとに使える材料の配合は決まっていて、同じ配合のロットの中での使う順を入れ替えるだけです。配合の違う材料を回す候補は出しません。

02今回想定するシステム構成

構成図
生産管理の仕組み(成形ロットの計画と実績、材料のロット、生産の数)
+ 検査の記録(ロットごとの不良の数と種類)
+ 材料の受入れ検査の記録(粘度・加硫の速さ・練った日)
+ 成形の条件の表(品番・プレスごとの型の温度・加硫の時間・圧力)
+ 工場の温湿度計の記録 + 金型の清掃の記録
   │
   ▼【トリガー】毎朝7時(工場のサーバーの定時実行)
Python(pandas)
   ├──▶ ロットごとの項目をそろえる
   ▼
scikit-learn の HistGradientBoostingRegressor(loss="poisson")
   │   目的の値=不良の数 ÷ 生産の数、重み=生産の数
   ▼
Python ── 予測の高い順に並べ、検査の印と材料の回し方の候補を作る
   ▼
【人】係長が検査の厚さを決め、材料と成形の係が段取りを決める
役割想定する製品代替候補
実行環境Python(pandas・scikit-learn)R
処理エンジンscikit-learn の HistGradientBoostingRegressor(ポアソン損失)scikit-learn の PoissonRegressor、LightGBM のポアソン回帰
集計Python(並べ替え、検査の印、材料の回し方の候補、当たり方の記録)表計算の計算式
保管工場のファイルサーバー(学習の記録、一覧、当たり方の記録)-

新しく足すのは、Python の処理と、成形ロットと材料のロットのひも付けをそろえる作業です。 生産管理の仕組みと検査の記録には書き込みません。この構成が出すのは、ロットごとの不良の率の見込みと、検査と材料の候補の一覧までです。

予測のエンジンにポアソン損失の HistGradientBoostingRegressor を選んだのは、数えた値の率を重み付きで学べるからです。 公式のページでは、loss に poisson があり、内部で対数のつなぎ方を使い、目的の値が0以上であることを求めるとされています。公式の保険の請求の例では、請求の件数を契約の期間で割った頻度を目的の値にし、契約の期間を sample_weight として渡しています。 本記事では、不良の数を生産の数で割った率を目的の値にし、生産の数を重みとして渡します。

同じ例では、ポアソン損失の勾配ブースティングが、線形のモデルより「危うさの順に並べる力」で大きく上回ったとされています。検査を厚くするロットを選ぶのは並べ替えの問題なので、この性質が効きます。

生成AIは使いません。 出すのは率の見込みと順位の表です。

03どうやって実装するのか

Step1

処理の起点を決める

毎朝7時に1回、その日の成形ロットの計画について予測します。 成形の始まりが8時なので、係長が一覧を見て、検査の係に抜き取りの数を伝えられる時刻にします。工場のサーバーの定時実行(Windows ならタスク スケジューラ)で Python のスクリプトを起動します。

7時に動かすのは、その日の朝の気温と湿度を使うためです。 前の日の夕方に動かすと、学習のときは成形の日の朝の値を使い、予測のときは前の日の値を使うことになり、時点がずれます。学習と予測で同じ「成形の日の朝7時の値」を使います。

計画が昼に変わったときは、担当が手で実行し直します。 材料のロットの差し替えやプレスの入れ替えで計画が変わったら、変わったロットだけを予測し直し、一覧に「計画変更」と印字します。

モデルの作り直しは3か月に1回にします。 作り直す前と後で、直近3か月の当たり方を比べ、悪くなっていれば前のモデルのまま使います。一覧には、作った日時とモデルの作成日を必ず印字します。

Step2

入力データを集める

データ中身取得元
成形ロットの記録ロット番号、品番、品番の系統、プレス番号、金型番号、成形の日、生産の数、使った材料のロット生産管理の仕組み
検査の記録ロット番号、不良の数、不良の種類(欠け・バリ・気泡・流れの跡・異物)検査の記録
材料の受入れ検査材料のロット、配合、練った日、粘度、加硫の速さ(加硫試験の値)、規格の上限と下限材料の受入れ検査の記録
成形の条件品番・プレスごとの型の温度、加硫の時間、圧力の設定成形の条件の表
気温と湿度成形の日の朝7時の工場の中の温度と湿度工場の温湿度計の記録
金型の記録金型ごとの前の清掃の日と、それからのショットの数金型の清掃の記録

質を決めるのは、成形ロットと材料のロットのひも付けです。 1つの成形ロットの途中で材料のロットを継ぎ足すことがあり、記録には最初のロットしか残っていない工場があります。継ぎ足したときに2つ目のロットを記録する決まりを、導入の最初に作ります(第14章)。

材料の値は、規格の幅の中での位置にして渡します。 粘度の値そのものより、「規格の下限から上限までのどのあたりか」のほうが品番をまたいで比べやすいからです。配合が違えば規格も違うので、0から1の位置に直します。

Step3

データの取得方法を決める

取るものどこから何に使うか
成形ロットの計画と実績生産管理の仕組みから毎朝6時半に CSV で書き出す予測の対象と学習の記録
不良の数と種類検査の記録から毎日 CSV で書き出す学習の目的の値
材料の受入れ検査の値受入れ検査の記録を CSV で保存する材料の項目
成形の条件条件の表を CSV で保存する条件の項目
気温と湿度温湿度計の記録を CSV で書き出す気候の項目
金型の清掃清掃の記録を CSV で保存する型の汚れの項目

不良の数は、検査で「ロットの不良」と判定した数だけを使います。 検査の係が抜き取りで見つけた数を、抜き取りの数で割って率にしている工場では、抜き取りを厚くしたロットほど不良が見つかりやすくなります。 全数の外観の検査を行っている工程の数を使うか、抜き取りの数を重みにするかを、最初に決めます。

不良の種類は、最初は合計して1つのモデルにします。 欠け・バリ・気泡・流れの跡では効く条件が違うはずですが、種類ごとに分けると1つあたりの件数が少なくなり、率のばらつきが大きくなります。 合計のモデルで当たり方を確かめ、件数の多い種類(たとえば欠け)だけを別のモデルに分けるかを、半年後に決めます。異物の混入は成形の条件より作業の環境で決まるので、合計からも外して別に数えます。

成形の条件は、設定の値を使います。 プレスが型の温度の実績を残していれば精度は上がりますが、予測を作る7時の時点では、その日の実績はまだありません。 設定の値なら、学習と予測で同じものを使えます。

Step4

AIへ渡す前に整形する

  1. ロットごとに不良の率を作る … 不良の数 ÷ 生産の数。生産の数が0のロットは外します
  2. 重みを付ける … 生産の数を sample_weight にします
  3. 材料の値を規格の中の位置にする … (値 − 下限)÷(上限 − 下限)
  4. 練ってからの日数を数える … 成形の日 − 材料を練った日
  5. 区分の列の型をそろえる … 品番の系統・プレス・配合を pandas の Categorical の型にします
  6. 外れたロットを外す … 試し打ちのロット、設備の故障で途中で止めたロット、検査の方法を変えた期間のロット
  7. 学習と確かめの期間を時間で分ける … 成形の日の順に並べ、TimeSeriesSplit で古いロットで学習し、新しいロットで確かめます

1番目と2番目が、この構成の肝です。 率を目的の値にして重みを付けないと、生産の数が50個のロットの1個の不良と、5,000個のロットの100個の不良が、同じ2%として同じ重さで学ばれます。 小さなロットの率はばらつきが大きいので、重みが無いと、そのばらつきを学んでしまいます。

4番目の練ってからの日数は、ゴムの成形でよく効く項目の候補です。 練った配合ゴムは日がたつと少しずつ性質が変わるとされ、同じ受入れ検査の値でも、練った直後と1週間後では成形のしやすさが違うことがあります。効き方の向きは、第7章の当たり方の確かめで係長の経験と照らします。

7番目でロットを無作為に分けないのは、同じ材料で作った成形ロットが学習と確かめの両方に入るのを避けるためです。 無作為に分けると、同じ日・同じ材料で作った隣のロットの結果を見ながら当てることになり、当たり方が良く見えすぎます。

Step5

AIに処理させる

させるのは、その日の成形ロットごとの不良の率を予測することだけです。

出すもの作り方使いみち
ロットごとの不良の率の見込みポアソン損失のモデルで予測並べ替えの元
不良の数の見込み率 × 計画の生産の数検査の係の手配
その日の中の順位率の高い順検査を厚くするロットの選び方
材料の回し方の候補練ってから日のたった材料のロットを、同じ配合を使う品番に回したときの率を比べる材料と成形の係の段取り
一覧の印決め方係長の動き
赤その日の上位1割、かつ見込みが品番の系統の過去の平均の2倍以上抜き取りを厚くし、初物を係長が見る
橙その日の上位1割、または見込みが過去の平均の1.5倍以上抜き取りを厚くする
-それ以外これまでどおりの検査

「上位1割」と「過去の平均の何倍」の両方を使うのは、日によって全体の水準が違うからです。 全部のロットが低い日でも上位1割は出てくるので、倍率の条件を重ねて、本当に高いロットだけを赤にします。 線の高さは係長と検査の係で決めます。

させないこと理由
製品の合否・出荷の可否検査と品質の規格で決める
成形の条件の変更条件と不良の関係は因果ではない。変えるかは生産技術が決める
材料のロットの受入れの合否受入れ検査の規格で決める
不良の原因の特定型・材料・条件・作業のどれかは、品質管理課が調べる

2行目は、とくに気を付けてください。 モデルが言えるのは「この条件の組み合わせで、過去に不良の率が高かった」ことまでで、「型の温度を上げれば不良が減る」とは言えません。 型の温度が低めの品番が、もともと不良の出やすい形の品番なだけかもしれません。

Step6

指示内容を固定する

生成AIを使わないので、プロンプトはありません。 かわりに、学習と当たり方の確かめの中身を示します。

from sklearn.ensemble import HistGradientBoostingRegressor
from sklearn.metrics import mean_poisson_deviance
import numpy as np

CAT = ["family", "press", "compound"]
NUM = ["die_temp", "cure_sec", "pressure", "visc_pos", "cure_rate_pos",
       "days_since_mix", "shots_since_clean", "temp_7am", "rh_7am"]
X_cols = CAT + NUM
lots["rate"] = lots["defects"] / lots["produced"]

m = HistGradientBoostingRegressor(loss="poisson", max_leaf_nodes=31,
                                  learning_rate=0.05, max_iter=500)
m.fit(train[X_cols], train["rate"], sample_weight=train["produced"],
      X_val=val[X_cols], y_val=val["rate"],
      sample_weight_val=val["produced"])          # 1万件未満でも早期終了を効かせる

pred = m.predict(test[X_cols])
dev = mean_poisson_deviance(test["rate"], pred, sample_weight=test["produced"])

# 並べる力:予測の高い順に並べ、上位1割に実際の不良の数の何割が入ったか
order = np.argsort(-pred)
top = order[: max(1, len(order) // 10)]
share = test["defects"].values[top].sum() / test["defects"].sum()

sample_weight に生産の数を渡すのは、公式の例と同じ形です。 公式の例では、頻度(件数 ÷ 期間)を目的の値にし、期間を sample_weight として渡し、評価の mean_poisson_deviance にも同じ重みを渡しています。 学習だけ重みを付けて評価で付けないと、小さなロットの外れが評価を引っ張ります。

X_val と y_val と sample_weight_val を渡しているのは、早期終了のためです。 公式のページでは、early_stopping の既定の auto は、件数が1万を超えるか X_val と y_val を fit に渡したときに有効になるとされています。月240ロットの3年分は8,640件で、1万に届きません。

当たり方は、2つの数で見ます。 1つは重み付きのポアソンの逸脱度で、率の水準が合っているかを見ます。もう1つは「予測の上位1割のロットに、実際の不良の数の何割が入ったか」で、検査を厚くするロットの選び方として役に立つかを見ます。公式の例でも、予測の危うさで並べて実際の値の積み上がりを描く曲線(ローレンツ曲線)で、並べる力を比べています。

水準の合い方も確かめます。 公式の例では、予測の大きさで組に分け、組ごとの実際の平均と予測の平均を並べて合い方を見ています。予測が2%の組で実際も2%前後なら、一覧の「不良の数の見込み」をそのまま検査の係の手配に使えます。

Step7

出力形式を固定する

係長に渡すのは、次の一覧です。 印刷して朝の検査の打合せで使います。

【10/29 成形ロットの不良の率の見込み(07:04 作成/モデル作成 2026-10-01)】

印ロット品番の系統プレス材料のロット(練ってから)計画の数不良の率の見込み系統の過去の平均主な理由
赤M-1029-07Oリング(大径)P-14C-6612(9日)3,0003.8%1.6%粘度が規格の上寄り・練ってから日数
橙M-1029-12防振ゴムP-22C-6620(2日)8002.1%1.3%清掃から4,200ショット
-M-1029-03パッキンP-05C-6618(3日)5,0000.6%0.7%-

「主な理由」は、そのロットの値が品番の系統のいつもの値から大きく外れている項目を並べたものです。 モデルの中身を説明するものではなく、係長が型や材料を確かめに行く先の手がかりです。

材料の回し方の候補は、一覧の下に別の表で出します。 「C-6612 を Oリング(大径)でなくパッキンに回すと見込みが 3.8%→1.1%」のように、同じ配合を使う品番の中で比べた値だけを出します。

機械で読む用には、同じ内容を CSV でも残します。 列は、ロット、印、率の見込み、不良の数の見込み、順位、モデルの作成日です。検査が終わったら、実際の不良の数をこの CSV の横に入れます。

Step8

システムへ連携する

つなぎ先方式内容
生産管理の仕組み毎朝、成形ロットの計画と実績を CSV で書き出す予測の対象と学習の記録
検査の記録毎日、ロットごとの不良の数を CSV で書き出す学習の目的の値と当たり方
材料の受入れ検査の記録CSV で保存して読む材料の項目
温湿度計・金型の清掃の記録CSV で読む気候と型の項目
検査の指示・成形の計画書き込まない(係長と係が決めてから入れる)-

検査の指示には書き込みません。 一覧の印をそのまま抜き取りの数にすると、型の見た目や前の日の調子を見ないまま検査の厚さが決まります。

Step9

人が確認する

  1. 作った日時とモデルの作成日を見る … 一覧の上の日付がその日の朝であることを確かめます
  2. 赤と橙のロットの理由を見る … 材料の値、練ってからの日数、清掃からのショットの数を確かめます
  3. 記録に無い事情を足す … 型の傷みの見た目、前の日のプレスの調子を足して、抜き取りの数と初物の確認の担当を決めます
  4. 材料の回し方の候補を係と話す … 回すかどうかは材料と成形の係が決めます

3番目で一覧と違う判断をしたら、理由を一言残します。 「P-14 の型は先週から傷が出ている」が何度も出るなら、金型の点検の記録を項目に足す材料になります。

目標は、240件をならして1件2分です。 印の無いロットは流し見るだけで、時間を使うのは赤と橙のロットの理由を確かめるところです。

Step10

例外に対処する

起きること対応
材料のロットの受入れ検査の値が無い欠けた値のまま予測し、「材料の値なし」と出す
新しい品番・新しい配合予測は出すが「前例少」と出し、係長が自分で見立てる
成形ロットの途中で材料のロットを継ぎ足した生産の数の多いほうの材料で予測し、「材料継ぎ足し」と出す
温湿度計の記録が欠けた前の日の同じ時刻の値で補い、「気温補完」と出す
計画が昼に変わった変わったロットだけ予測し直し、「計画変更」と出す
検査の方法が変わった変わった日から別の扱いにし、作り直しまでは「検査変更」と出す
作り直したモデルが前より外れる前のモデルのまま使い、作り直しの記録を残す
朝の定時の実行が動かなかった担当が手で実行する。日付の古い一覧は使わない

2行目は、とくに大事です。 学習の記録に前例の少ない品番や配合では、モデルは似た品番から推しはかった率しか出せません。 品番の系統と配合ごとに学習の記録の件数を数え、一定の件数に満たないロットに印を付けます。

Step11

記録を残す

  • 実行の日時、使ったモデルの作成日、学習に使ったロットの期間と件数、外したロットと理由
  • ロットごとの率の見込み、不良の数の見込み、順位、印、主な理由
  • 係長が一覧と違う判断をしたロットと、その理由
  • 実際の不良の数と種類
  • 月ごとの当たり方(重み付きのポアソンの逸脱度、上位1割に入った不良の数の割合、見込みの組ごとの実際の平均)

「上位1割に入った不良の数の割合」が、この構成の健康診断です。 でたらめに選べば1割しか入らないところ、3割、4割と入っていれば、検査を厚くするロットの選び方として役に立っています。 下がり続ければ、材料や工程の変化をモデルが追えていません。

04実装レベルの3段階

最小構成:1つの品番の系統で、手で書き出した記録で Python を動かし、過去の半年で当たり方を見る / 予測の当たり方の確認
半自動化:上記+全部の系統で、毎朝ロットごとの率の見込みと順位の一覧を出す / ロットごとの見込みと並べ替え
本格構成:上記+赤・橙の印、主な理由、材料の回し方の候補、計画変更の出し直し、当たり方の記録まで行う / 見込みから検査と材料の候補、見直しまで

本格構成の先には、プレスが残す型の温度の実績を使う形も考えられます。 ただし、予測を作る朝の時点ではその日の実績は無いので、使えるのは前のロットの実績や、設定からのずれの傾向までです。成形の途中で見込みを出し直す仕組みは、毎朝の一覧が定着してから検討します。 本記事の想定は本格構成です。 半自動化では率と順位は出ますが、係長はまだ材料の値と過去の平均を自分で見比べて、印を付けています。 半自動化で1件5分が3分ほどに、本格構成で2分になります。 差が大きいのは、理由の書き出しと材料の回し方の比べ方が、記録があれば機械で出せる作業だからです。 段階を飛ばさないでください。 半自動化を3か月使うと、どの系統で上位1割に不良が集まり、どこで集まらないかが分かります。集まらない系統の記録を直してから、材料の回し方の候補を足します。

05工数削減シミュレーション

前提値(モデル条件)
対象人数
3 名
月間件数
240 件
1件あたり現在時間
5 分
1件あたり導入後時間
2 分
現在  240件 × 5分 ÷ 60 = 20 時間/月
導入後 240件 × 2分 ÷ 60 = 8 時間/月
月間削減時間
12h
削減率
60%
年間削減時間
144h
年間金額換算(時間単価3,200円)
46万円
モデル条件による試算であり、実際の効果は業務内容・運用方法によって異なります。

自社条件で導入効果を整理したい方へ

このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。

AI活用について相談する

06向いている企業・向いていない企業

向いている
  1. Oリング・パッキン・防振ゴム・ブーツなどのゴム部品を、圧縮成形・射出成形の加硫プレスで量産している工場。成形ロットごとに、使った材料のロット、型の温度と加硫の時間、生産の数と検査で見つかった不良の数が2年分以上記録に残っている場合。材料のロットの受入れ検査で粘度や加硫の速さを測っている場合。夏場や材料のロットの替わり目に不良が増え、どのロットの検査を厚くするかを品質管理課の係長の経験で決めている場合。
向いていない
  1. 成形ロットと材料のロットのひも付けが記録に無く、どの材料で作ったかが後から分からない場合。不良の数を日ごとの合計でしか記録しておらず、ロットごとに分けられない場合。品番が少なく、毎日同じ条件・同じ材料で作っていて、不良の率がほとんど動かない場合。なお、製品の合否の判定、出荷の可否、成形の条件の変更、材料のロットの受入れの合否は、この構成では代替できません。

07最小構成で試す方法

  1. 不良の多い品番の系統を1つ選び、直近2年の成形ロットの記録を書き出す
  2. 成形ロットごとに、使った材料のロットの受入れ検査の値と練った日、成形の日の朝の気温を付ける
  3. 第7章の前処理で項目をそろえ、古い1年半で学習し、新しい半年で予測させる
  4. 予測の上位1割のロットに、実際の不良の数の何割が入ったかを数える
  5. 同じ半年で、当時の係長が印を付けたロットにも何割が入ったかを数え、並べる

最初は1つの系統で始めます。 ひも付けの整った系統で、材料の値と練ってからの日数がどれだけ効くかをまず見ます。

出てきた内容判断
上位1割に、係長の印と同じかそれ以上の不良が入る系統を広げ、毎朝の一覧を出す段階に進む
効き方の向きが現場の経験と逆材料のロットのひも付けと、重みの付け方を確かめる
学習の当たりが良すぎて、新しい半年で外れる無作為に分けていないか、検査の後の値を項目に使っていないかを確かめる

2行目は、ほとんどの場合、記録の問題です。 継ぎ足した材料のロットが記録に無いと、別の材料で作ったロットの不良が、記録上の材料のせいになります。

3行目でよくあるのは、検査の後に分かる値を項目に入れていることです。 たとえば「その日のプレスの不良の累計」や「同じ材料のロットのほかの成形ロットの不良の率」は、学習の記録にはそろっていても、朝7時の時点では分かりません。 項目の一覧を作るとき、1つずつ「朝7時に分かるか」を書き添えておくと、この誤りを防げます。

重みを外して同じ確かめをしてみるのも役に立ちます。 重みの有無で上位1割の顔ぶれが大きく変わるなら、小さなロットの率のばらつきに引っ張られていたことが分かり、重みを付ける理由を現場に説明する材料になります。

08実装時につまずきやすいポイント

問題対策
率を重みなしで学ぶ生産の数を sample_weight に渡す。 評価にも同じ重みを渡す
小さなロットの率で上位が埋まる印に「過去の平均の何倍」の条件を重ねる
継ぎ足した材料のロットが記録に無い継ぎ足しの記録の決まりを作る
抜き取りの厚さで不良の見つかり方が変わる不良の数の数え方をそろえる
前の日の気温で予測する学習と予測で同じ「成形の日の朝7時の値」を使う
ロットを無作為に分けて確かめるTimeSeriesSplit で時間の順に分ける
1万件未満で早期終了が効かないX_val・y_val・sample_weight_val を渡す
見込みを条件の変え方として読む関係は因果ではない。 条件を変えるかは生産技術が決める

上の4行が、この構成の失敗のほとんどです。 どれも「何個作って何個不良だったか」を正しく数えることから起きます。ここを押さえれば、残りは時点の扱いの注意で足ります。

5行目と6行目は、作ってすぐには気づけません。 どちらも学習の当たり方を良く見せる方向に働くので、第8章の新しい半年での確かめを省くと、本番の最初の月で外れて初めて分かります。

最後の行は、運用に乗ってから出てくる問題です。 一覧の「主な理由」に型の温度が並ぶと、型の温度を上げたくなります。理由は確かめに行く先で、変える条件ではありません。

09セキュリティ・AIガバナンス上の注意点

この構成で扱うデータ: 成形の条件、材料の配合と受入れ検査の値、不良の数と種類、生産の数です。配合と成形の条件は、ゴム部品の工場の技術の中心で、客先の部品の量産にも関わります。

  1. データを外に出さない … 予測は工場のサーバーの中で動き、生成AIや外部のサービスに記録を送りません
  2. 配合の中身を一覧に載せない … 一覧に載せるのは配合の記号と材料のロットまでにし、配合の成分と比率は載せません
  3. 合否と出荷の判断は人が行う … 見込みの率が低いことを、検査を省く理由にしません。 自動車の部品では、客先と取り決めた検査の方法が優先します
  4. 作業者の評価に使わない … ロットごとの不良の率は、成形の担当者を評価するための値ではありません。 一覧に作業者の名前を載せません
  5. 客先との取り決めを先に確かめる … 検査の方法や抜き取りの数が客先との取り決めで決まっている品番は、取り決めより少ない検査に変えないことを一覧の決まりに書きます

誤りが起きた場合のリスクは、不良の多いロットを見逃すことと、不良の少ないロットに検査の手をかけすぎることの2つです。 前者は時点のずれで当たりが良く見えていると起き、後者は重みの付け忘れで小さなロットが上位を埋めると起きます。どちらも前処理から出ているので、そこだけは設計で守ります。

10まず何から始めるか

1週目:数え方を決める

「不良の数」を何で数えるか(全数の外観の検査か、抜き取りか)、材料のロットを継ぎ足したときにどう記録するかを、品質管理課と成形の係で決めます。

2〜3週目:1つの系統の記録をそろえる

不良の多い品番の系統を1つ選び、直近2年の成形ロットに、材料のロットの受入れ検査の値と練った日、朝の気温と湿度をひも付けます。継ぎ足しの記録が無いロットには印を付けます。

4週目:上位1割で比べる

第8章のとおり、古い1年半で学習し、新しい半年で、予測の上位1割と当時の係長の印のそれぞれに、実際の不良の数の何割が入ったかを比べます。

2か月目: 全部の系統で毎朝の一覧を出す半自動化を始めます。係長はこれまでどおり自分で印を付けながら、一覧と見比べます。3か月目以降: 赤・橙の印と主な理由、材料の回し方の候補を足します。上位1割に入る不良の割合が係長の印と同じかそれ以上の月が続き、係長が休みの日でも担当が一覧で検査の厚さを決められるようになった時点で、この構成は完成です。


11関連ユースケース

12この仕組みを理解するための記事

13技術仕様の確認日・参考情報

技術仕様確認日:2026-10-29/最終更新:2026-11-02
確認した内容情報源確認日
HistGradientBoostingRegressor の loss に poisson があり(0.23で追加)、内部で対数のつなぎ方を使い、目的の値が0以上であることを求めること。fit(X, y, sample_weight=None, *, X_val=None, y_val=None, sample_weight_val=None) の形であること。early_stopping の既定 auto は件数が1万を超えるか X_val・y_val を渡したときに有効になること。categorical_features の既定が from_dtype であること。欠けた値(NaN)を扱えること(scikit-learn 1.9.1)scikit-learn: HistGradientBoostingRegressor2026-10-29
請求の件数を契約の期間で割った頻度を目的の値にし、期間を sample_weight として渡すこと。HistGradientBoostingRegressor(loss="poisson", max_leaf_nodes=128) を比べていること。mean_poisson_deviance に期間を重みとして渡して評価すること。予測の大きさで組に分けて実際の平均と予測の平均を比べること。ローレンツ曲線で並べる力を比べ、木のモデルが線形のモデルより大きく上回ったとしていることscikit-learn: Poisson regression and non-normal loss2026-10-29
TimeSeriesSplit が時間の順に並んだ記録を分けるためのもので、ほかの分け方では未来の記録で学習して過去で確かめることになることscikit-learn: TimeSeriesSplit2026-10-29

製品の合否、出荷の可否、成形の条件の変更、材料の受入れの合否は、工場の品質の決まりと客先との取り決めで決めてください。 本記事は上記の公開情報で確認できた範囲だけを扱っています。

実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。

自社の業務に使えるAI活用候補を整理します

このユースケース(UC-2384)についてのご相談はこちらから。

AI活用について相談する
目次