Amazon Forecastとは?


Amazon Forecastは、AWSが提供する最新のAIサービスであり、業界をリードしているマシン学習アルゴリズムを使用して、業界の専門家やデータサイエンティストがパフォーマンスを最大化するのに役立つ、精度の高い時系列予測を可能にします。Amazon Forecastは、未来に関する複雑な分析を行うための標準的なビジネスプロセスを作成するために開発されました。

Amazon Forecastの機能


Amazon Forecastは、商用データのみならず、機械学習を使用した既存のデータからあらゆるレベルの時系列分析を効率的に実行するのに最適なツールです。 Amazon Forecastを使用すると、データの予測を容易に行うことができます。 Amazon Forecastと一緒に仲間する、AutoML(自動機械学習)という機能を利用すると、データ分析に必要なスキルと知識を必要とせず、コードを書く理由もなく、さまざまなレベルの時系列分析を実行して精度の高い予測を行うことができます。

Amazon Forecastを使った開発例


Amazon Forecastを使用した開発例の1つとして、「要望量の予測を行うスクリプト」を作成する方法を以下に示します。

# Amazon Forecastインポート
from time import sleep
import boto3

# データインポート
import pandas as pd
from sklearn.preprocessing import MinMaxScaler

# Amazon Forecastのインスタンス生成
session = boto3.Session(region_name='us-west-2')
forecast = session.client(service_name='forecast')

# データの前処理
sc = MinMaxScaler(feature_range=(0, 1))
data = pd.read_csv('./data.csv')
data = sc.fit_transform(data)

# データのアップロード
forecast.create_dataset_group(DatasetGroupName='ForecastDemo',
Domain='CUSTOM')

# データの分割
dataset_name='demand-dataset'
dataset_arn = forecast.create_dataset(
DatasetName=dataset_name,
DatasetType='TARGET_TIME_SERIES',
Domain='CUSTOM',
DataFrequency='D',
Schema={
"Attributes" : [
{"AttributeName": "timestamp", "AttributeType": "timestamp"},
{"AttributeName": "target_value", "AttributeType": "float"}
]
}
)


Amazon Forecastを使うメリット


Amazon Forecastを使用すると、業界標準のアルゴリズムを使用した精度の高い時系列分析結果を得ることができます。また、AutoML機能やAmazon SageMakerなど他のAWSサービスを使用して、より複雑なデータ分析を実行しやすくすることもできます。さらに、Amazon Forecastは、国際スタンダードの《グラフデータベース》を搭載しており、時系列データの前処理と洞察の生成を行う際も便利です。

投稿者: systemreach_engineer