---
title: "DataRobotユースケース：部品不足が発生するかどうかの予測【技術実装】"
description: "説明の都合上、ここでは大統領エイズ救済緊急計画（PEPFAR）から提供され、Kaggle で一般に公開されているサンプルデータセットを使用します。このデータセットで、サプライチェーンのヘルス商品の出荷および価格設定データがわかります。特に、抗レトロウイルス薬（ARV）と HIV ラボからの支援対象国への出荷を特定できます。加えて、このデータセットには、商品の価格設定情報および商品を他国に出荷して使用するために必要な関連サプライチェーンの費用が含まれています。このチュートリアルではこのデータセットで、製造会社やロジスティクス会社が AI モデルを活用してどのように意思決定プロセスを改善できるかを示します。"
url: "https://www.datarobot.com/jp/blog/predicting-whether-parts-shortages-will-occur-technology-implementation/"
authors:
  - "DataRobot"
published: "2024-09-18"
updated: "2024-09-18"
category: "業界事例"
language: "ja"
---

# DataRobotユースケース：部品不足が発生するかどうかの予測【技術実装】

サプライチェーンネットワークでの部品不足や出荷遅延を予測し、企業が、予測可能な遅延に備えてデータに基づいた是正措置を実施できるようにします。

## データについて

説明の都合上、ここでは大統領エイズ救済緊急計画（PEPFAR）から提供され、[Kaggle](https://www.kaggle.com/divyeshardeshana/supply-chain-shipment-pricing-data?select=SCMS_Delivery_History_Dataset.csv) で一般に公開されているサンプルデータセットを使用します。このデータセットで、サプライチェーンのヘルス商品の出荷および価格設定データがわかります。特に、抗レトロウイルス薬（ARV）と HIV ラボからの支援対象国への出荷を特定できます。加えて、このデータセットには、商品の価格設定情報および商品を他国に出荷して使用するために必要な関連サプライチェーンの費用が含まれています。このチュートリアルではこのデータセットで、製造会社やロジスティクス会社が AI モデルを活用してどのように意思決定プロセスを改善できるかを示します。

## 課題の全体像

このユースケースの**ターゲット変数**は、出荷が遅れるかどうかです（真または偽、1 または 0 などの二値）。ターゲット（*Late\_delivery*）をこのように設定することで、これは**二値分類問題**になります。ターゲット変数の分布は不均衡で、11.4% が 1（遅配）、88.6% が 0（納期遵守）です。

以下に示す**特徴量**は、遅延の予測で重要ないくつかの要素を表しています。特徴量リストは、ベンダーに送られる各注文のすべての情報に及び、最終的には新規注文が発生した場合の遅延の予測にも使用されます。

また、以下に挙げた特徴量以外にも、組織で収集できる遅延関連のデータがあれば、それを加えることをお勧めします。後述しますが、DataRobot は重要な特徴量とそうではない特徴量を、すばやく区別することができます。

これらの特徴量は一般に、組織の ERP システムで使用される**専用のデータソース**に分かれて保存されています。

## サンプル特徴量リスト

| **特徴量名** | **データ型** | **説明** | **データソース** | **例** |
|---|---|---|---|---|
| Supplier name | カテゴリー | 配送品を出荷するベンダーの名前 | 発注書 | Ranbaxy、Sun Pharma 等 |
| Part description | テキスト | 出荷対象の部品/品目の詳細 | 発注書 | 30mg HIV 検査キット、600mg ラミブジンカプセル |
| Order quantity | 数値 | 注文した品目の数量 | 発注書 | 1000、300 等 |
| Line item value | 数値 | 注文した品目の単価 | 発注書 | 0.39、1.33 |
| Scheduled delivery date | 日付 | 注文品目の納品予定日 | 発注書 | 2-Jun-06 |
| Delivery recorded date | 日付 | 注文品目の実際の納品日 | ERP システム | 2-Dec-06 |
| Manufacturing site | カテゴリー | 製造を行ったベンダーの拠点。同じベンダーでも複数の異なる拠点から部品を出荷できるため | 請求書 | インド、Sun Pharma 社 |
| Product Group | カテゴリー | 注文した製品のカテゴリー | 発注書 | HRDT、ARV |
| Mode of delivery | カテゴリー | 部品配送のための搬送方法 | 請求書 | 空輸、陸送 |

## **データの準備**

データセットには調達取引の履歴情報が含まれています。データセットの各分析行は発注された個々の注文を表し、その納品状況を予測する必要があります。すべての注文には納品予定日と実際の納品日があり、この 2 つの日付の差がターゲット変数（*Late\_delivery*）の定義に使用されます。実際の納品日が予定日を過ぎた場合、ターゲット変数の値は 1 となり、それ以外は 0 となります。全体としてデータセットには 10,320 行と、ターゲット変数を含む 26 の特徴量が含まれています。

## モデルトレーニング

DataRobot 機械学習の自動化では、モデリングパイプラインの多くの部分が自動化されます。ニーズに最も適したモデルを見つけるために、大量のモデルを手動でコーディングしてテストする必要はありません。DataRobot によって大量のモデルが自動で実行され、最も精度の高いモデルが数分で検出されます。また、モデルのトレーニングだけでなく、データセットの処理や分割といった、モデリングプロセスに含まれる他のステップも自動化されます。

今回は不均衡なデータセットを処理するので、最も正確なモデルを特定するための最適化指標として、自動的に **LogLoss** の使用が推奨されることに注目してください。それが、間違った予測にペナルティーを科す誤差指標だからです。

このデータセットの場合は、オープンソースの XGboost ライブラリーを使用する教師なし学習機能付きの *Extreme Gradient Boosting Tree Classifier* が、最も精度の高いモデルとして検出されました。

## 結果の解釈

DataRobot はグローバルレベルとローカルレベルの両方でモデルを説明するため、モデルが実際にどのように動作するかを深く理解できます。広い意味でモデルを理解するには、［**特徴量のインパクト**］グラフを調べます。このグラフには、選択したターゲット変数に関してデータセット内の特徴量が相対的な重要度の順に表示されます。DataRobot がこのグラフの表示に使用している手法は、「*順列の重要度*」と呼ばれます。

グラフからわかるように、このモデルが部品出荷の遅れに影響する最も重要な要素として検出したのは、上から順に*梱包価格、国、ベンダー、ベンダー貿易条件、品目保険*となります。

![部品不足が発生するかどうかの予測](https://www.datarobot.com/jp/wp-content/uploads/sites/11/2024/09/%E9%83%A8%E5%93%81%E4%B8%8D%E8%B6%B3%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%99%E3%82%8B%E3%81%8B%E3%81%A9%E3%81%86%E3%81%8B%E3%81%AE%E4%BA%88%E6%B8%AC.png)

ローカルレベルの説明に移動すると、［**予測の説明**］で個々の予測を導き出した上位 10 個の要因を理解できます。これにより、不足する部品ごとの固有の事情に合わせて措置をきめ細かく調整できるようになります。

たとえば、出荷の遅れの最上位の理由がナイジェリアや南アフリカなど特定の国である場合、これらの国のベンダーと連絡を取り、出荷ルート全体を綿密に監視する措置を取れます。

同様に、遅延の上位の理由として特定のベンダーが検出されている場合、それらのベンダーに前もって働き掛け、サプライチェーンネットワークに影響を及ぼすような出荷の遅れを回避するための是正措置を実施できます。 企業は、新しいルールや代替の購買先を組み込んでサプライチェーンプロセスを改善するという意思決定をデータに基づいて行えるようになります。

![部品不足が発生するかどうかの予測２](https://www.datarobot.com/jp/wp-content/uploads/sites/11/2024/09/%E9%83%A8%E5%93%81%E4%B8%8D%E8%B6%B3%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%99%E3%82%8B%E3%81%8B%E3%81%A9%E3%81%86%E3%81%8B%E3%81%AE%E4%BA%88%E6%B8%AC%EF%BC%92.png)

*Part description* のような（データセットに含まれる）テキスト変数については、**ワードクラウド**を調べて、出荷の遅れに強く関連している単語やフレーズを確認できます。テキスト特徴量のモデリングは一般に最も難しく、時間がかかります。DataRobot では、それぞれのテキスト列が個々の分類器として自動的に機能し、tf-idf、n grams などの NLP 手法で直接前処理されます。このケースでは、**nevirapine 10 mg** という表現が含まれる品目がそれ以外の品目に比べて遅延する可能性が高いことがわかります。

![部品不足が発生するかどうかの予測３](https://www.datarobot.com/jp/wp-content/uploads/sites/11/2024/09/%E9%83%A8%E5%93%81%E4%B8%8D%E8%B6%B3%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%99%E3%82%8B%E3%81%8B%E3%81%A9%E3%81%86%E3%81%8B%E3%81%AE%E4%BA%88%E6%B8%AC%EF%BC%93.png)

*部品不足が発生するかどうかの予測３*

## 精度の評価

DataRobot はモデルのパフォーマンスを評価するにあたって、デフォルトで 5 分割交差検定を実行しました。出力された AUC スコア（ROC 曲線）はおよそ 0.82 でした。ホールドアウトセット（表示されないデータ）に対する AUC スコアもおよそ 0.82 のため、モデルの一般化は良好でオーバーフィットしていません。モデルの評価で AUC スコアを調べる理由は、AUC は実際の値を調べるのではなく出力（つまり、出荷遅延の確率）のランク付けを行うからです。下の［リフトチャート］では、データを予測値で並べ替えた場合の予測値（青い線）と実際の値（赤い線）が比較されています。遅延する可能性が高い注文でやや予測値のほうが低くなっていますが、全体としてはモデルのパフォーマンスは良好です。さらに、解決しようとしている問題によっては、選択したモデルの混同行列を確認し、必要な場合は精度と再現率を最適化するために予測のしきい値を調整できます。

![部品不足が発生するかどうかの予測４](https://www.datarobot.com/jp/wp-content/uploads/sites/11/2024/09/%E9%83%A8%E5%93%81%E4%B8%8D%E8%B6%B3%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%99%E3%82%8B%E3%81%8B%E3%81%A9%E3%81%86%E3%81%8B%E3%81%AE%E4%BA%88%E6%B8%AC%EF%BC%94.png)

### 関連ブログ

**部品不足が発生するかどうかの予測[【概要】](https://www.datarobot.com/jp/blog/predicting-whether-parts-shortages-will-occur-overview/)編 / [【ビジネス適用】](https://www.datarobot.com/jp/blog/predicting-whether-parts-shortages-will-occur-business-application-2/)編**
