ダイカストの工場がショットの記録と補修の履歴から Python で金型ごとの不具合の補修が要る時期を予測し、翌月の計画補修に入れる型の候補を出す
ダイカストの金型ごとのショットの記録と補修の履歴、鋳造の条件から、Python の生存時間の分析で「次の不具合の補修までに打てるショットの数」を確率付きで予測します。翌月の生産の計画の日付に置き換え、計画補修に先に入れる型の候補を出します。
- 連携・自動化
- Python
- 対象業界
- 製造
- 対象部門
- 品質管理/生産
- 対象業務
- 台帳・マスタ管理/集計・分析
- 主な課題
- 判断に時間がかかる/属人化している/期限・対応漏れが起きる
- AIで行う処理
- 予測
- 主な効果
- 判断支援/属人化解消/機会損失防止
- 導入難易度
- ★★★★★
- 実装レベル
- 本格構成
- 費用感
- 個別開発(大)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 月末に、保全の担当が生産管理の仕組みから金型ごとの累計のショットの数を書き出す
- 金型の台帳と補修の履歴を開き、型ごとに前の補修からのショットの数を出す
- 係長が型ごとに、過去の割れ方(何ショットでヒートチェックが出たか)と、翌月の生産の計画のショットの数を見比べる
- 「翌月のうちに危ない」と思う型に印を付け、計画補修の候補に挙げる
- 補修の計画の会議で、生産の計画の担当と型替えの予定を合わせ、計画補修の日を決める
- 品質管理課が、製品のバリや焼付きの不良が増えている型を会議で伝え、候補に足す
- 自動月末の夜、Python が生産管理の仕組みの書き出し(型番号ごとの日ごとのショットの数)、補修の履歴、鋳造の条件の表、翌月の生産の計画を読み込む
- 自動型ごとに、前の補修からのショットの数と、補修の区切りごとの記録(打ち切りか不具合か)をそろえる
- 自動学習済みの生存時間のモデルで、型ごとに「いまのショットの数まで不具合が無かった」ことを条件に、この先のショットの数ごとの不具合の補修が要らずに済む確率を出す
- 自動翌月の生産の計画の日ごとのショットの数を積み上げ、確率が80%と50%を下回る見込みの日付を出す
- 自動品質管理課の製品の不良の記録から、直近のバリと焼付きの不良率が上がっている型に印を付ける
- 自動80%を下回る日付が翌月に入る型と、不良率の印の付いた型を並べた候補の一覧を作る
- 人係長が一覧を見て、型の点検の結果と照らし、計画補修の候補を決める
- 人補修の計画の会議で、生産の計画の担当と型替えの予定を合わせ、計画補修の日を決める
各工程の詳しい説明を読む
- 月末に、保全の担当が生産管理の仕組みから金型ごとの累計のショットの数を書き出す
- 金型の台帳と補修の履歴を開き、型ごとに前の補修からのショットの数を出す
- 係長が型ごとに、過去の割れ方(何ショットでヒートチェックが出たか)と、翌月の生産の計画のショットの数を見比べる
- 「翌月のうちに危ない」と思う型に印を付け、計画補修の候補に挙げる
- 補修の計画の会議で、生産の計画の担当と型替えの予定を合わせ、計画補修の日を決める
- 品質管理課が、製品のバリや焼付きの不良が増えている型を会議で伝え、候補に足す
(a)生産の途中で型が割れて急に止まる。 4番で印を付けなかった型が、翌月の半ばに割れることがあります。鋳造機を止めて型を下ろし、代わりの型を探し、補修の係に急ぎで頼むことになり、その日の生産の計画は崩れます。客先への納入が迫った品番だと、休日の出勤で取り戻します。
(b)係長の経験で決まる。 3番の見比べは、係長がそれぞれの型の癖を覚えていることで成り立っています。「この品番の型は8万ショットを超えるとヒートチェックが急に広がる」は、係長の頭の中にしかありません。 係長が異動すると、計画補修の候補の選び方が分からなくなります。
(c)「割れた型」だけを見て寿命を考えている。 過去の割れ方を思い出すとき、思い出すのは割れた型です。割れる前に計画の補修に入れた型が何ショットもっていたかは、記録に残っていても見返されません。 結果として、寿命を短めに見て早めの補修を繰り返す型と、長めに見て割れる型が混在します。
(d)製品の不良の兆しが会議の直前まで伝わらない。 6番の品質管理課の話は、会議の場で初めて出ることが多く、バリや焼付きが増えている型を、ショットの数の見立てと並べて検討する時間がありません。
- 【自動】 月末の夜、Python が生産管理の仕組みの書き出し(型番号ごとの日ごとのショットの数)、補修の履歴、鋳造の条件の表、翌月の生産の計画を読み込む
- 【自動】 型ごとに、前の補修からのショットの数と、補修の区切りごとの記録(打ち切りか不具合か)をそろえる
- 【自動】 学習済みの生存時間のモデルで、型ごとに「いまのショットの数まで不具合が無かった」ことを条件に、この先のショットの数ごとの不具合の補修が要らずに済む確率を出す
- 【自動】 翌月の生産の計画の日ごとのショットの数を積み上げ、確率が80%と50%を下回る見込みの日付を出す
- 【自動】 品質管理課の製品の不良の記録から、直近のバリと焼付きの不良率が上がっている型に印を付ける
- 【自動】 80%を下回る日付が翌月に入る型と、不良率の印の付いた型を並べた候補の一覧を作る
- 【人】 係長が一覧を見て、型の点検の結果と照らし、計画補修の候補を決める
- 【人】 補修の計画の会議で、生産の計画の担当と型替えの予定を合わせ、計画補修の日を決める
7番目で決めるのは係長です。 一覧が出すのは確率と日付の見込みで、型の表面を実際に見た点検の結果のほうが、いまの状態をよく表します。 点検でヒートチェックが広がっていれば、確率が高くても候補に入れます。
5番目の不良率の印は、モデルの中には入れません。 製品の不良は、型が傷み始めてから増えるもので、「いま傷み始めている」ことを示す材料です。 モデルが出す「ショットの数から見た見込み」と、不良率が出す「いまの兆し」を、一覧の上で並べて係長が見ます。
02今回想定するシステム構成
生産管理の仕組み(型番号ごと・日ごとのショットの数) + 金型の台帳と補修の履歴(補修の日、その時点の累計ショット、補修の区分と不具合の種類) + 鋳造の条件の表(型ごとの溶湯の温度・型の温度の設定・サイクルタイム) + 翌月の生産の計画(型番号ごと・日ごとの予定のショットの数) + 品質管理課の不良の記録(型番号ごと・日ごとのバリ・焼付きの数) │ ▼【トリガー】毎月の末日の夜(事務所のパソコンの定時実行) Python(pandas) ├──▶ 補修の区切りごとの記録をそろえる(不具合=事象、計画の補修・使用中=打ち切り) ▼ lifelines(WeibullAFTFitter) │ 型ごとの、いまのショットの数を条件にした、この先のもつ確率の曲線 ▼ Python ── 生産の計画を積み上げ、80%・50%を下回る日付に置き換える ▼ Python ── 不良率の印を並べ、計画補修の候補の一覧を作る ▼ 【人】係長が点検の結果と照らし、会議で計画補修の日を決める
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 実行環境 | Python(pandas・lifelines) | R(survival) |
| 処理エンジン | lifelines の WeibullAFTFitter(打ち切りを含む生存時間の回帰) | lifelines の CoxPHFitter、scikit-survival |
| 集計 | Python(日付への置き換え、不良率の印、候補の一覧) | スプレッドシートの計算式 |
| 保管 | 社内のファイルサーバー(書き出した記録、一覧、予測の記録) | - |
新しく足すのは、Python の処理と、補修の履歴の「補修の区分」と「不具合の種類」の列です。 生産管理の仕組みと生産の計画には書き込みません。この構成が出すのは、型ごとの確率と日付の見込みと、候補の一覧までです。
予測のエンジンに lifelines の WeibullAFTFitter を選んだのは、打ち切りの記録をそのまま扱えるからです。 公式のページでは、事象の列は「事象が起きたら1、打ち切りなら0」とし、fit(df, duration_col, event_col) で学習するとされています。計画の補修で区切られた期間と、いま使っている型の期間を0として入れれば、「少なくともここまではもった」として使われます。
予測には conditional_after を使います。 公式のページでは、予測の関数の conditional_after で、それぞれの対象がすでにどれだけもっているかを指定でき、生存の確率はその時点を条件にした値になるとされています。いま前の補修から6万ショット打っている型なら、「6万ショットまで不具合が無かった」ことを条件に、この先の確率を出せます。
生成AIは使いません。 予測はショットの数の問題で、係長に渡すのは確率と日付の表です。
03どうやって実装するのか
処理の起点を決める
毎月の末日の夜に1回動かします。 補修の計画の会議が翌月の第1営業日の午後なので、係長が朝のうちに一覧を見て、型の点検の結果と照らせる時刻にします。事務所のパソコンの定時実行の仕組み(Windows ならタスク スケジューラ)で Python のスクリプトを起動します。
動かすのは、生産の計画の翌月の分が確定したあとです。 計画が確定していないと、日付への置き換えができません。確定が遅れた月は、前の月の計画の同じ週の数で仮に置き換え、一覧の上に「生産の計画は仮」と印字します。
モデルの作り直しは半年に1回にします。 不具合の補修は月に数件から十数件の規模で、毎月作り直しても学習の材料はほとんど増えません。 作り直す前と後で、直近半年の不具合が「80%の日付より前に起きた割合」を比べ、悪くなっていれば前のモデルのまま使います。
結果の一覧には、作った日時とモデルの作成日を必ず印字します。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| ショットの記録 | 型番号ごと・鋳造機ごと・日ごとのショットの数 | 生産管理の仕組みの書き出し(CSV) |
| 補修の履歴 | 型番号、補修の日、その時点の累計ショット、補修の区分(計画/不具合)、不具合の種類(ヒートチェック・割れ・溶損・焼付き)、補修の内容 | 金型の台帳と補修の履歴 |
| 金型の台帳 | 型番号、品番の系統、型材、製作の日、型の大きさ(鋳造機のトン数の区分)、入れ子の数 | 金型の台帳 |
| 鋳造の条件 | 型ごとの溶湯の温度・型の温度の設定・サイクルタイム・離型剤の吹き付けの時間の設定 | 鋳造の条件の表 |
| 生産の計画 | 翌月の型番号ごと・日ごとの予定のショットの数 | 生産の計画(月次) |
| 不良の記録 | 型番号ごと・日ごとのバリ・焼付き・湯じわの不良の数と、生産の数 | 品質管理課の不良の集計 |
質を決めるのは、補修の履歴の「補修の区分」と「不具合の種類」です。 これが無いと、どの区切りが不具合で、どれが打ち切りかを決められません。多くの工場では、補修の履歴は「補修」「ヒートチェック補修」「窒化」のような自由な書き方で残っています。 導入の最初の仕事は、過去2〜3年分の補修に区分を付け直すことです(第14章)。
ヒートチェックと大きな割れは、分けて持ちます。 ヒートチェックはショットを重ねると少しずつ広がり、大きな割れは急に来ます。 最初は両方を合わせて「不具合の補修」として学習し、件数がたまったら種類ごとにモデルを分けるかを検討します。
鋳造の条件は、設定の値を使います。 実際の鋳造のショットごとの温度の記録があれば精度は上がりますが、ショットごとの記録を型ごとの期間にまとめるには、別の仕組みが要ります。 最初は条件の表の設定の値で始めます。
データの取得方法を決める
| 取るもの | どこから | 何に使うか |
|---|---|---|
| ショットの記録 | 生産管理の仕組みから月に1回 CSV を書き出し、決まったフォルダに置く | 前の補修からのショットの数 |
| 補修の履歴と台帳 | スプレッドシートを CSV で保存する | 区切りごとの記録と、型の項目 |
| 鋳造の条件 | 条件の表を CSV で保存する | 型の項目 |
| 生産の計画 | 翌月の計画を CSV で書き出す | 日付への置き換え |
| 不良の記録 | 品質管理課の集計を CSV で受け取る | 不良率の印 |
ショットの数は、生産管理の仕組みの数と、鋳造機のカウンターの数がずれることがあります。 試し打ちや捨て打ち(型を温めるためのショット)を生産の数に入れない仕組みでは、型が受けた熱の上げ下げの数は、生産の数より多くなります。 どちらで数えるかを最初に決め、型の傷みに合うのは捨て打ちを含めた鋳造機のカウンターの数であることが多いので、取れるならそちらを使います。
型番号は、補修の履歴と生産管理の仕組みで書き方がそろっているかを最初に確かめます。 「D-1203-2」と「D1203-02」のような違いがあると、ショットの数が型に結び付きません。対応の表を作っておきます。
AIへ渡す前に整形する
- 補修の区切りをつくる … 型ごとに、新しく使い始めた日または前の補修の日から、次の補修の日までを1つの区切りとします
- 区切りの長さをショットの数にする … その区切りのあいだの、捨て打ちを含めたショットの数を足します
- 事象を付ける … 次の補修が不具合の補修なら1、計画の補修なら0(打ち切り)、まだ使っている型の最後の区切りも0(打ち切り)とします
- 型の項目を付ける … 品番の系統、型材、型の大きさの区分、入れ子の数、鋳造の条件の設定、区切りの始まりの時点の累計ショット、それまでの不具合の補修の回数
- 区分を数の列にする … 品番の系統と型材は、ダミーの列(0と1の列)にします
- 予測の対象をつくる … いま使っている型ごとに、前の補修からのショットの数を
conditional_afterの値として持ちます
3番目が、この構成の肝です。 計画の補修で区切られた期間を「不具合が起きた」として1にすると、計画の補修を早めに入れる型ほど寿命が短く出て、さらに早めの補修を勧めることになります。逆に、計画の補修の期間を学習から外すと、第1章のとおり丈夫な型が抜け落ちます。0として入れることが、この記録を正しく使う唯一の方法です。
4番目の「区切りの始まりの累計ショット」は、型の年齢です。 同じ型でも、新しいうちは長くもち、補修を重ねるごとに次までのショットの数が短くなるのが普通です。年齢と補修の回数を項目に入れると、その傾きをモデルが拾えます。
型の更新(新しく作り直した型)は、型番号が同じでも別の型として扱います。 台帳に「2代目」のように書いてあれば、そこで年齢を0に戻します。
AIに処理させる
させるのは、型ごとに「いまのショットの数まで不具合が無かった」ことを条件に、この先のショットの数ごとの、不具合の補修が要らずに済む確率の曲線を出すことだけです。
| 出すもの | 作り方 | 使いみち |
|---|---|---|
| この先のもつ確率の曲線 | predict_survival_function に conditional_after を渡す | 日付への置き換えの元 |
| 80%を下回るショットの数 | 曲線が0.8を下回る最初の点 | 計画補修の候補の線 |
| 50%を下回るショットの数 | 曲線が0.5を下回る最初の点 | 遅くともここまでに、の目安 |
| 80%・50%の日付 | 翌月の生産の計画のショットの数を日ごとに積み上げて当てる | 型替えの予定と並べる |
80%の線は、「この時点までに5回に1回は不具合の補修が要る」ことを表します。 計画補修の候補にするかは、この日付が翌月に入るかで決めます。線の高さは係長と生産の計画の担当で決めます。 急な停止が客先への納入に響く品番の型は、90%の線にしてもかまいません。
| 一覧の印 | 決め方 | 係長の動き |
|---|---|---|
| 赤 | 80%の日付が翌月の前半に入る | 点検の結果を見て、翌月前半の型替えに合わせた計画補修を検討 |
| 橙 | 80%の日付が翌月の後半に入る、または不良率の印 | 点検を早め、翌月後半の型替えに合わせるかを検討 |
| - | 80%の日付が翌々月以降 | これまでどおりの点検 |
| させないこと | 理由 |
|---|---|
| 型の点検の合否 | 表面の状態は点検で見る。ショットの数の見込みは点検の代わりにならない |
| 補修の方法の決定(溶接・研磨・窒化・入れ子の交換) | 型の状態と型屋との相談で決める |
| 計画補修の日の決定 | 型替えの予定、補修の係の段取り、納入の期日で決める |
| 型の割れによる安全の判断 | 割れの恐れがある型を使い続けるかは、現場の安全の判断 |
| 不良率の上がりの原因の特定 | 型の傷みか、条件のずれか、溶湯の質かは、品質管理課が調べる |
4行目は、とくに気を付けてください。 確率が低い型でも、点検で大きな割れが見つかれば、使い続けてはいけない場合があります。確率の高さを、点検で見つかった割れを使い続ける理由にしないでください。 高い圧力で溶湯を押し込む型の割れは、作業者の安全に関わります。
指示内容を固定する
生成AIを使わないので、プロンプトはありません。 かわりに、学習と日付への置き換えの中身を示します。
from lifelines import WeibullAFTFitter
import numpy as np
COLS = ["shots", "event", "age_kshots", "past_defect_repairs",
"melt_temp", "die_temp_set", "cycle_sec", "spray_sec",
"insert_count", "family_A", "family_B", "steel_X"] # family_*・steel_* はダミーの列
aft = WeibullAFTFitter(penalizer=0.01)
aft.fit(intervals[COLS], duration_col="shots", event_col="event")
aft.print_summary() # 項目ごとの効き方の向きを、係長の経験と照らす
grid = np.arange(0, 120_001, 500) # この先のショットの数(500ショット刻み)
sf = aft.predict_survival_function(
current[COLS[2:]], times=grid,
conditional_after=current["shots_since_repair"])
def first_below(curve, level):
hit = np.where(curve.values < level)[0]
return grid[hit[0]] if len(hit) else None # None は「計画の範囲では下回らない」
current["remain80"] = [first_below(sf[c], 0.8) for c in sf.columns]
current["remain50"] = [first_below(sf[c], 0.5) for c in sf.columns]
print_summary() で、項目ごとの効き方の向きを最初に確かめます。 型の温度の設定が高いほど寿命が短い、補修の回数が多いほど短い、といった向きが係長の経験と逆なら、区分の付け直しか、型番号の結び付けに誤りがあることが多いです。
日付への置き換えは、翌月の生産の計画の日ごとのショットの数を積み上げ、remain80 を超える最初の日を探すだけです。 計画にその型の生産が無い日は、ショットが増えないので日付も進みません。翌月にその型を使う予定が無ければ、一覧には「翌月の使用なし」と出します。
Cox のモデル(CoxPHFitter)ではなくワイブルの AFT を本命にしているのは、ショットの数の先の曲線をそのまま出せるからです。 型の傷みはショットを重ねるほど進むので、寿命の分布の形を決めて置くワイブルが合いやすいと考えます。両方を学習し、第8章の過去の月で当たり方が良いほうを使うのが確実です。
曲線の点を自分で探しているのは、意味をはっきりさせるためです。 「確率が0.8を下回る最初のショットの数」と書いておけば、係長にも「5回に1回は要る」という読み方で説明できます。
出力形式を固定する
係長に渡すのは、次の一覧です。 印刷して会議の前に見ることを前提にします。
【2026年11月分 計画補修の候補(10/31 23:10 作成/モデル作成 2026-07-01)】
| 印 | 型番号 | 品番の系統 | 前の補修から | 80%の日付 | 50%の日付 | 翌月の予定ショット | 不良率の印 | 過去の不具合 |
|---|---|---|---|---|---|---|---|---|
| 赤 | D-1203-2 | ミッションケース | 61,400 | 11/9 | 11/27 | 18,200 | - | ヒートチェック2回 |
| 橙 | D-0871-1 | オイルパン | 38,900 | 11/21 | 12月以降 | 9,600 | バリ 3週連続で上昇 | 溶損1回 |
| - | D-1455-1 | ブラケット | 12,300 | 12月以降 | 12月以降 | 22,000 | - | なし |
「80%の日付」と型替えの予定を並べて、係長が計画補修の日を考えます。 赤の D-1203-2 は11月9日ごろまでに5回に1回は不具合の補修が要る見込みで、その前の型替えの機会に計画補修を入れるかを、点検の結果と照らして決めます。
表の一番下には、注意の印を並べます。 補修の履歴の区分が空の型には「区分未入力」、量産を始めて最初の区切りの型には「履歴が短い」、生産の計画が仮の月には「計画は仮」を出します。
機械で読む用には、同じ内容を CSV でも残します。 列は、型番号、前の補修からのショットの数、80%と50%のショットの数と日付、印、不良率の印、モデルの作成日です。翌月に、実際の補修と並べて当たり方を見るのは、この CSV です。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 生産管理の仕組み | 月に1回、型番号ごと・日ごとのショットの数を CSV で書き出す | ショットの記録 |
| 金型の台帳と補修の履歴 | スプレッドシートを CSV で保存して読む | 区切りと型の項目 |
| 生産の計画 | 翌月の計画を CSV で書き出す | 日付への置き換え |
| 品質管理課の不良の集計 | 週次の集計を CSV で受け取る | 不良率の印 |
| 補修の計画と生産の計画 | 書き込まない(会議で決めてから担当が入れる) | - |
生産の計画には書き込みません。 計画補修の日は、型替えの予定と納入の期日を合わせて会議で決めるもので、一覧の日付をそのまま計画に入れると、点検の結果を見ないまま補修の日が決まります。
人が確認する
- 作った日時とモデルの作成日を見る … 一覧の上の日付が前の月の末日であることを確かめます
- 赤と橙の型の点検の結果を照らす … 直近の点検でヒートチェックがどこまで広がっているかを見ます
- 不良率の印を品質管理課と確かめる … 不良の増えが型の傷みか、条件のずれかを聞きます
- 計画補修の候補を決める … 型替えの予定と補修の係の段取りを見て、会議に出す候補を決めます
2番目で、点検の結果が一覧と食い違ったら、点検の結果を優先します。 一覧で赤でも表面がきれいなら見送り、一覧で印が無くても割れが見つかれば候補に入れます。 食い違った型と理由は記録に残します。
目標は、90面をならして1件4分です。 印の無い型は一覧で流し見るだけで、時間を使うのは赤と橙の型の点検の結果を照らすところです。
例外に対処する
| 起きること | 対応 |
|---|---|
| 補修の履歴の区分が空 | その区切りを学習から外し、一覧に「区分未入力」と出す |
| 型番号が生産管理の仕組みと結び付かない | 対応の表を直すまで、その型は一覧に「ショットの記録なし」と出す |
| 量産を始めたばかりで履歴が短い | 品番の系統と型材の効き方から予測し、「履歴が短い」と出す |
| 翌月の生産の計画が未確定 | 前の月の計画の同じ週の数で仮に置き換え、「計画は仮」と印字 |
| 翌月にその型を使う予定が無い | 日付は出さず、「翌月の使用なし」と出す |
| 型を作り直した(2代目) | 別の型として年齢を0に戻す |
| 作り直したモデルが前より外れる | 前のモデルのまま使い、作り直しの記録を残す |
| 動かなかった(パソコンの停止など) | 担当が手で実行する。作った日付の古い一覧は使わない |
1行目は、導入の初めにいちばん多く出ます。 区分の付け直しが終わっていない型は、学習にも予測にも使えません。区分未入力の型が多い品番から、付け直しを進めます。
記録を残す
- 実行の日時、使ったモデルの作成日、読み込んだ記録の期間
- 型ごとの前の補修からのショットの数、80%・50%のショットの数と日付、印、不良率の印
- 係長が候補に入れた・見送った型と、点検の結果と理由
- 実際の補修(日付、計画か不具合か、不具合の種類、その時点のショットの数)
- 半年ごとの当たり方(不具合が80%の日付より前に起きた割合、50%の日付より前に起きた割合)と、モデルの作り直しの結果
3つ目と4つ目を並べると、点検の結果と一覧のどちらが当たったかが分かります。 係長が見送った赤の型が翌月に割れていれば、点検で見落とした傷みの出方を、点検の手順に足す材料になります。
80%の日付より前に起きた不具合の割合が、2割前後なら曲線は合っています。 大きく上回るなら、モデルが寿命を長く見すぎています。
04実装レベルの3段階
本記事の想定は本格構成です。 半自動化ではショットの数の一覧までで、係長はまだ生産の計画を開いて、日付に直す作業をしています。 半自動化で1件12分が7分ほどに、本格構成で4分になります。 差が大きいのは、日付への置き換えと不良率との突き合わせが、規則があれば機械で出せる作業だからです。 段階を飛ばさないでください。 半自動化の一覧を半年使うと、どの品番の系統で当たり、どこで外れるかが分かります。外れる系統の補修の履歴を直してから、本格構成に進みます。 本格構成の先には、ショットごとの記録を使う形も考えられます。 鋳造機が型の温度や鋳造の圧力をショットごとに残しているなら、区切りごとの平均や、設定から外れたショットの数を項目に足せます。ただし、区切りの途中の記録を使うと時点がずれやすいので、 予測の時点までの記録だけで作ることを守ります。
05工数削減シミュレーション
導入後 90件 × 4分 ÷ 60 = 6 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 自動車部品・二輪・産業機械の部品をアルミや亜鉛のダイカストで量産し、数十から百ほどの金型を自社で持って、型の補修を自社の型の保全の係か外の型屋で行っている工場。鋳造機の生産の実績から金型ごとのショットの数が分かり、補修の履歴が金型ごとに2〜3年分残っている場合。生産の途中で型が割れて急に止まり、型替えと補修の段取りが後追いになることが続いていて、計画補修に入れる型を保全の係長の経験で決めている場合。
- 金型が数面しかなく、保全の係が全部の型の様子を把握できている場合。補修の履歴が紙の台帳に「補修」とだけ書かれていて、不具合の種類と計画の補修の別が付けられない場合。金型を客先が持ち、補修の時期を客先が決めている場合。なお、型の点検での合否、補修の方法の決定、型の割れによる安全の判断は、この構成では代替できません。
07最小構成で試す方法
- 補修の履歴から、量産の数が多い品番の系統を1つ選び、その型の過去3年分の補修に区分を付ける
- 生産管理の仕組みから、その型の日ごとのショットの数を書き出す
- 第7章の前処理で区切りをつくり、まず Kaplan-Meier の曲線(lifelines の KaplanMeierFitter)で、区切りの長さの分布を描く
- 2年目までで WeibullAFTFitter を学習し、3年目の各月の初めの時点で予測させる
- 3年目に実際に起きた不具合の補修と、当時の係長の候補と並べる
最初に Kaplan-Meier の曲線を描くのは、打ち切りを入れた分布と、割れた型だけの平均を比べるためです。 公式のページでは、fit(T, event_observed=E) の E が事象が観測されたかを表すとされています。割れた型だけの平均より、打ち切りを入れた中央の寿命のほうが長く出れば、第3章の(c)が数字で確かめられたことになります。
| 出てきた内容 | 判断 |
|---|---|
| 赤の型が、係長の候補と同じかそれ以上に当時の不具合を拾う | 品番の系統を広げ、毎月の一覧を出す段階に進む |
| 効き方の向きが係長の経験と逆 | 区分の付け直しと型番号の結び付けを確かめる |
| 当たりが良すぎる | 計画の補修を1として入れていないか、区切りの数え方を確かめる |
2行目は、ほとんどの場合、記録の問題です。 計画の補修と不具合の補修が混ざっていると、効き方の向きが逆に出ます。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 割れた型だけで寿命を見積もる | 計画の補修と使用中の型を打ち切り(0)として入れる |
| 計画の補修を不具合(1)として入れる | 区分を付け直し、計画の補修は0にする |
| いまのショットの数を条件にしない | conditional_after に前の補修からのショットの数を渡す |
| 生産の数で数えて捨て打ちが抜ける | 取れるなら鋳造機のカウンターの数を使う |
| 型番号の書き方がそろわない | 対応の表を作り、結び付かない型を一覧に出す |
| 作り直した型を同じ型として扱う | 2代目は年齢を0に戻す |
| 不良率をモデルに入れて時点がずれる | 不良率は一覧の印として並べ、モデルの外に置く |
| 一覧で印が無いことを点検を省く理由にする | 点検の結果を優先する |
| 確率を「割れる時期」と読む | 80%の日付は「5回に1回は要る」時点と説明する |
上の3行が、この構成の失敗のほとんどです。 どれも打ち切りの記録をどう扱うかから起きます。ここを押さえれば、残りは記録の整え方の注意で足ります。
下の2行は、運用で出てくる問題です。 一覧が会議の資料として定着すると、印の無い型の点検が軽くなりがちです。一覧は点検の代わりではなく、点検を早める型を選ぶ材料です。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 金型ごとのショットの数、補修の履歴、鋳造の条件の設定、生産の計画、製品の不良の数です。鋳造の条件と生産の計画は、客先の部品の量産に関わる技術と取引の情報です。
- データを外に出さない … 予測は社内のパソコンの中で動き、生成AIや外部のサービスに記録を送りません
- 客先の情報を一覧に載せすぎない … 一覧に載せるのは型番号と品番の系統までにし、客先の名前や部品の図面の番号は載せません。 一覧は会議の資料として社内で回るためです
- 点検と安全の判断は人が行う … 型の割れは作業者の安全に関わります。確率が低いことを、点検で見つかった割れを使い続ける理由にしないでください
- 補修の方法は型の状態で決める … 一覧はいつ補修するかの材料で、溶接か入れ子の交換かといった方法は、型の状態と型屋との相談で決めます
- 客先が持つ型の扱いを確かめる … 客先が持つ型(貸与の型)の補修の時期や方法に客先の取り決めがあれば、一覧の候補より取り決めを優先します
誤りが起きた場合のリスクは、割れる型を見逃して生産の途中で止まることと、まだもつ型を早めに補修して補修の手間と型の寿命を無駄にすることの2つです。 前者は打ち切りを誤って寿命を長く見ると起き、後者は計画の補修を不具合として入れると起きます。どちらも区分の付け方から出ているので、そこだけは設計で守ります。
10まず何から始めるか
1週目:補修の区分を決める
「計画の補修」「不具合の補修」の区分と、不具合の種類(ヒートチェック・割れ・溶損・焼付き)の決め方を、係長と品質管理課で決めます。「窒化の掛け直し」「定期の研磨」は計画、「割れによる溶接」「焼付きの除去」は不具合、のように具体的に並べます。
2〜3週目:1つの品番の系統に区分を付ける
量産の数が多い品番の系統を1つ選び、その型の過去3年分の補修に区分を付けます。あわせて、型番号の対応の表と、捨て打ちを含めたショットの数の取り方を決めます。
4週目:Kaplan-Meier の曲線を描く
第8章のとおり、打ち切りを入れた曲線と、割れた型だけの平均を比べます。打ち切りを入れたほうが寿命が長く出るかを、係長と一緒に見ます。
2か月目: WeibullAFTFitter で過去の月の当たり方を確かめ、効き方の向きを係長の経験と照らします。3か月目以降: 全部の型の補修に区分を付け、毎月の一覧を出す半自動化を始めます。係長はこれまでどおり自分で候補を選びながら、一覧と見比べます。生産の計画で日付に置き換え、不良率の印を並べ、不具合の補修の件数が前の年より減り、係長が一覧と点検の結果だけで候補を決められるようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
WeibullAFTFitter を fit(df, duration_col, event_col) で学習し、事象の列は事象が起きたら1・打ち切りなら0とすること。predict_survival_function・predict_median・predict_percentile などの予測の関数があること。予測の関数の conditional_after でそれぞれの対象がすでにもった時間を指定でき、その時点を条件にした値になること。penalizer を指定できること。CoxPHFitter に比例ハザードの仮定を確かめる check_assumptions があること | lifelines: Survival Regression | 2026-10-28 |
WeibullAFTFitter の predict_percentile などの予測の関数が conditional_after の引数を持つこと | lifelines: WeibullAFTFitter | 2026-10-28 |
KaplanMeierFitter を fit(T, event_observed=E) で学習し、E が事象が観測されたかを表すこと。median_survival_time_ で中央の生存時間を出せること。pip install lifelines で入れられること | lifelines: Quickstart | 2026-10-28 |
型の点検の合否、補修の方法、型の割れによる安全の判断は、工場の判断で行ってください。 本記事は上記の公開情報で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-2224)についてのご相談はこちらから。
