ゼファーネットのロゴ

Amazon Forecast を使用して半導体の新製品と既存製品の売上を予測する

日付:

これは、NXP SEMICONDUCTORS NV と AWS Machine Learning Solutions Lab (MLSL) による共同投稿です。

機械学習 (ML) は、幅広い業界で使用されており、データから実用的な洞察を抽出してプロセスを合理化し、収益を向上させています。 この投稿では、半導体セクターの業界リーダーである NXP が、 AWS 機械学習ソリューション ラボ (MLSL) ML 手法を使用して、 NXP 長期的な投資収益率 (ROI) を最大化するための研究開発 (R&D) 予算。

NXP は、R&D の取り組みを主に新しい半導体ソリューションの開発に向けており、そこでは大きな成長の機会が見られます。 市場の成長に追いつくために、NXP は研究開発に投資して市場をリードする地位を拡大または創出し、急成長している大規模な市場セグメントに重点を置いています。 この取り組みのために、彼らは、さまざまな素材グループと事業分野にわたる新製品と既存製品の月間売上予測を作成しようとしました。 この投稿では、MLSL と NXP がどのように採用されたかを示します。 アマゾン予測 およびさまざまな NXP 製品の長期的な販売予測のためのその他のカスタム モデル。

「私たちは Amazon Machine Learning Solutions Lab の科学者と専門家のチームと協力して、新製品の売上を予測するためのソリューションを構築し、R&D 支出を最適化するための意思決定プロセスに情報を提供するのに役立つ追加機能があるかどうか、どの追加機能が役立つかを理解しました。 わずか数週間で、チームは複数のソリューションと分析を、いくつかのビジネス ライン、材料グループ、および個々の製品レベルで提供しました。 MLSL は、手動予測の現在の方法を補完する販売予測モデルを提供し、Amazon Forecast と Amazon SageMaker を使用した新しい機械学習アプローチで製品ライフサイクルをモデル化するのに役立ちました。 私たちのチームとの共同ワークストリームを常に維持しながら、MLSL は、AWS インフラストラクチャを使用した ML 開発に関する科学的卓越性とベストプラクティスに関して、専門家のスキルアップを支援してくれました。」

– Bart Zeeman、NXP Semiconductors の CTO オフィスのストラテジスト兼アナリスト。

目標とユースケース

NXP と MLSL チーム間のエンゲージメントの目標は、さまざまな最終市場における NXP の全体的な売上を予測することです。 一般に、NXP チームは、複数のマテリアル グループ (MAG) を含むさまざまなビジネス ライン (BL) の販売を含むマクロ レベルの販売に関心があります。 さらに、NXP チームは、新しく導入された製品の製品ライフサイクルの予測にも関心を持っています。 製品のライフサイクルは、XNUMX つの異なるフェーズ (導入、成長、成熟、衰退) に分けられます。 製品ライフサイクルの予測により、NXP チームは各製品によって生み出された収益を特定し、R&D 資金を、最大の売上高を生み出す製品、または R&D 活動の ROI を最大化する可能性が最も高い製品にさらに割り当てることができます。 さらに、ミクロレベルで長期的な売上を予測できるため、時間の経過とともに収益がどのように変化するかをボトムアップで確認できます。

次のセクションでは、長期的な売上予測のための堅牢で効率的なモデルの開発に関連する主な課題を示します。 さらに、目的の精度を達成するために使用されるさまざまなモデリング手法の背後にある直感について説明します。 次に、最終モデルの評価を提示します。ここでは、販売予測に関して提案されたモデルのパフォーマンスを NXP の市場専門家と比較します。 また、最先端の点群ベースの製品ライフサイクル予測アルゴリズムのパフォーマンスも実証します。

課題

製品レベルのモデルなどの細粒度またはミクロレベルのモデリングを販売予測に使用する際に直面した課題の 2026 つは、販売データの欠落でした。 欠落しているデータは、毎月の売上が不足しているためです。 同様に、マクロレベルの売上予測では、過去の売上データの長さが制限されていました。 欠落している売上データと限られた長さの過去の売上データの両方が、140 年までの長期的な売上予測のモデル精度に関して大きな課題をもたらします。探索的データ分析 (EDA) で観察したところ、ミクロレベルの売上 (製品レベル) からマクロ レベルの売上 (BL レベル) に移行すると、欠損値の有意性は低くなります。 ただし、過去の販売データの最大長 (最大長 XNUMX か月) は、モデルの精度に関して依然として大きな課題をもたらしました。

モデリング手法

EDA の後、NXP の最大のエンド マーケットの XNUMX つ (自動車エンド マーケット) の BL および MAG レベルと製品レベルでの予測に焦点を当てました。 ただし、当社が開発したソリューションは、他のエンド マーケットに拡張することができます。 BL、MAG、または製品レベルでのモデリングには、モデルのパフォーマンスとデータの可用性に関して、それぞれ長所と短所があります。 次の表は、各レベルの長所と短所をまとめたものです。 マクロレベルの売上予測のために、最終的なソリューションとして Amazon Forecast AutoPredictor を採用しました。 同様に、マイクロレベルの売上予測のために、点群ベースの新しいアプローチを開発しました。

マクロ売上予測(トップダウン)

長期的な売上高 (2026 年) をマクロ レベルで予測するために、Amazon Forecast、GluonTS、N-BEATS (GluonTS および PyTorch で実装) など、さまざまな方法をテストしました。 全体として、Forecast は、マクロ レベルの売上予測のためのバックテスト アプローチ (この投稿の後半の評価指標セクションで説明) に基づく他のすべての方法よりも優れていました。 また、AutoPredictor の精度を人間の予測と比較しました。

また、N-BEATS の解釈特性から、N-BEATS の使用も提案しました。 N-BEATS は、非常にシンプルだが強力なアーキテクチャに基づいており、予測用に積み上げられた残余ブロックを備えた残余接続を使用するフィードフォワード ネットワークのアンサンブルを使用します。 このアーキテクチャは、そのアーキテクチャ内の帰納的バイアスをさらにエンコードして、時系列モデルが傾向と季節性を抽出できるようにします (次の図を参照)。 これらの解釈は、PyTorch 予測を使用して生成されました。

マイクロ売上予測 (ボトムアップ)

このセクションでは、コールド スタート製品を考慮しながら、次の図に示す製品ライフサイクルを予測するために開発された新しい方法について説明します。 PyTorch を使用してこのメ​​ソッドを実装しました Amazon SageMakerスタジオ. まず、点群ベースの方法を導入しました。 この方法では、最初に販売データをポイント クラウドに変換します。各ポイントは、製品の特定の使用年数での販売データを表します。 点群ベースのニューラル ネットワーク モデルは、このデータを使用してさらにトレーニングされ、製品ライフサイクル カーブのパラメーターを学習します (次の図を参照)。 このアプローチでは、製品のライフサイクル曲線を予測するためのコールド スタートの問題に対処するための言葉の袋としての製品説明など、追加の機能も組み込みました。

点群ベースの製品ライフサイクル予測としての時系列

製品ライフサイクルとマイクロレベルの売上予測を予測するための新しい点群ベースのアプローチを開発しました。 また、コールド スタート製品ライフサイクル予測のモデル精度をさらに向上させる追加機能も組み込みました。 これらの機能には、製品製造技術および製品に関連するその他の関連カテゴリ情報が含まれます。 このような追加データは、製品が市場にリリースされる前 (コールド スタート) であっても、モデルが新製品の売上を予測するのに役立ちます。 次の図は、点群ベースのアプローチを示しています。 このモデルは、正規化された売上と製品の経過年数 (製品が発売されてからの月数) を入力として受け取ります。 これらの入力に基づいて、モデルは勾配降下法を使用してトレーニング中にパラメーターを学習します。 予測段階では、ライフサイクルを予測するために、パラメーターとコールド スタート製品の機能が使用されます。 製品レベルのデータに多数の欠損値があるため、既存の時系列モデルのほぼすべてに悪影響が及びます。 この新しいソリューションは、ライフサイクル モデリングのアイデアに基づいており、時系列データを点群として扱い、欠損値を軽減します。

次の図は、ポイント クラウド ベースのライフサイクル メソッドが欠落しているデータ値にどのように対処し、非常に少ないトレーニング サンプルで製品ライフサイクルを予測できるかを示しています。 X 軸は時代を表し、Y 軸は製品の売上を表します。 オレンジ色の点はトレーニング サンプルを表し、緑色の点はテスト サンプルを表し、青色の線はモデルによって予測された製品のライフサイクルを示しています。

方法論

マクロレベルの売上を予測するために、他の手法の中でもとりわけ Amazon Forecast を採用しました。 同様に、マイクロ セールスでは、最先端のポイント クラウド ベースのカスタム モデルを開発しました。 予測は、モデルのパフォーマンスに関して他のすべての方法よりも優れていました。 Amazon SageMaker ノートブック インスタンスを使用して、Amazon Simple Storage Service (Amazon S3) からトレーニング例を抽出するデータ処理パイプラインを作成しました。 トレーニング データは、Forecast の入力としてさらに使用され、モデルをトレーニングして長期的な売上を予測しました。

Amazon Forecast を使用した時系列モデルのトレーニングは、3 つの主なステップで構成されます。 最初のステップでは、履歴データを Amazon SXNUMX にインポートしました。 次に、履歴データを使用して予測子をトレーニングしました。 最後に、トレーニング済みの予測子をデプロイして予測を生成しました。 このセクションでは、各ステップのコード スニペットとともに詳細な説明を提供します。

まず、最新の販売データを抽出することから始めました。 このステップには、データセットを正しい形式で Amazon S3 にアップロードすることが含まれていました。 Amazon Forecast は、タイムスタンプ、item_id、および target_value (販売データ) の 3 つの列を入力として受け取ります。 タイムスタンプ列には販売時刻が含まれており、時間単位、日単位などの形式でフォーマットできます。 item_id 列には販売されたアイテムの名前が含まれ、target_value 列には売上値が含まれます。 次に、Amazon S3 にあるトレーニング データのパスを使用し、時系列データセットの頻度 (H、D、W、M、Y) を定義し、データセット名を定義し、データセットの属性を特定しました (それぞれの列をデータセットとそのデータ型)。 次に、BotoXNUMX API から create_dataset 関数を呼び出して、Domain、DatasetType、DatasetName、DatasetFrequency、Schema などの属性を持つデータセットを作成しました。 この関数は、Amazon リソースネーム (ARN) を含む JSON オブジェクトを返しました。 この ARN は、その後、次の手順で使用されました。 次のコードを参照してください。

dataset_path = "PATH_OF_DATASET_IN_S3"
DATASET_FREQUENCY = "M" # Frequency of dataset (H, D, W, M, Y) TS_DATASET_NAME = "NAME_OF_THE_DATASET"
TS_SCHEMA = { "Attributes":[ { "AttributeName":"item_id", "AttributeType":"string" }, { "AttributeName":"timestamp", "AttributeType":"timestamp" }, { "AttributeName":"target_value", "AttributeType":"float" } ]
} create_dataset_response = forecast.create_dataset(Domain="CUSTOM", DatasetType='TARGET_TIME_SERIES', DatasetName=TS_DATASET_NAME, DataFrequency=DATASET_FREQUENCY, Schema=TS_SCHEMA) ts_dataset_arn = create_dataset_response['DatasetArn']

データセットが作成された後、Boto3 を使用して Amazon Forecast にインポートされました。 create_dataset_import_job 関数。 ザ create_dataset_import_job 関数は、ジョブ名 (文字列値)、前のステップからのデータセットの ARN、前のステップからの Amazon S3 のトレーニング データの場所、およびタイムスタンプ形式を引数として受け取ります。 インポートジョブの ARN を含む JSON オブジェクトを返します。 次のコードを参照してください。

TIMESTAMP_FORMAT = "yyyy-MM-dd"
TS_IMPORT_JOB_NAME = "SALES_DATA_IMPORT_JOB_NAME" ts_dataset_import_job_response = forecast.create_dataset_import_job(DatasetImportJobName=TS_IMPORT_JOB_NAME, DatasetArn=ts_dataset_arn, DataSource= { "S3Config" : { "Path": ts_s3_path, "RoleArn": role_arn } }, TimestampFormat=TIMESTAMP_FORMAT, TimeZone = TIMEZONE) ts_dataset_import_job_arn = ts_dataset_import_job_response['DatasetImportJobArn']

次に、インポートされたデータセットを使用して、create_dataset_group 関数を使用してデータセット グループを作成しました。 この関数は、ドメイン (予測のドメインを定義する文字列値)、データセット グループ名、およびデータセット ARN を入力として受け取ります。

DATASET_GROUP_NAME = "SALES_DATA_GROUP_NAME"
DATASET_ARNS = [ts_dataset_arn] create_dataset_group_response = forecast.create_dataset_group(Domain="CUSTOM", DatasetGroupName=DATASET_GROUP_NAME, DatasetArns=DATASET_ARNS) dataset_group_arn = create_dataset_group_response['DatasetGroupArn']

次に、データセット グループを使用して予測モデルをトレーニングしました。 Amazon Forecast は、さまざまな最先端のモデルを提供します。 これらのモデルはどれもトレーニングに使用できます。 AutoPredictor をデフォルト モデルとして使用しました。 AutoPredictor を使用する主な利点は、入力データセットに基づく 3 つの最先端モデルの集合から最適なモデルを使用して、項目レベルの予測を自動的に生成することです。 BotoXNUMX API は、 create_auto_predictor 自動予測モデルをトレーニングするための関数。 この関数の入力パラメータは次のとおりです。 予測子名, 予測ホライズン, 予測頻度. ユーザーは、予測期間と頻度を選択する責任もあります。 予測期間は、将来の予測のウィンドウ サイズを表し、時間、日、週、月などでフォーマットできます。 同様に、予測頻度は、時間単位、日単位、週単位、月単位、年単位など、予測値の粒度を表します。 私たちは主に、さまざまな BL での NXP の月間売上の予測に焦点を当てました。 次のコードを参照してください。

PREDICTOR_NAME = "SALES_PREDICTOR"
FORECAST_HORIZON = 24
FORECAST_FREQUENCY = "M" create_auto_predictor_response = forecast.create_auto_predictor(PredictorName = PREDICTOR_NAME, ForecastHorizon = FORECAST_HORIZON, ForecastFrequency = FORECAST_FREQUENCY, DataConfig = { 'DatasetGroupArn': dataset_group_arn }) predictor_arn = create_auto_predictor_response['PredictorArn']

次に、トレーニングされた予測子を使用して予測値を生成しました。 予測は、 作成_予測 以前にトレーニングされた予測子からの関数。 この関数は、予測の名前と予測子の ARN を入力として受け取り、予測子で定義された期間と頻度の予測値を生成します。

FORECAST_NAME = "SALES_FORECAST" create_forecast_response = forecast.create_forecast(ForecastName=FORECAST_NAME, PredictorArn=predictor_arn)

Amazon Forecast は、トレーニングとテストのデータセットを自動的に生成し、モデルによって生成された予測の信頼性を評価するためのさまざまな精度メトリクスを提供するフルマネージド サービスです。 ただし、予測データに関するコンセンサスを構築し、予測値を人間の予測と比較するために、履歴データを手動でトレーニング データと検証データに分割しました。 モデルを検証データに公開せずにトレーニング データを使用してモデルをトレーニングし、検証データの長さの予測を生成しました。 検証データを予測値と比較して、モデルのパフォーマンスを評価しました。 検証指標には、平均絶対パーセント誤差 (MAPE) や加重絶対パーセント誤差 (WAPE) などがあります。 次のセクションで説明するように、WAPE を精度指標として使用しました。

評価指標

最初に、バックテストを使用してモデルのパフォーマンスを検証し、長期的な売上予測 (2026 年の売上) の予測モデルの予測を検証しました。 WAPE を使用してモデルの性能を評価しました。 WAPE 値が低いほど、モデルは優れています。 WAPE を MAPE などの他のエラー指標よりも使用する主な利点は、WAPE が各アイテムの販売の個々の影響を評価することです。 したがって、全体的な誤差を計算する際に、各製品の総売上への寄与を考慮します。 たとえば、2 万ドルを生み出す製品で 30% の誤りを犯し、10 ドルを生み出す製品で 50,000% の誤りを犯した場合、MAPE はすべてを語ることはできません。 2% の誤差は実際には 10% の誤差よりもコストが高く、MAPE を使用してもわかりません。 比較すると、WAPE はこれらの違いを説明します。 また、モデル予測の上限と下限を示すために、売上のさまざまなパーセンタイル値を予測しました。

マクロレベルの売上予測モデルの検証

次に、WAPE 値に関してモデルのパフォーマンスを検証しました。 データをテスト セットと検証セットに分割して、モデルの WAPE 値を計算しました。 たとえば、2019 年の WAPE 値では、2011 年から 2018 年までの売上データと次の 12 か月の予測売上値 (2019 年の売上) を使用してモデルをトレーニングしました。 次に、次の式を使用して WAPE 値を計算しました。

同じ手順を繰り返して、2020 年と 2021 年の WAPE 値を計算しました。2019 年、2020 年、2021 年のオートエンド マーケットのすべての BL の WAPE を評価しました。全体として、Amazon Forecast は、 0.33年(COVID-2020パンデミック中)。 19 年と 2019 年に、私たちのモデルは 2020 未満の WAPE 値を達成し、高い精度を示しました。

マクロレベルの売上予測のベースライン比較

2019 年、2020 年、2021 年の WAPE 値に関して、Amazon Forecast を使用して開発されたマクロ販売予測モデルのパフォーマンスを 3 つのベースライン モデルと比較しました (次の図を参照)。 Amazon Forecast は、他のベースライン モデルを大幅に上回るか、XNUMX 年間すべて同等のパフォーマンスを示しました。 これらの結果は、最終的なモデル予測の有効性をさらに検証します。

マクロレベルの売上予測モデルと人間の予測

マクロレベルのモデルの信頼性をさらに検証するために、次に、モデルのパフォーマンスを人間が予測した売上値と比較しました。 毎年第 2019 四半期の初めに、NXP の市場専門家は、NXP 製品の売上に影響を与える可能性のある世界的な市場動向やその他の世界的な指標を考慮して、各 BL の売上高を予測します。 2020 年、2021 年、および 2011 年の実際の売上高と、モデル予測と人間による予測の誤差の割合を比較します。2018 年から 2021 年までのデータを使用して 2018 つのモデルをトレーニングし、1 年までの売上高を予測しました。実際の販売額。 次に、3 年末までに人間が予測した値を使用しました (2019 年先から 1 年先のモデル予測をテストします)。 このプロセスを繰り返して、2 年 (2020 年先の予測から 1 年先の予測) と XNUMX 年 (XNUMX 年先の予測) の値を予測しました。 全体として、モデルは人間の予測因子と同等か、場合によってはそれ以上のパフォーマンスを示しました。 これらの結果は、モデルの有効性と信頼性を示しています。

ミクロレベルの売上予測と製品ライフサイクル

次の図は、製品データを使用してモデルがどのように動作するかを示していますが、各製品の観測値はほとんどありません (つまり、製品ライフサイクル予測の入力で XNUMX つまたは XNUMX つの観測値)。 オレンジ色の点はトレーニング データを表し、緑色の点はテスト データを表し、青色の線はモデルで予測された製品ライフサイクルを表します。

新しい販売データが利用可能になったときに再トレーニングする必要なく、コンテキストのより多くの観測をモデルに供給することができます。 次の図は、より多くのコンテキストが与えられた場合にモデルがどのように動作するかを示しています。 最終的に、より多くのコンテキストがより低い WAPE 値につながります。

さらに、製造技術やその他のカテゴリ情報など、各製品の追加機能を組み込むことができました。 この点で、外部機能は、低コンテキスト体制で WAPE 値を下げるのに役立ちました (次の図を参照)。 この動作には 1,000 つの説明があります。 まず、ハイコンテクスト体制では、データがそれ自体を物語るようにする必要があります。 追加機能は、このプロセスを妨げる可能性があります。 第二に、より良い機能が必要です。 XNUMX 次元のワンホット エンコードされた機能 (単語の袋) を使用しました。 推測では、より優れた機能エンジニアリング技術が WAPE をさらに削減するのに役立つ可能性があります。

このような追加データは、製品が市場にリリースされる前であっても、モデルが新製品の売上を予測するのに役立ちます。 たとえば、次の図では、外部機能だけでどれだけのマイレージを取得できるかをプロットしています。

まとめ

この投稿では、MLSL チームと NXP チームが協力して、NXP のマクロおよびミクロレベルの長期的な売上を予測する方法を示しました。 NXP チームは、これらの販売予測をプロセスで使用する方法を学習します。たとえば、R&D 資金調達の決定の入力として使用し、ROI を向上させます。 Amazon Forecast を使用して、トップダウン アプローチと呼ばれるビジネス ラインの売上 (マクロ売上) を予測しました。 また、時系列をポイント クラウドとして使用して、製品レベル (ミクロ レベル) で欠損値とコールド スタートの課題に取り組む新しいアプローチも提案しました。 このアプローチをボトムアップと呼び、各製品の月間売上を予測しました。 さらに、各製品の外観機能を組み込み、コールドスタート対応モデルの性能を高めました。

全体として、このエンゲージメント中に開発されたモデルは、人間の予測と比較して同等のパフォーマンスを発揮しました。 場合によっては、モデルは長期的に人間の予測よりも優れたパフォーマンスを発揮しました。 これらの結果は、モデルの有効性と信頼性を示しています。

このソリューションは、あらゆる予測問題に使用できます。 ML ソリューションの設計と開発に関してさらに支援が必要な場合は、お気軽に MLSL チーム。


著者について

スアド・ブタン NXP-CTO のデータ サイエンティストであり、さまざまなデータを有意義な洞察に変換して、高度なツールと手法を使用してビジネス上の意思決定をサポートしています。

ベン・フリドリン NXP-CTO のデータ サイエンティストであり、AI とクラウドの採用の加速を調整しています。 彼は、機械学習、深層学習、およびエンドツーエンドの ML ソリューションに重点を置いています。

コーニー・ジーネン NXP のデータ ポートフォリオのプロジェクト リーダーであり、データ中心に向けたデジタル トランスフォーメーションにおいて組織をサポートしています。

バート・ゼーマン NXP-CTO のデータと分析に情熱を傾けるストラテジストであり、さらなる成長とイノベーションのためのより良いデータ駆動型の意思決定を推進しています。

アサン・アリ Amazon Machine Learning Solutions Lab の応用科学者であり、さまざまな分野の顧客と協力して、最先端の AI/ML 技術を使用して緊急で費用のかかる問題を解決しています。

胡一福 は、Amazon Machine Learning Solutionsラボの応用科学者であり、さまざまな業界の顧客のビジネス問題に対処するためのクリエイティブなMLソリューションの設計を支援しています。

メディ・ノリ は、Amazon ML Solutions Lab の応用科学マネージャーであり、さまざまな業界の大規模組織向けの ML ソリューションの開発を支援し、エネルギー業界を率いています。 彼は、AI/ML を使用して顧客がサステナビリティの目標を達成できるよう支援することに情熱を注いでいます。

フゼファ・ランワラ AWS の AIRE で上級応用科学マネージャーを務めています。 彼は科学者とエンジニアのチームを率いて、データ資産の機械学習ベースの発見を可能にしています。 彼の研究対象は、責任ある AI、連合学習、およびヘルスケアとライフ サイエンスにおける ML の応用です。

スポット画像

最新のインテリジェンス

スポット画像