時系列のユースケース・シナリオ
家電量販店に勤務していますが、ここ2四半期でノートパソコンやタブレット端末の売上が伸びています。過去のタイムスタンプ・データを使用して、次の4四半期の製品売上を予測します。過去のデータを使用して等間隔の期間での変化を予測するため、指数平滑法アルゴリズムを使用して売上を予測します。
関連コンテンツ
| トピック | リンク |
|---|---|
| OML4SQL GitHubの例 | 時系列 - 指数平滑法 |
CREATE_MODEL2プロシージャ
|
CREATE_MODEL2プロシージャ |
| 一般的なモデル設定 | DBMS_DATA_MINING - モデル設定 |
| 指数平滑法モデル(ESM)の設定 | DBMS_DATA_MINING — アルゴリズムの設定: 指数平滑法 |
| データ・ディクショナリ設定 | Oracle Machine Learningのデータ・ディクショナリ・ビュー |
| 指数平滑法モデル - モデル・ディテール・ビュー | 指数平滑法のモデル・ディテール・ビュー |
| 時系列について | 時系列について |
OML4SQLユースケースの探求を開始する前に、次の用意ができていることを確認します。
- データ・セット
このユースケースに使用されるデータ・セットは、SHスキーマからのものです。SHスキーマは、Oracle Autonomous Databaseで簡単にアクセスできます。オンプレミス・データベースの場合、スキーマはインストール時にインストールされるか、スクリプトをダウンロードして手動でインストールできます。サンプル・スキーマのインストールを参照してください。
SHスキーマのSALES表を使用します。表にアクセスするには、OML NotebooksでSELECT文を実行します。 - データベース
次のオプションからデータベースを選択または作成します:
- 無償のクラウド・アカウントを取得します。https://cloud.oracle.com/databaseにアクセスし、「Oracle Database Cloud Service (DBCS)」または「Oracle Autonomous Database」を選択します。アカウントを作成してインスタンスを作成します。Autonomous Databaseクイック・スタート・ワークショップを参照してください。
- Oracle Database (オンプレミス)の最新バージョンをダウンロードします。
- 機械学習ツール
データベースの選択内容に応じて、次のいずれかを実行します。
- Oracle Autonomous Database用のOML Notebooksを使用します。
- オンプレミス・データベースまたはDBCSに接続されたOracle SQL Developerをインストールして使用します。SQL Developerのインストールおよび起動を参照してください。
- その他の要件
データ・マイニング権限(ADWに対して自動的に設定されます)。Oracle Machine Learning for SQLのためのシステム権限を参照してください。
関連トピック
データのロード
SHスキーマからデータ・セットにアクセスし、属性を理解するためにデータを探索します。
注意:
このユースケースに使用されるデータ・セットは、SHスキーマからのものです。SHスキーマは、Oracle Autonomous Databaseで簡単にアクセスできます。オンプレミス・データベースの場合、スキーマはインストール時にインストールされるか、スクリプトをダウンロードして手動でインストールできます。サンプル・スキーマのインストールを参照してください。
- データにアクセスします。
- データ・セットの様々な属性または列を詳細に調べます。
- データ品質を(データを探索することで)評価します。
データへのアクセス
SHスキーマのSALES表データを使用します。
データの調査
次の表に、SALESの属性に関する情報を示します。
| 属性名 | 情報 |
|---|---|
PROD_ID |
製品のID |
CUST_ID |
顧客のID |
TIME_ID |
yyy-mm-dd hh:mm:ss形式の製品購入のタイムスタンプ |
CHANNEL_ID |
チャネル売上データのチャネルID |
PROMO_ID |
製品プロモーションID |
QUANTITY_SOLD |
販売品目数 |
AMOUNT_SOLD |
金額または売上データ |
ターゲット変数の特定
このユースケースでのタスクは、売上額を予測するモデルをトレーニングすることです。したがって、ターゲット変数は属性AMOUNT_SOLDです。
データの探索
データを調べ、データの品質を理解して評価します。このステージでは、データを評価してデータ内のデータ型およびノイズを識別します。欠損値および数値外れ値を探します。
SHスキーマを問い合せます。
ノート:
データベース内の各レコードはケースと呼ばれ、各ケースはcase_idで識別されます。このユース・ケースでは、TIME_IDがcase_idですが、これは独立変数であり、等間隔の時間で売上を予測しているためです。
次のステップは、データの探索的分析に役立ちます。
これで、データの理解およびデータの探索ステージが完了します。時系列データには、欠損値が含まれることがあります。EXSM_SETMISSINGの設定は、欠損値の処理方法を指定するために使用できます。特殊値EXSM_MISS_AUTOは、系列に欠損値が含まれている場合に、不規則な時系列として処理されることを示します。自動データ準備(ADP)設定は、時系列のこのデータに影響しません。ADPで一部のアルゴリズム用のデータを準備する方法については、ADPによるデータの変換方法を参照してください。
モデルの構築
時系列データを使用してモデルを構築するには、探索ステージで生成されるESM_SH_DATAビューに対して指数平滑法アルゴリズムを使用します。
指数平滑法は、時系列データの予測手法です。移動平均法の一種であり、過去の観測に対して指数関数的に減少する重みを割り当てます。傾向や季節性の拡大などの指数平滑法モデル(ESM)の構成要素は、加法的または乗法的な形式を取ることがあります。加法的形式の場合、変動の振幅はレベルに依存しませんが、乗法的形式の場合、変動はレベルと関連します。より単純な加法的モデルでは、誤差やノイズ、傾向および季節性が再帰的定式化の範囲内の線形効果であると仮定します。
監視あり学習アルゴリズムを使用してモデルを構築するには、データのサブセットをトレーニング・データおよびテスト・データに使用できます。時系列モデルでは、通常、履歴データを使用して未来を予測します。これは、一般にデータをランダムにトレーニング・セットとテスト・セットに分割する分類や回帰のモデル検証とは異なります。このユースケースでは、モデルは常に過去の情報に基づいて現在の値を予測するため、データ・セットを分割する必要はありません。つまり、同じデータ・セットに対してトレーニングおよびテストが行われるように見えますが、モデルが適用されると、予測は常に前の日付に基づきます。このユースケースでは、ESM_SH_DATAビューを使用します。
評価
診断メトリックを表示し、品質チェックを実行してモデルを評価します。
ディクショナリ・ビューおよびモデル・ディテール・ビューを問い合せれば、モデルのパフォーマンスを測定するのに十分な場合もあります。ただし、平均絶対誤差(MAE)、二乗平均平方根誤差(RMSE)、混同行列、リフト統計、コスト行列などのテスト・メトリックを計算して、モデルを評価できます。相関ルールの場合、様々なルールを調査して、それらによって項目の依存関係(前件の項目セットが後件を暗に示す)または項目間の想定外の関係について新しいインサイトが明らかになるかどうかを確認できます。
ディクショナリ・ビューおよびモデル・ビュー
モデルおよびビュー・モデル設定に関する情報を取得するには、データ・ディクショナリ・ビューおよびモデル・ディテール・ビューを問い合せることができます。モデル・ディテール・ビューの特定のビューには、モデルの評価に役立つモデル統計が表示されます。
次の表に、Oracle Machine Learningのデータ・ディクショナリ・ビューを示します。ビューのデータベース管理者(DBA)およびUSERバージョンも使用可能です。
| ビュー名 | 説明 |
|---|---|
| ALL_MINING_MODELS | アクセス可能なすべての機械学習モデルに関する情報を示します |
| ALL_MINING_MODEL_ATTRIBUTES | アクセス可能なすべての機械学習モデルの属性に関する情報を示します |
| ALL_MINING_MODEL_SETTINGS | アクセス可能なすべての機械学習モデルの構成設定に関する情報を示します |
| ALL_MINING_MODEL_VIEWS | アクセス可能なすべての機械学習モデルのモデル・ビューに関する情報を示します |
| ALL_MINING_MODEL_XFORMS | アクセス可能なすべての機械学習モデルに埋め込まれたユーザー指定の変換を示します。 |
モデル・ディテール・ビューはアルゴリズムに固有です。モデル・ディテール・ビューを表示することで、作成したモデルに関する詳細なインサイトを取得できます。モデル・ディテール・ビューの名前はDM$xxで始まります(xxはビュー接頭辞に相当します)。「モデル・ディテール・ビュー」を参照してください。
指数平滑法では、系列は過去に無限に続きますが、将来に対する過去の影響は平滑に指数関数的な速さで減衰すると仮定しています。減衰の平滑さの割合は、1つ以上の平滑化定数によって表現されます。平滑化定数は、モデルによって推定されるパラメータです。これらの平滑化定数はα、β、γとして表されます。平滑化定数の値が1に近い場合は、最近の観測値にほとんどすべての重みを付けます。平滑化定数の値がゼロに近い場合は、遠い過去の観測値が大きな影響を与えるようになります。
αは系列の誤差やノイズと、βは傾向と、γは季節性要因と関連付けられていることに注意してください。γ値はゼロに最も近い値で、季節性がデータ・セットに影響を及ぼすことを意味します。
MAE値とMSE値は低く、モデルが良好であることを意味します。MSEの大きさは、元のデータの実際の規模によって異なります。この場合、STDは約105です。その二乗は約1010の規模です。誤差率は低いため、モデルは良好です。
