予測サービス Amazon ForecastとChronos

Amazon Web Services（AWS）は、2019年8月21日に機械学習を活用した予測サービス「**Amazon Forecast**」の一般提供を開始しました。このサービスは、Amazon.comで使用されているのと同じ機械学習技術を活用し、開発者が機械学習の専門知識なしに将来のビジネス状況を予測するアプリケーションを構築できるようにするものです。

小売、金融、物流、ヘルスケアなど、さまざまな業界で活用できる柔軟な予測ツールです。このサービスの主な特徴は以下の通りです：

1. 高精度な予測：Amazon.comで使用されている統計的手法と機械学習アルゴリズムを活用し、高精度な時系列予測を実現します。Amazonは2000年以来、機械学習を活用して困難な予測問題を解決し、**過去20年間で予測精度を15倍向上させています。**

2. 簡単な導入：機械学習の専門知識がなくても、完全に管理されたサービスとして提供されるため、簡単に予測機能を実装できます。**従来のシステムが2〜8ヶ月かかるところを、Amazon Forecastでは6〜8週間で稼働モデルを準備できます。**

3. 多様なデータ対応：時系列データ、カテゴリカルデータ、関連する時系列データなど、さまざまな種類のデータを扱うことができます。Amazon Forecastは、時間とともに変化する時系列データと、製品の特徴や店舗の場所などの独立変数との関係を自動的に決定し、予測の精度を向上させます。

4. カスタマイズ可能：ユーザーのニーズに合わせて、予測モデルをカスタマイズすることが可能です。Amazon Forecastは、事前に構築されたドメインを提供するだけでなく、ユースケースに合わせてカスタムドメインを作成することもできます。

5. スケーラビリティ：AWSのクラウドインフラストラクチャを活用し、大規模なデータセットにも対応できます。

6. セキュリティ：AWSのセキュリティ基準に沿って、データとモデルは完全に安全で暗号化されています。

Amazon Forecastの導入により、企業は需要予測、財務予測、リソース計画など、さまざまな分野で精度の高い予測を行うことができます。具体的な用途としては、以下のようなものが挙げられます：

- 在庫管理：将来の需要を予測し、適切な在庫レベルを維持
- 人員配置：必要な労働力を予測し、効率的な人員配置を実現
- Webトラフィック予測：サーバー容量の適切な計画を立案
- 財務予測：将来の収益や支出を予測し、財務計画を立案

Amazon Forecastは、最先端のアルゴリズムを使用して、過去のデータに基づいて将来の時系列データを予測します。このサービスは、機械学習の経験がなくても利用できるように設計されており、企業は自社のデータを活用して、より正確な予測を行うことができます。

## Amazon Forecastのワークフロー

Amazon Forecastを使用して予測を生成するワークフローは、以下の手順で構成されています：

1. 関連するデータセットとデータセットグループの作成
2. トレーニングデータの取得
3. アルゴリズムまたはAutoMLを使用した予測子（トレーニング済みモデル）のトレーニング
4. メトリクスを使用した予測子の評価
5. 予測の作成
6. ユーザーのための予測の取得

## データセットとデータセットグループ

データセットは予測子をトレーニングするために使用されるデータを含みます。トレーニングデータをインポートする場所として、一致するスキーマを持つ1つ以上のデータセットを作成する必要があります。データセットグループは、補完的なデータセット（最大3つ、各データセットタイプ - ターゲット時系列、関連時系列、アイテムメタデータ - につき1つ）のコレクションで、一連の時間にわたって変化するパラメータのセットを詳細に示します。

## 予測子の評価

Amazon Forecastは、バックテスト（過去のデータでモデルをテストすること）を使用して予測子の精度を評価するためのメトリクスを生成します。これらのメトリクスには、誤差/損失関数、加重分位損失、平均二乗誤差根などが含まれます。

## Amazon Forecastの高度な技術

Amazon Forecastには、以下のような高度な技術が組み込まれています：

1. DeepAR+：確率的時系列予測のための深層学習アルゴリズムで、正確な点予測と予測区間を生成します。

2. 階層的予測：製品、店舗、地域レベルなど、異なる集計レベルでの時系列データの予測をサポートします。データの階層構造を考慮することで、予測精度を向上させることができます。

3. 自己回帰和分移動平均（ARIMA）：非定常性や季節性を示すデータに対して有効なARIMAモデリングをサポートしています。

4. 外生変数：予測対象の時系列に影響を与える可能性のある外部要因を組み込むことができます。これにより、外部要因の影響を捉えて予測精度を向上させることができます。

5. 自動機械学習（AutoML）：与えられた予測問題に対して最適なアルゴリズムを自動的に選択し、最適化します。これにより、モデル選択とハイパーパラメータチューニングのプロセスを自動化し、時間とリソースを節約できます。

6. 予測精度メトリクス：平均絶対パーセント誤差（MAPE）や加重分位損失（WQL）など、複数の精度メトリクスを提供し、予測モデルのパフォーマンスを評価し、モデルパラメータを微調整して精度を向上させることができます。

## Chronos：時系列データの新たな予測手法

Amazonの研究者たちは、**言語モデルのアーキテクチャを時系列予測に適用する**革新的なアプローチ「Chronos」を開発しました。この手法は、時系列データを言語のようにトークン化し、言語モデルの力を活用して予測を行います。

Chronosの主な特徴は以下の通りです：

1. ゼロショット性能：特定のタスクに対する事前学習なしで、既存の目的別モデルと同等以上の性能を発揮します。

2. 確率的予測：単一の予測値ではなく、可能性のある結果の分布を提供します。これにより、より豊かな情報に基づいた意思決定が可能になります。

3. 柔軟性：さまざまな時系列予測タスクに適用可能で、異なるドメインや時間スケールに対応できます。

4. スケーラビリティ：大規模なデータセットにも対応でき、複雑な予測タスクにも適用できます。

5. データ効率：比較的少量のデータでも効果的に学習し、高品質な予測を生成できます。

6. 解釈可能性：言語モデルの特性を活かし、予測結果の解釈がしやすくなる可能性があります。

Chronosの処理フローは以下の通りです：

1. 入力時系列データのスケーリングと量子化を行い、トークンのシーケンスを生成します。
2. 生成されたトークンを言語モデルに入力し、クロスエントロピー損失を用いて学習を行います。
3. 推論時には、モデルから自己回帰的にトークンをサンプリングし、数値に戻すことで予測を生成します。

このアプローチにより、Amazon Forecastの予測能力がさらに向上し、より正確で柔軟な予測が可能になると期待されています。Chronosは、特に以下の点で従来の時系列予測手法を補完し、拡張する可能性があります：

- 複雑なパターンの捕捉：言語モデルの高度な特徴抽出能力を活用し、複雑な時系列パターンをより効果的に捉えることができます。
- マルチモーダル予測：異なる種類のデータ（数値、カテゴリカル、テキストなど）を統合して予測を行うことができる可能性があります。
- 長期依存関係の学習：言語モデルの長期記憶能力を活かし、遠い過去のイベントが将来に与える影響をモデル化できます。

Chronosは、公開されている大規模な時系列データセットと、ガウス過程を用いて生成された合成データを使用して訓練されています。これにより、幅広い時系列パターンに対応できる汎用性の高いモデルが実現しています。

Amazon Forecastは、Chronosのような革新的な技術の導入により、継続的に進化を続けています。これにより、サービスの性能と適用範囲がさらに拡大し、より多様な予測ニーズに対応できるようになることが期待されます。企業は、これらの高度な予測技術を活用することで、より精度の高い意思決定と効率的なリソース管理を実現できるでしょう。

※ *最新の機能や使用方法については、AWSの公式ドキュメントを参照してください*

## 参考文献
1. [Amazon Forecast – Now Generally Available](https://aws.amazon.com/blogs/aws/amazon-forecast-now-generally-available/) (アクセス日: 2024-08-27)
2. [AWS Announces General Availability of Amazon Forecast](https://press.aboutamazon.com/2019/8/aws-announces-general-availability-of-amazon-forecast) (アクセス日: 2024-08-27)
3. [Amazon Forecast](https://aws.amazon.com/forecast/) (アクセス日: 2024-08-27)
4. [What Is Amazon Forecast?](https://docs.aws.amazon.com/forecast/latest/dg/what-is-forecast.html) (アクセス日: 2024-08-27)
5. [Adapting language model architectures for time series forecasting](https://www.amazon.science/blog/adapting-language-model-architectures-for-time-series-forecasting) (アクセス日: 2024-08-27)
6. [Chronos: Learning the language of time series](https://arxiv.org/abs/2403.07815) (アクセス日: 2024-08-27)
7. [Chronos: Pretrained (Language) Models for Probabilistic Time Series Forecasting](https://github.com/amazon-science/chronos-forecasting) (アクセス日: 2024-08-27)
8. [Amazon Forecast | Cloud Services](https://blowstack.com/tools/cloud-services-hub/amazon-forecast) (アクセス日: 2024-08-27)