# 時系列展開による予測

時系列モデルを展開して承認したら、時間固有の予測を作成できます。このチュートリアルでは、ML 展開内で予測構成を作成し、それを使用してバッチ予測を実行します。

これまで、日々の売上データを使用して、機械学習モデルを作成してきました。このプロセスの目的は、新しいデータに適用するために、機械学習を通してパターンを認識することです。

## 時系列モデルによる予測の理解

時系列モデルにおける予測の仕組みは他のモデル タイプの予測とは異なるため、違いを区別することが重要です。適用データセットを準備するためのステップは、他のモデル タイプのステップとは異なります。

時系列モデルでは、新しい予測は別の列として追加されるのではなく、新しい行として追加されます。

## 適用データセットの作成

このセクションでは、この時系列問題に適用データセットを作成する方法について説明します。データセット行をコンパイルする実際のプロセスは示されていませんが、ワークフローは示されています。

時系列予測モデルを使用して予測を生成するために、適用データセットの必要な構成要素とタイムラインを概説した線形図。

時系列予測モデルを使用して予測を生成するために、適用データセットの必要な構成要素とタイムラインを概説した線形図。

時系列予測モデルを使用して予測を生成するために、適用データセットの必要な構成要素とタイムラインを概説した線形図。 ![](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/concept_ml-time-series-forecast-apply-data.png)

### 列の構造

適用データセットには、展開した時系列モデルと同じスキーマを含める必要があります。スキーマは、ML 展開を開くと確認できます。

いずれの場合も、適用データセットにはモデル スキーマと同じ列、つまり次の各列が含まれている必要があります。

* 日付インデックス

* ターゲット

* グループ

* 特徴量 (共変量)

### 行の構造

データセットには、次のレコード (行) が含まれている必要があります。

* [トレーニング データセット](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/machine-learning-framework-time-series.htm#TrainPrepare)に含まれるすべての列の列と列ヘッダー。

* トレーニング データセットと同じ[時間ステップ](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/machine-learning-framework-time-series.htm)。

* トレーニング データセットに存在していたすべての[グループ](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/machine-learning-framework-time-series.htm#Groups)とグループ値。

  情報メモ適用データセットに新しいグループ値が存在する (トレーニング データには存在しない) 場合、これらの行の予測は生成されません。これらの新しいグループ値の予測が必要な場合は、それらを含むトレーニング データでモデルを再トレーニングすることをお勧めします。

  情報メモ

  予測時または適用データセットでは、欠落しているグループ値は次のように処理されます。

  * モデルがトレーニングされる[プライマリ グループ](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/machine-learning-framework-time-series.htm#Primary)値の欠落は、許容されます。

  * 欠落しているセカンダリ グループ値は許可されません。予測がエラーで失敗しました。

  可能な限り、予測時にすべてのセカンダリ グループ データを収集して提供することが最善です。ただし、セカンダリ グループが主に予測時に欠落すると予想される場合、1 つの解決策として、セカンダリ グループを一切使用しないことがあります。

  代わりに、元のプライマリ グループとセカンダリ グループの値を単一の新しいグループ化列に結合し、それを新しいプライマリ グループとして使用して、その構造に基づいてモデルを再トレーニングできます。この設定では、新しいモデルは、新たに導入されたプライマリ グループのみに依存します。

  トレードオフとして、グループ間の相関情報の一部が失われる可能性があります。これは、グループが互いにコンテキスト情報を提供し合う関連するサブ シリーズではなく、完全に独立した時系列として扱われるためです。

* [予測終了時間](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/machine-learning-framework-time-series.htm#ForecastCutOff)前の、モデルの[適用ウィンドウ](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/machine-learning-framework-time-series.htm#ApplyWindow)内のレコード数と同じ数以上の履歴データ レコード (ターゲットおよびグループごと)。これらは、過去に観測された日付またはタイム スタンプ、[ターゲット](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/machine-learning-framework-time-series.htm#Target)、[共変量](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/machine-learning-framework-time-series.htm#Covariates)値を含む完全なレコードである必要があります。適用ウィンドウは、トレーニング中に構成された[予測ウィンドウとギャップ](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/machine-learning-framework-time-series.htm#ForecastHorizon)によって決定されます。予測が必要な将来が長ければ長いほど、予測を実行するために適用データセットに必要な履歴データが多くなります。

* 予測期間内の将来のすべての時間ステップを記録します。これらの将来のレコードには、日付インデックス列の値と[将来の特徴量](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/machine-learning-framework-time-series.htm#FutureFeatures)のみを含めます。他の列の値は空白のままにしておきます。

### その他の変更

データセットをモデル スキーマと一致させるために、その他の変更が必要になる場合があります。特に、グループ化された特徴量は、トレーニング中にグループとして選択された場合、グループとして使用できるように自動的にカテゴリ特徴量タイプに変換されます。適用データにおいて、グループとして使用している数値データを含む特徴量がある場合は、そのデータ型をカテゴリ データとして識別できるように変換する必要があります。この例は、「[データセットの準備](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/time-series-tutorial-predict.htm#Preparing)」で確認できます。

### データセットの準備

このチュートリアルでは、必要な列とレコードがすでに設定されている適用データセットが提供されています。ただし、提供されている適用データセットには、モデルでグループとして設定されている数値列 store\_nbr が含まれています。そのため、この列を文字列データに変換するスクリプトを作成する必要があります。

次の手順を実行します。

1. 分析 アクティビティ センターの [作成] ページに移動し、 [スクリプト] を選択します。

2. スクリプトの名前を入力します (例: Transformed apply data)。

3. スクリプトのスペースを選択します。元の適用データセットを保存したスペースと同じスペースにする必要があります。

4. [作成] をクリックします。

5. スクリプト で、 [エディター] に切り替えます。

6. [セクション] で the 新規セクションを作成 icon をクリックして、新しいセクションを追加します。

7. 以下のロード スクリプトをエディターに貼り付けます。

8. [データをエクスポート] をクリックします。

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/time-series-tutorial-predict.htm)

#### ロード スクリプト

```
ApplyDataset_Transformed:

LOAD
    id,
    "date",
    text(store_nbr) as store_nbr,
    family,
    sales,
    onpromotion
FROM [lib://:DataFiles/ML - Multivariate forecasting - apply.csv]
(txt, codepage is 28591, embedded labels, delimiter is ',', msq);

Store [ApplyDataset_Transformed] into [lib://:DataFiles/Final transformed apply dataset.qvd](QVD);
```

スクリプトを実行して、適用データセットの新しいバージョンを Qlik Cloud Analytics にエクスポートします。

スクリプトを実行して、適用データセットの新しいバージョンを Qlik Cloud Analytics にエクスポートします。

スクリプトを実行して、適用データセットの新しいバージョンを Qlik Cloud AnalyticsQlik Cloud Analytics にエクスポートします。 ![ロード スクリプトがエディターに貼り付けられ、「データをエクスポート」ボタンが強調表示されたスクリプト エディター](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ml_time-series-run-script.png)

スクリプトを実行すると、新しい適用データセット Final transformed apply dataset.qvd が元の適用データセットと同じスペースに配置されます。

## 予測の作成

互換性のある適用データセットが作成されたので、これを使用して ML 展開から予測を作成します。

次の手順を実行します。

1. カタログで、[時系列モデルの展開](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/time-series-tutorial-deploy.htm) で作成した Sales forecasting deployment 展開を開きます。

2. 右下隅にある [予測を作成] をクリックします。

3. 右側の [予測構成] パネルの [データを適用] で、 [適用データセットを選択] をクリックします。

4. 適用データセット ファイル Final transformed apply dataset.qvd を選択します。

5. トレーニング データセットと適用データセットのスキーマを比較します。スキーマの不一致エラーがないことを確認します。

6. [データセットの予測] ペインで、[予測データセットに名前を付ける] をクリックします。「ML - Sales predictions」という名前を入力します。既定の Parquet 形式を使用します。

7. スペースを選択し、[確定] をクリックします。

スキーマの比較と構成パネルが表示されている予測構成。

スキーマの比較と構成パネルが表示されている予測構成。

スキーマの比較と構成パネルが表示されている予測構成。 ![時系列モデルによる ML 展開。スキーマを使用した予測構成を示します](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ml-time-series-tutorial-deployment-predictions.png)

[保存して閉じる] の隣にある the ↓ icon アイコンをクリックします。[保存して今すぐ予測] を選択します。

プロセスは、データセットの予測で監視できます。表示されたポップアップで [開く] をクリックすることにより、カタログの出力をレビューできます。

予測の実行が終了したら、予測を表示するアプリケーションを作成します。次のトピックに移ります。