AutoAI 時系列パイプラインをモデルとして保存した後、そのモデルをデプロイしてスコアリングし、新しい値を予測できます。
時系列モデルのデプロイ
モデルをプロジェクトに保存した後、以下の手順に従ってモデルをデプロイします。
- プロジェクト資産リストでモデルを見つける。
- モデルをデプロイメント・スペースにプロモートする。
- ペイロード・データをデプロイメント・スペースにプロモートする。
- デプロイメント・スペースから、デプロイメントを作成する。
スコアリングの考慮事項
この時点までは、時系列モデルのデプロイは、分類モデルまたは回帰モデルのデプロイと同じステップをたどります。 ただし、時系列モデルで予測を構造化および生成する方法のために、入力はモデル構造と一致している必要があります。 例えば、ペイロードを構造化する方法は、単一の結果 (1 変量) を予測するか、複数の結果 (多変量) を予測するかに依存します。
以下の大まかな考慮事項に注意してください。
- データの最終行の後の最初の予測範囲行 (複数可) を取得するには、空のペイロードを送信します。
- 次の値を取得するには、空のペイロード要求からの結果を次のスコアリング要求として送信し、以降も同様に繰り返します。
- 複数の行を入力として送信して傾向を作成し、傾向の後の次の値を予測することができます。
- 複数の予測列がある場合は、各予測列の値をスコアリング要求に含める必要があります。
- デプロイメントを構成するときに、 「先行ステップ」 の値を指定して、予測するステップの数を変更することができます。 例えば、1 時間ごとの気象の場合、24 ステップを予測できます。
オンライン・デプロイメントのスコアリング
オンライン・デプロイメントを作成する場合は、入力フォームを使用するか、JSON コードを送信することによって、ペイロード・データを渡すことができます。 この例では、JSON コードを構成して予測を生成する方法を示します。
単一値の予測
最も単純なケースでは、このサンプル・データから、 value1
の次のステップを予測しようとする場合、予測ウィンドウは 1 、つまり各予測は単一ステップ(行)になります。
タイム・スタンプ | value1 |
---|---|
2015-02026 21:42 | 2 |
2015-02026 21:47 | 4 |
2015-02026 21:52 | 6 |
2015-02026 21:57 | 8 |
2015-02026 22:02 | 10 |
最初の予測を要求するには、次のように構造化されたブランク項目を入力データとして渡す必要があります。
{
"input_data": [
{
"fields": [
"value1"
],
"values": []
}
]
}
返される出力は、モデルの次のステップを予測します。
{
"predictions": [
{
"fields": [
"prediction"
],
"values": [
[
12
]
]
}
]
}
次の入力は、次のステップを予測するために、前の出力の結果を渡します。
{
"input_data": [
{
"fields": [
"value1"
],
"values": [
[12]
]
}
]
}
複数値の予測
この例では、 value1
と value2
の 2 つの対象を予測します。
タイム・スタンプ | value1 | value2 |
---|---|---|
2015-02026 21:42 | 2 | 1 |
2015-02026 21:47 | 4 | 3 |
2015-02026 21:52 | 6 | 5 |
2015-02026 21:57 | 8 | 7 |
2015-02026 22:02 | 10 | 9 |
入力データは、最初の予測を要求するために空のエントリーを引き続き渡す必要があります。 次の入力は、以下のように構造化されます。
{
"input_data": [
{
"fields": [
"value1",
"value2"
],
"values": [
[2, 1],
]
}
]
}
新しい観測値に基づく予測
前のステップに基づいて次の行を予測する代わりに、新しい観測値を入力する場合は、1 変量モデルの入力データを次のように入力します。
{
"input_data": [
{
"fields": [
"value1"
],
"values": [
[2],
[4],
[6]
]
}
]
}
多変量モデルでは、以下のような新しい観測値を入力します。
{
"input_data": [
{
"fields": [
"value1",
"value2"
],
"values": [
[2, 1],
[4, 3],
[6, 5]
]
}
]
}
ここで、2、4、および 6 は value1
の観測値であり、1、3、5 は value2
の観測値であります。
サポート・フィーチャーを使用した時系列モデルのスコアリング
モデルをデプロイした後、デプロイメントの詳細を示すページに移動して、予測値を取得できます。 デプロイメントをテストするには、以下のいずれかの方法を選択します。
既存の入力値の使用
データ・セット内の既存の入力値を使用して、予測値を取得できます。 「予測」 をクリックして、一連の予測値を取得します。 出力内の予測値の総数は、エクスペリメント構成ステージで以前に設定した予測期間によって定義されます。
新しい入力値の使用
スプレッドシートに新しい入力値を取り込むか、JSON コードを使用して予測を取得するかを選択できます。
値を予測するための新しい入力データを提供するためのスプレッドシートの使用
「新規観測値 (オプション)」 スプレッドシートに入力データを追加するには、 「入力」 タブを選択し、以下のいずれかを実行します。
- 「ローカル・ファイルの参照」をクリックして、新しい監視を含む既存の .csv ファイルをローカル・ディレクトリーから追加します。
- 「CSV テンプレートのダウンロード」をクリックして入力ファイル・テンプレートをダウンロードし、値を入力して、ファイルをアップロードします。
- 「スペース内検索」をクリックして、プロジェクトの既存のデータ資産を使用します。
- スプレッドシートに入力観測値を手動で入力します。
エクスペリメントの構成段階でこれらの値を活用するエクスペリメントを以前に有効にした場合は、サポート・フィーチャーの将来の値を指定することもできます。 必ず、これらの値を 「将来のサポート機能 (オプション)」 スプレッドシートに追加してください。
JSON コードを使用した入力データの提供
JSON コードを使用して入力データを追加するには、 「JSON の貼り付け」 タブを選択し、以下のいずれかを実行します。
- 「ローカル・ファイルの参照 (Browse local files)」をクリックして、ローカル・ディレクトリーから新規監視を含む既存の JSON ファイルを追加します。
- 「スペース内検索」をクリックして、プロジェクトの既存のデータ資産を使用します。
- 手動で JSON コードを入力するか、エディターに貼り付けます。
このコード・サンプルでは、予測列は pollution
であり、サポートされる特徴量は temp
および press
です。
{
"input_data": [
{
"id": "observations",
"values": [
[
96.125,
3.958,
1026.833
]
]
},
{
"id": "supporting_features",
"values": [
[
3.208,
1020.667
]
]
}
]
}
今後のステップ
AutoAI生成したノートブックの保存 (watsonx.aiRuntime)
親トピック: 時系列エクスペリメントの作成