時系列のユースケース・シナリオ

家電量販店に勤務していますが、ここ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文を実行します。

  • データベース
    次のオプションからデータベースを選択または作成します:
  • 機械学習ツール
    データベースの選択内容に応じて、次のいずれかを実行します。
    • 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です。

データの探索

データを調べ、データの品質を理解して評価します。このステージでは、データを評価してデータ内のデータ型およびノイズを識別します。欠損値および数値外れ値を探します。

Oracle Autonomous Databaseを使用している場合は、データ品質の評価など、データ・サイエンス・プロジェクトのためにOracle Machine Learning (OML) Notebooksを使用できます。オンプレミスOracle Databaseを使用している場合は、Oracle SQL Developerを使用してデータ品質を評価できます。説明に従ってSHスキーマを問い合せます。

ノート:

データベース内の各レコードはケースと呼ばれ、各ケースはcase_idで識別されます。このユース・ケースでは、TIME_IDcase_idですが、これは独立変数であり、等間隔の時間で売上を予測しているためです。

次のステップは、データの探索的分析に役立ちます。

  1. 次の文を実行して、SH.SALES表のデータを表示します。
    SELECT * FROM SH.SALES;
  2. SH.SALES表の行数を検索するには、次の文を実行します。
    %script
    SELECT COUNT(*) from SH.SALES;
    
    COUNT(*)   
        918843 
    ---------------------------
  3. 表内の個々のユーザーを検索するには、次の問合せを実行します。
    %sql SELECT COUNT (DISTINCT CUST_ID) FROM SH.SALES;
    
    COUNT(DISTINCTCUST_ID)   
                        7059 
    ---------------------------
  4. 売上表のデータ型を表示するには、次の問合せを実行します。
    %script 
    DESCRIBE SH.SALES;
    
    Name          	Null?    	Type         
    ------------- 	-------- 	------------ 
    PROD_ID 	NOT NULL 	NUMBER 
    CUST_ID 	NOT NULL 	NUMBER 
    TIME_ID  	NOT NULL 	DATE     
    CHANNEL_ID 	NOT NULL 	NUMBER 
    PROMO_ID 	NOT NULL 	NUMBER 
    QUANTITY_SOLD 	NOT NULL 	NUMBER(10,2) 
    AMOUNT_SOLD 	NOT NULL 	NUMBER(10,2) 
    
    ---------------------------
  5. すべてのNULLおよび欠損値を表示するには、次の問合せを実行します。
    %sql SELECT COUNT(*) FROM SH.SALES WHERE PROD_ID=NULL OR CUST_ID=NULL OR
        TIME_ID=NULL OR CHANNEL_ID=NULL OR PROMO_ID=NULL OR QUANTITY_SOLD=NULL OR
        AMOUNT_SOLD=NULL;
    
    COUNT(*)   
             0 
    ---------------------------

    見つかった場合、NULLはOMLアルゴリズムによって自動的に処理されます。

  6. ここでは、SH.SALES表から必要な列を選択して、ESM_SH_DATAというビューを準備します。このユースケースでは、TIME_IDおよびAMOUNT_SOLDを選択します。
    %script
    CREATE OR REPLACE VIEW ESM_SH_DATA AS 
      SELECT TIME_ID, AMOUNT_SOLD FROM SH.SALES;
    
    View ESM_SH_DATA created.
    ---------------------------
  7. 行数をカウントして、同じデータ量であることを確認します。次の問合せを実行します。
    %script
    SELECT count(*) from ESM_SH_DATA;
    
    COUNT(*)   
        918843 
    ---------------------------

これで、データの理解およびデータの探索ステージが完了します。時系列データには、欠損値が含まれることがあります。EXSM_SETMISSINGの設定は、欠損値の処理方法を指定するために使用できます。特殊値EXSM_MISS_AUTOは、系列に欠損値が含まれている場合に、不規則な時系列として処理されることを示します。自動データ準備(ADP)設定は、時系列のこのデータに影響しません。ADPで一部のアルゴリズム用のデータを準備する方法については、ADPによるデータの変換方法を参照してください。

モデルの構築

時系列データを使用してモデルを構築するには、探索ステージで生成されるESM_SH_DATAビューに対して指数平滑法アルゴリズムを使用します。

Oracleでは、時系列に対する指数平滑法アルゴリズムを提供しています。

指数平滑法は、時系列データの予測手法です。移動平均法の一種であり、過去の観測に対して指数関数的に減少する重みを割り当てます。傾向や季節性の拡大などの指数平滑法モデル(ESM)の構成要素は、加法的または乗法的な形式を取ることがあります。加法的形式の場合、変動の振幅はレベルに依存しませんが、乗法的形式の場合、変動はレベルと関連します。より単純な加法的モデルでは、誤差やノイズ、傾向および季節性が再帰的定式化の範囲内の線形効果であると仮定します。

監視あり学習アルゴリズムを使用してモデルを構築するには、データのサブセットをトレーニング・データおよびテスト・データに使用できます。時系列モデルでは、通常、履歴データを使用して未来を予測します。これは、一般にデータをランダムにトレーニング・セットとテスト・セットに分割する分類や回帰のモデル検証とは異なります。このユースケースでは、モデルは常に過去の情報に基づいて現在の値を予測するため、データ・セットを分割する必要はありません。つまり、同じデータ・セットに対してトレーニングおよびテストが行われるように見えますが、モデルが適用されると、予測は常に前の日付に基づきます。このユースケースでは、ESM_SH_DATAビューを使用します。

  1. ESM_SH_DATAビューのデータを表示するには、次の文を実行します。
    %sql
    SELECT * from ESM_SH_DATA;
    TIME_ID     AMOUNT_SOLD   
    20-JAN-98         1205.99 
    05-APR-98         1250.25 
    05-APR-98         1250.25 
    05-APR-98         1250.25 
    05-APR-98         1250.25 
    05-APR-98         1250.25 
    05-APR-98         1250.25 
    05-APR-98         1250.25 
    05-APR-98         1250.25 
    05-JUL-98         1210.21 
    05-JUL-98         1210.21 
    05-JUL-98         1210.21 
    05-JUL-98         1210.21 
    05-JUL-98         1210.21 ...
    
  2. ESM_SH_DATA表を使用してモデルを構築し、次のスクリプトを実行します。
     %script
    
        BEGIN DBMS_DATA_MINING.DROP_MODEL('ESM_SALES_FORECAST_2');
        EXCEPTION WHEN OTHERS THEN NULL; END;
        /
        DECLARE
            v_setlist DBMS_DATA_MINING.SETTING_LIST;
        BEGIN
            v_setlist('ALGO_NAME')            := 'ALGO_EXPONENTIAL_SMOOTHING';
            V_setlist('EXSM_INTERVAL')        := 'EXSM_INTERVAL_QTR';
            V_setlist('EXSM_PREDICTION_STEP') := '4';
            V_setlist('EXSM_MODEL')           := 'EXSM_WINTERS';
            V_setlist('EXSM_SEASONALITY')     := '4';
    	 V_setlist('EXSM_SETMISSING')	:= 'EXSM_MISS_AUTO');
    
            DBMS_DATA_MINING.CREATE_MODEL2(
                MODEL_NAME          => 'ESM_SALES_FORECAST_1',
                MINING_FUNCTION     => 'TIME_SERIES',
                DATA_QUERY          => 'select * from ESM_SH_DATA',
                SET_LIST            => v_setlst,
                CASE_ID_COLUMN_NAME => 'TIME_ID',
                TARGET_COLUMN_NAME  =>'AMOUNT_SOLD');
        END; 
    PL/SQL procedure successfully completed.
        ---------------------------
        PL/SQL procedure successfully completed.

    スクリプトを詳しく見てみます。

    • v_setlistは、SETTING_LISTを格納する変数です。
    • SETTING_LISTは、モデルのモデル設定またはハイパーパラメータを指定します。
    • DBMS_DATA_MININGは、機械学習に使用されるPL/SQLパッケージです。これらの設定の詳細は、DBMS_DATA_MINING - モデル設定を参照してください。
    • ALGO_NAMEは、アルゴリズム名を指定します。指数平滑法をアルゴリズムとして使用しているため、設定の値はALGO_EXPONENTIAL_SMOOTHINGです。
    • EXSM_INTERVALは、データ・セットの間隔または間隔サイズの単位を示します。たとえば、日、週、月などです。あなたは、四半期ごとの売上について予測しようとしています。したがって、設定はEXSM_INTERVAL_QTRです。この設定は、日時型の時間列にのみ適用されます。
    • EXSM_PREDICTION_STEPでは、実行する予測の数を指定します。あなたは、四半期を表す各値を表示しようとしています。したがって、値4は4つの事前予測の値を示します。
    • EXSM_MODELは、使用する指数平滑法モデルのタイプを指定します。ここでの値はEXSM_HWです。Holt-Winters三重指数平滑法モデルが加法的傾向および乗法的季節性とともに適用されます。このタイプのモデルでは、加法的傾向と乗法的傾向、季節性と誤差、傾向減衰の有無の各種組合せが考慮されます。その他のオプションとして、EXSM_SIMPLE、EXSM_SIMPLE_MULT、EXSM_HOLT, EXSM_HOLT_DMP、EXSM_MUL_TRND、EXSM_MULTRD_DMP、EXSM_SEAS_ADD、EXSM_SEAS_MUL、EXSM_HW, EXSM_HW_DMP、EXSM_HW_ADDSEA、EXSM_DHW_ADDSEA、EXSM_HWMT、EXSM_HWMT_DMPがあります。
    • EXSM_SEASONALITYは、季節の長さを示します。このパラメータでは、季節周期の長さとして正の整数値を指定します。1より大きい値を指定する必要があります。たとえば4は、4つの値の各グループが季節周期を形成することを意味します。
    • EXSM_SETMISSINGでは、欠損値の処理方法を指定します。時系列では、特殊値EXSM_MISS_AUTOは、系列に欠損値が含まれている場合に、不規則な時系列として処理されることを示します。

    CREATE_MODEL2プロシージャには、次の設定があります。

    • MODEL_NAME: モデルに指定する一意の名前。[schema_name.]model_nameの形式のモデル名。スキーマを指定しない場合は、ユーザー独自のスキーマが使用されます。ここでのモデル名はESM_SALES_FORECAST_1です。
    • MINING_FUNCTION: 機械学習機能を指定します。時系列の問題であるため、TIME_SERIESを選択します。
    • DATA_QUERY: モデルを構築するためのトレーニング・データを提供する問合せ。ここでの問合せは、SELECT * FROM ESM_SH_DATAです。
    • SET_LIST: SETTING_LISTを指定します。
    • CASE_ID_COLUMN_NAME: トレーニング・データの一意のケース識別子列。このユースケースでは、case_idはTIME_IDです。複合キーがある場合は、モデルを作成する前に新しい属性を作成する必要があります。
    • TARGET_COLUMN_NAME: 予測対象の列を指定します。モデルのターゲット変数とも呼ばれます。つまり、モデルが予測する値です。このユース・ケースでは、製品の売上をドル価格で予測しています。したがって、このユースケースでは、TARGET_COLUMN_NAMEAMOUNT_SOLDです。

      ノート:

      指定されていないパラメータまたは設定は、システムによって決定されるか、デフォルト値が使用されます。

評価

診断メトリックを表示し、品質チェックを実行してモデルを評価します。

ディクショナリ・ビューおよびモデル・ディテール・ビューを問い合せれば、モデルのパフォーマンスを測定するのに十分な場合もあります。ただし、平均絶対誤差(MAE)、二乗平均平方根誤差(RMSE)、混同行列、リフト統計、コスト行列などのテスト・メトリックを計算して、モデルを評価できます。相関ルールの場合、様々なルールを調査して、それらによって項目の依存関係(前件の項目セットが後件を暗に示す)または項目間の想定外の関係について新しいインサイトが明らかになるかどうかを確認できます。

ディクショナリ・ビューおよびモデル・ビュー

モデルおよびビュー・モデル設定に関する情報を取得するには、データ・ディクショナリ・ビューおよびモデル・ディテール・ビューを問い合せることができます。モデル・ディテール・ビューの特定のビューには、モデルの評価に役立つモデル統計が表示されます。

モデル・ディテール・ビューで様々な統計を詳しく調べることで、モデルを比較して、評価基準を満たす1つのモデルに到達できます。

次の表に、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. 次の問合せを実行して、モデル設定を確認できます。
     %sql
     
    SELECT SETTING_NAME, SETTING_VALUE
      FROM USER_MINING_MODEL_SETTINGS
      WHERE MODEL_NAME = UPPER('ESM_SALES_FORECAST_1')
      ORDER BY SETTING_NAME;
    
    SETTING_NAME                   SETTING_VALUE               
    ALGO_NAME                      ALGO_EXPONENTIAL_SMOOTHING  
    EXSM_ACCUMULATE                EXSM_ACCU_TOTAL             
    EXSM_CONFIDENCE_LEVEL          .95                         
    EXSM_INTERVAL                  EXSM_INTERVAL_QTR           
    EXSM_MODEL                     EXSM_WINTERS                
    EXSM_NMSE                      3                           
    EXSM_OPTIMIZATION_CRIT         EXSM_OPT_CRIT_LIK           
    EXSM_PREDICTION_STEP           4                           
    EXSM_SEASONALITY               4                           
    EXSM_SETMISSING                EXSM_MISS_AUTO              
    ODMS_DETAILS                   ODMS_ENABLE                 
    ODMS_MISSING_VALUE_TREATMENT   ODMS_MISSING_VALUE_AUTO     
    ODMS_SAMPLING                  ODMS_SAMPLING_DISABLE       
    PREP_AUTO                      ON                          
     
    14 rows selected.
    ---------------------------
  2. DM$VPモデル・ビューを表示するには、次の文を実行します。

    時系列のDM$VPビューには、ESMモデルの結果が含まれます。出力には、レコードのセット(パーティション、CASE_ID、値、予測、下限、上限など)が含まれています。これらは、パーティションおよびCASE_ID(時間)で順序付けされています。

    %script
    SELECT CASE_ID, VALUE, PREDICTION, LOWER, UPPER FROM DM$VPESM_SALES_FORECAST_1
    ORDER BY CASE_ID;
    
    CASE_ID     VALUE                PREDICTION           LOWER   UPPER  
    01-JAN-98     6480684.0000011446   6452375.7547333492                
    01-APR-98     5593994.1400007578   5848724.7899219571                
    01-JUL-98     6071823.1000010688   6214546.3092128271                
    01-OCT-98     5937413.7100012964   5869219.4189072186                
    01-JAN-99      6093747.209999715    6132016.410793812                
    01-APR-99     4925471.6299999086   5385954.0785653945                
    01-JUL-99     5827050.1500000218   5350240.2540956484                
    01-OCT-99     5373678.6700002998   5304626.0456054937                
    01-JAN-00     5984889.4899995513   5541123.2442497462                
    01-APR-00     5371730.9200002486     5236126.09628068                
    01-JUL-00     6121239.2899996703   5955258.7436284116                
    01-OCT-00     6287646.9199997969   6089446.4024073323                
    01-JAN-01     6547097.4400001625   6837567.1739504253                
    01-APR-01     6922468.3900004178   6188944.0536819538                 ...
     
    --------------------------------------------------------------------------------------
    文を詳しく見てみます。
    • CASE_ID: タイムスタンプを指定します。
    • VALUE: AMOUNT_SOLDを指定します。
    • PREDICTION: モデルの予測値を示します。
    • LOWERおよびUPPER: 信頼度の範囲を示します。
  3. モデル診断ビューDM$VGを表示し、モデルを評価するには、次の問合せを実行します。

    時系列のDM$VGビューには、モデルのグローバル情報と、見積平滑化定数、見積初期状態およびグローバル診断メジャーが格納されています。

    %sql
    SELECT NAME, round(NUMERIC_VALUE,4), STRING_VALUE
      FROM DM$VGESM_SALES_FORECAST_1
      ORDER BY NAME;
     
    
    NAME                ROUND(NUMERIC_VALUE,4)   STRING_VALUE  
    -2 LOG-LIKELIHOOD                   450.7508               
    AIC                                 466.7508               
    AICC                                487.3223               
    ALPHA                                 0.4525               
    AMSE                       157764777942.4555               
    BETA                                  0.4195               
    BIC                                 472.9315               
    CONVERGED                                    YES           
    GAMMA                                 0.0001               
    INITIAL LEVEL                   6110212.8741               
    INITIAL SEASON 1                      0.9939               
    INITIAL SEASON 2                      1.0231               
    INITIAL SEASON 3                      0.9366               
    INITIAL SEASON 4                      1.0465               
     
    NAME            ROUND(NUMERIC_VALUE,4)   STRING_VALUE  
    INITIAL TREND                 55478.0794               
    MAE                               0.0424               
    MSE                    104400146583.6485               
    NUM_ROWS                          918843               
    SIGMA                              0.054               
    STD                          323110.1153               
     
     
    20 rows selected.
     
    ---------------------------
    • NAME: 診断属性名を示します。
    • NUMERIC_VALUE: モデルの計算された統計値を示します。
    • STRING_VALUE: 診断パラメータの英数字の値を示します。

      指数平滑法アルゴリズムについて注意するいくつかのパラメータは次のとおりです。

      • ALPHA: 平滑化定数を示します。
      • BETA: 傾向の平滑化定数を示します。
      • GAMMA: 季節の平滑化定数を示します。
      • MAE: 平均絶対誤差を示します。
      • MSE: 平均平方誤差を示します。

指数平滑法では、系列は過去に無限に続きますが、将来に対する過去の影響は平滑に指数関数的な速さで減衰すると仮定しています。減衰の平滑さの割合は、1つ以上の平滑化定数によって表現されます。平滑化定数は、モデルによって推定されるパラメータです。これらの平滑化定数はα、β、γとして表されます。平滑化定数の値が1に近い場合は、最近の観測値にほとんどすべての重みを付けます。平滑化定数の値がゼロに近い場合は、遠い過去の観測値が大きな影響を与えるようになります。

αは系列の誤差やノイズと、βは傾向と、γは季節性要因と関連付けられていることに注意してください。γ値はゼロに最も近い値で、季節性がデータ・セットに影響を及ぼすことを意味します。

MAE値とMSE値は低く、モデルが良好であることを意味します。MSEの大きさは、元のデータの実際の規模によって異なります。この場合、STDは約105です。その二乗は約1010の規模です。誤差率は低いため、モデルは良好です。

スコア

次の4四半期について売上を予測する準備ができました。

時系列モデルの場合、DM$VPビューを使用してスコアリングまたは予測を実行できます。

  1. DM$VPモデル・ディテール・ビューを問い合せて、予測(4四半期の売上)を確認します。次の文を実行します。
    %sql
    SELECT TO_CHAR(CASE_ID,'YYYY-MON') DATE_ID,
           round(VALUE,2) ACTUAL_SOLD,
           round(PREDICTION,2) FORECAST_SOLD,
           round(LOWER,2) LOWER_BOUND, round(UPPER,2) UPPER_BOUND
      FROM DM$VPESM_SALES_FORECAST_1
      ORDER BY CASE_ID;

    このステップでは、予測に売上額がcase_idとともに表示されます。予測には信頼度の上限と下限が表示され、見積がこれらの値の間で変化する可能性があることを示しています。

    文を詳しく見てみます。
    • TO_CHAR(CASE_ID,'YYYY-MON') DATE_ID: DATE_ID列には、year-month (yyyy-mon)形式で抽出されたタイムスタンプまたはcase_idが含まれます。
    • round(VALUE,2) ACTUAL_SOLD: AMOUNT_SOLD値を、小数点以下2桁に丸めたACTUAL_SOLDとして指定します。
    • round(PREDICTION,2) FORECAST_SOLD: 予測値を、小数点以下2桁に丸めたFORECAST_SOLDとして指定します。
    • round(LOWER,2) LOWER_BOUND, round(UPPER,2) UPPER_BOUND: 小数点以下2桁に丸めた下限および上限の信頼度レベルを指定します。
    
    DATE_ID    ACTUAL_SOLD   FORECAST_SOLD   LOWER_BOUND   UPPER_BOUND   
    1998-JAN         6480684      6452375.75                             
    1998-APR      5593994.14      5848724.79                             
    1998-JUL       6071823.1      6214546.31                             
    1998-OCT      5937413.71      5869219.42                             
    1999-JAN      6093747.21      6132016.41                             
    1999-APR      4925471.63      5385954.08                             
    1999-JUL      5827050.15      5350240.25                             
    1999-OCT      5373678.67      5304626.05                             
    2000-JAN      5984889.49      5541123.24                             
    2000-APR      5371730.92       5236126.1                             
    2000-JUL      6121239.29      5955258.74                             
    2000-OCT      6287646.92       6089446.4                             
    2001-JAN      6547097.44      6837567.17                             
    2001-APR      6922468.39      6188944.05                             
    
    DATE_ID    ACTUAL_SOLD   FORECAST_SOLD   LOWER_BOUND   UPPER_BOUND   
    2001-JUL      7195998.63      7663836.77                             
    2001-OCT      7470897.52      7573926.96                             
    2002-JAN                      8232820.51    7360847.49    9104793.54 
    2002-APR                      7642694.94    6584565.24    8700824.63 
    2002-JUL                      8648402.54    7019914.28   10276890.81 
    2002-OCT                      8692842.46    6523676.33    10862008.6 
    
    
    20 rows selected. 
    
    
    ---------------------------
    
    
  2. OML Notebooksで予測を視覚的に表示するには、次の設定を使用して前述の同じ問合せを実行します。

    「設定」をクリックし、DATE_ID「キー」に、FORECASTED_SOLD (avg)ACTUAL_SOLD (avge)LOWER_BOUND (avg)およびUPPER_BOUND(avg)「値」にドラッグします。

    %sql
    SELECT TO_CHAR(CASE_ID,'YYYY-MON') DATE_ID, VALUE ACTUAL_SOLD,
           round(PREDICTION,2) FORECAST_SOLD,
           round(LOWER,2) LOWER_BOUND, round(UPPER,2) UPPER_BOUND
      FROM DM$VPESM_SALES_FORECAST_1
      ORDER BY CASE_ID;

これで、予測ステップが完了します。モデルは、次の4四半期の売上を予測することに成功しました。これにより、売上を追跡でき、製品の仕入れに関するアイデアを得ることもできます。