7 データ・モニタリングの概要

データ・モニタリングでは、時間の経過に伴うデータの進化を評価します。これは、データのトレンドおよび多変量依存関係に関するインサイトを得るのに役立ちます。また、データ・ドリフトに関する早期警告にもなります。

データ・ドリフトは、時間の経過に伴ってデータが当初のベースライン・データから離れていく場合に発生します。データ・ドリフトは、ビジネス環境の変化、ユーザーの行動と関心の進化、サード・パーティ・ソースによるデータの変更、データ品質の問題、アップストリームのデータ処理パイプラインに関する問題など、様々な理由で発生します。

モデルを正確に解釈し、そのモデルでビジネス上の問題を解決できることを確認するには、時間の経過とともにデータがどのように進化するかを理解することが重要です。データの変化を理解することはモデルの有効性の変化を理解するうえで非常に重要であるため、モデル・モニタリングを正しく行うためにデータ・モニタリングは欠かせません。データの統計プロパティの変化を迅速かつ確実に検出できれば、自分の機械学習モデルがビジネスの目的と合致していることを確認できます。

Oracle Machine Learningユーザー・インタフェースのデータ・モニタリング機能を使用して、データをモニタリングできます。データをモニターするには、Oracle Machine Learning UIホームページの「クラウド」メニューをクリックし、「モニタリング」「データ」をクリックしてデータ・モニター・ページを開きます。データ・モニター・ページでは、次のタスクを実行できます。

図7-1 データ・モニター・ページ

データ・モニター・ページ
  • 作成: データ・モニターを作成します。

    ノート:

    データ・モニタリングでサポートされているデータ型は、NUMERICおよびCATEGORICALです。
  • 編集: データ・モニターを選択し、「編集」をクリックしてデータ・モニターを編集します。
  • 複製: データ・モニターを選択し、「複製」をクリックしてモニターのコピーを作成します。
  • 削除: データ・モニターを選択し、「削除」をクリックしてデータ・モニターを削除します。
  • 履歴: データ・モニターを選択し、「履歴」をクリックしてランタイムの詳細を表示します。モニターに戻るをクリックしてデータ・モニタリング・ページページに戻ります。
  • 開始: データ・モニターを開始します。
  • 停止: 実行中のデータ・モニターを停止します。
  • その他: データ・モニターを選択して「その他」をクリックし、次をクリックします。
    • 有効化: データ・モニター・スケジュールを有効にします。データ・モニターはデフォルトで有効になっています。ステータスはSCHEDULEDとして表示されます。
    • 無効化: データ・モニター・スケジュールを無効化します。ステータスはDISABLEDとして表示されます。

データ・モニター・ページには、選択したモニターに関する情報(モニター名、ベースライン・データ、新規データ、最終開始日、最終ステータス、次回実行データ、ステータスおよびスケジュール)が表示されます。データ・モニターが正常に実行されている場合、ページにはデータ・ドリフトも表示されます。データ・ドリフトを表示するには:

図7-2 データ・モニター・ページの「データ・ドリフト」プレビュー

データ・モニター・ページのデータ・ドリフト・プレビュー

スクリーンショットに示すように、正常に実行されたデータ・モニターを選択します。下部のペインに、選択したモニターのデータ・ドリフトが表示されます。X軸は分析期間を表し、Y軸はデータ・ドリフト値を表します。横の点線はしきい値を示し、実線は分析期間の各時点のドリフト値を表します。マウスを線の上に置くと、ドリフト値が表示されます。この例の詳細は、データ・モニター結果の表示を参照してください。

関連トピック

7.1 データ・モニターの作成

データ・モニタリングを使用すると、時間の経過に伴うデータ・ドリフト、および機械学習モデルのパフォーマンスに対する悪影響の可能性を検出できます。データ・モニター・ページでは、データ・モニターを作成、実行および結果を追跡することができます。

データ・モニターを作成するには:
  1. Oracle Machine Learning UIの左側のナビゲーション・メニューで、「モニタリング」を展開し、「データ」をクリックしてデータ・モニタリング・ページを開きます。
  2. データ・モニタリング・ページで、「作成」をクリックして新規データ・モニター・ページを開きます。
  3. 新規データ・モニター・ページで次の詳細を入力します。

    図7-3 新規データ・モニター

    新規データ・モニター
    1. モニター名: データ・モニターの名前を入力します。
    2. コメント: コメントを入力します。これはオプションのフィールドです。
    3. ベースライン・データ: モニターするベースライン・データを含む表またはビューです。検索アイコンをクリックして、「表の選択」ダイアログを開きます。ここでスキーマを選択し、次に表を選択します。

      ノート:

      データ・モニタリングでサポートされるデータ型は、長さが<=4000NUMBER, BINARY_DOUBLE, FLOAT, BINARY_FLOAT, VARCHAR2, CHAR, NCHARおよびNVARCHAR2です。
    4. 新規データ: ベースライン・データと比較する新規データがある表またはビューです。検索アイコンをクリックして、「表の選択」ダイアログを開きます。スキーマを選択し、次に表を選択します。

      ノート:

      データ・モニタリングでサポートされるデータ型は、長さが<=4000NUMBER, BINARY_DOUBLE, FLOAT, BINARY_FLOAT, VARCHAR2, CHAR, NCHARおよびNVARCHAR2です。
    5. クロス集計: ドロップダウン・リストから属性を選択します。ベースラインおよび新規データのこの属性は、データの二変量解析のアンカーまたはターゲットとして機能します。

      ノート:

      モニター対象の問題のターゲット列を、このフィールドのアンカー列として渡すことができます。監視なしの問題の場合は、関連する列のどれでも該当します。ただし、アプリケーション固有のものになります。
    6. ケースID: これはオプションのフィールドです。ベースラインおよび新規データのケース識別子を入力し、結果の繰返しを向上させます。
    7. 時間列: 新規データの表またはビューに時間情報を格納する列の名前です。ドロップダウン・リストから時間列を選択します。

      ノート:

      時間列が空白の場合、新規データ全体が1つの期間として処理されます。
    8. 分析期間: 新規データに対してデータ・モニタリングが実行される時間の長さです。データ・モニタリングの分析期間を選択します。オプションは、「日」「週」「月」「年」です。
    9. 開始日: データ・モニター・スケジュールの開始日です。開始日を指定しない場合、現在日が開始日として使用されます。
    10. 繰返し: この値は、定義された頻度でデータ・モニターの実行が繰り返される回数を定義します。1から99までの数値を入力します。たとえば、ここで「繰返し」フィールドに2と入力し、「頻度」フィールドに「分」と入力すると、データ・モニターは2分ごとに実行されます。
    11. 頻度: この値は、新規データに対してデータ・モニターを実行する頻度を決定します。データ・モニタリングの頻度を選択します。オプションは、「分」、「時間」、「日」、「週」および「月」です。たとえば、「頻度」フィールドで「分」「繰返し」フィールドで2「開始日」フィールドで5/30/23を選択した場合、スケジュールに従って、データ・モニターは5/30/23から2分ごとに実行されます。
  4. 「再計算」をクリックします: すでに計算された期間の分析を再計算するには、このオプションを選択します。デフォルトでは、再計算は無効になっています。
    • 有効にすると、「開始日」フィールドに指定された期間と終了時間に対してデータ・ドリフト分析が実行されます。この分析によって、指定した期間の既存の結果が上書きされます。つまり、現在のデータ以外の新規データを使用して、その期間の分析が計算されます。選択した頻度によっては、新しい分析結果が既存の結果と重複する可能性があります。
    • 無効にすると、結果表に存在する期間のデータはそのまま保持されます。最新の期間の新しいデータのみが分析の対象となり、その結果が結果表に追加されます。
  5. 「追加設定」をクリックして、このセクションを展開し、データ・モニターの詳細設定を指定します:

    図7-4 データ・モニタリングの追加設定

    データ・モニタリングの「追加設定」セクション
    1. ドリフトしきい値: ドリフトは、ベースライン・データと新しいデータ期間の間のパフォーマンスの相対的な変化を取得します。特定の機械学習の問題に基づいて、データ・ドリフト検出のしきい値を設定します。デフォルトは0.7です。

      ノート:

      しきい値はユース・ケースに応じて調整できます。値を大きくすると生成されるアラートが減少し、小さくするとアラートが増加します。
      • このしきい値を超えるドリフトは、データの大幅な変化を示します。しきい値を超えると、モデルの再構築および再デプロイが必要になる場合があることを示します。
      • このしきい値を下回るドリフトは、さらなる調査またはアクションを正当化するほどのデータの変化が十分ではないことを示します。
    2. データベース・サービス・レベル: Autonomous Databaseサービス・レベル(「低」「中」「高」)です。デフォルトは「低」です。サービス・レベル「中」では、「低」より多くのリソースがデータ・モニター実行に提供されます。サービス・レベル「高」では、「中」より多くのリソースがデータ・モニター実行に提供されます。
    3. 分析フィルタ: 特定の期間のデータ・モニタリング分析が必要な場合は、このオプションを有効にします。スライダを右に移動して有効にし、「開始日」フィールドと「終了日」フィールドでそれぞれ日付を選択します。デフォルトでは、このフィールドは無効になっています。
      • 開始日: 新規データでのモニタリングの開始日またはタイムスタンプです。これは、表に時間列が存在することを想定しています。「分析フィルター」オプションを使用する場合、これは必須フィールドです。
      • 終了日: 新規データでのモニタリングの終了日またはタイムスタンプです。これは、表に時間列が存在することを想定しています。「分析フィルター」オプションを使用する場合、これは必須フィールドです。
    4. 最大実行数: このスケジュールに従ってデータ・モニターを実行できる最大回数です。デフォルトは3です。
  6. 「機能」グリッドには、モニターする機能のリストが表示されます。ここでは、モニタリングに含める、またはモニタリングから除外する機能を選択/選択解除できます。デフォルトでは、すべての機能が選択されています。選択したデータが表であり、Autonomous Databaseによって自動収集されたRDBMS統計がある場合、機能統計が提供されます。Oracle Machine Learning Servicesでは、表とビューの両方で最初の実行の統計が計算され、最初の実行後に計算結果がここに表示されます。統計は、その後の実行で更新されます。

    図7-5 データ・モニターの「機能」グリッド

    データ・モニターの「機能」グリッド

    ノート:

    「ケースID」および「クロス集計」列は選択できません。
  7. 「保存」をクリックします。これで、データ・モニターの作成タスクは完了です。

    ノート:

    データ・モニタリングを開始するには、データ・モニタリング・ページに移動し、データ・モニターを選択して「開始」をクリックする必要があります。
    データ・モニターが正常に実行されたら、データ・モニタリング・ページでモニターを選択して、データ・ドリフトおよびその他のデータ・モニターの詳細を表示します。詳細は、データ・モニタリングの概要を参照してください。

7.2 データ・モニター結果の表示

データ・モニター結果ページには、正常に実行された選択したデータ・モニターに関する情報が、各モニター対象機能のデータ・ドリフトの詳細とともに表示されます。

データ・モニター・ページで、正常に実行されたデータ・モニターをクリックします。この例では、データ・モニター「Power Consumption」が選択されています。データ・モニターの結果は、次のセクションで構成されるデータ・モニター結果ページに表示されます。
  • 設定 - 「設定」セクションにデータ・モニターの設定が表示されます。このセクションを展開するには、「設定」の矢印をクリックします。データ・モニターの設定を編集するには、ページの右上隅にある「編集」をクリックします。このスクリーンショットでは、データ・モニターの設定が表示されています。

    図7-6 データ・モニター結果ページの「設定」セクション

    データ・モニター結果ページの「設定」セクション
  • ドリフト - 「ドリフト」セクションには、モニター対象の各機能のデータ・ドリフトの詳細が表示されます。この例では、データ・モニターの「Power Consumption」データ・モニターが選択されています。X軸は分析期間を表し、Y軸はデータ・ドリフト値を表します。横の点線はしきい値を示し、実線は分析期間の各時点のドリフト値を表します。マウスを線の上に置くと、ドリフト値が表示されます。

    図7-7 データ・モニター結果ページの「データ・ドリフト」セクション

    データ・モニター結果ページの「データ・ドリフト」セクション
  • 機能 - 「機能」セクションには、モニター対象の機能と計算された統計が表示されます。

    図7-8 データ・モニター結果ページの「機能」セクション

    データ・モニター結果ページの「機能」セクション

    「重要度」列の値は、指定した期間に機能がデータ・ドリフトに与えた影響を示します。

    数値データの場合は、次の統計が計算されます。
    • 平均
    • 標準偏差
    • 範囲(最小、最大)
    • NULLの数
    分類データの場合は、次の統計が計算されます。
    • 一意の値の数
    • NULLの数

    モニター対象の各機能については、このスクリーンショットに示すように、カーソルを移動して次の追加詳細を表示します。

    • 最初: 分析期間について計算した統計の最初の値です。
    • 最後: 分析期間について計算した統計の最後の値です。
    • 最大: 分析期間について計算した統計の最大値です。
    • 最小: 分析期間について計算した統計の最小値です。
  • このスクリーンショットに示すように、「機能」セクションのモニター対象の機能をクリックして、「メトリック」、「統計」、「分散」およびクロス集計の列の分布を表示します。このスクリーンショットでは、機能GLOBAL_REACTIVE_POWERのPopulation Stability Indexが表示されています。

    図7-9 Population Stability Index

    Population Stability Index
    計算には次のものがあります。
    • メトリック: 次のメトリックが計算されます。
      • Population Stability Index (PSI): これは、集団が時間の経過とともに、または1つの数値の集団の2つの異なるサンプル間でシフトした量の測定値です。2つの分布はバケットに入れられ、PSIは各バケット内のアイテムのパーセントを比較します。PSIは次のように計算されます

        PSI = sum((Actual_% - Expected_%) x ln (Actual_% / Expected_%))

        PSI値の解釈は次のとおりです。
        • PSI < 0.1は、集団に大きな変化がないことを意味します
        • 0.1 <= PSI < 0.2は、集団に中程度の変更があることを意味します
        • PSI >= 0.2は、集団に大幅な変化があることを意味します
      • Jenson Shannon Distance (JSD): これは、2つの確率分布間の類似性の尺度です。JSDは、カルバック・ライブラー情報量(KLD)に関連するJensen-Shannon Divergenceの平方根です。JSDは次のように計算されます。

        SD(P || Q)= sqrt(0.5 x KLD(P || M) + 0.5 x KLD(Q || M))

        ここで、PとQは2つの分散、M = 0.5 x (P + Q), KLD(P || M) = sum(Pi x ln(Pi / Mi))、およびKLD(Q || M) = sum(Qi x ln(Qi / Mi))です

        JSDの値は0から1の範囲です。

      • クロス集計Population Stability Index: これは2つの変数のPSIです。
      • クロス集計Jenson Shannon Distance: これは2つの変数のJSDです。
    • 統計: 選択した最大3期間の統計を表示できます。データ・ドリフトは、これらの統計の計算を使用して定量化されます。

      図7-10 統計

      統計
      数値データの場合は、次の統計が計算されます。
      • 平均
      • 標準偏差
      • 範囲(最小、最大)
      • NULLの数
      分類データの場合は、次の統計が計算されます。
      • 一意の値の数
      • NULLの数
    • 分布: 凡例を含む機能の分布チャートには、選択した期間とベースラインの機能のビンが表示されます(オプション)。

      図7-11 分布チャートとクロス集計の列の分布

      クロス集計の列の分布
    • クロス集計の列の分布: ヒート・マップは、選択したクロス集計および機能の列の分布の密度を示します。赤は最高の密度を示します。

      ノート:

      データ・ドリフト・モニタリングでは、nullnumber_of_missing_valuesとして個別に追跡されます。

7.3 履歴の表示

「履歴」ページには、データ・モニターの実行時の詳細が表示されます。

データ・モニターを選択し、「履歴」をクリックしてランタイムの詳細を表示します。「履歴」ページには、データ・モニターの実行時に関する次の情報が表示されます。

図7-12 データ・モニターの「履歴」ページ

データ・モニターの「履歴」ページ
  • 実際の開始日: データ・モニターが実際に開始された日付です。
  • リクエストされた開始日: データ・モニターの作成時に「開始日」フィールドに入力された日付です。
  • ステータス: ステータスはSUCCEEDEDおよびFAILEDです。
  • 詳細: データ・モニターが失敗した場合、詳細がここにリストされます。
  • 期間: データ・モニターの実行にかかった時間です。

モニターに戻るをクリックしてデータ・モニタリング・ページページに戻ります。