8.1 モデル・モニターの作成

モデル・モニターは、複数の互換性のあるモデルをモニターし、モデル・ドリフト・チャートを計算するのに役立ちます。互換性のあるモデルは、同じターゲットおよびマイニング関数でトレーニングされたモデルを指します。モデル・ドリフト・チャートは、モニター対象モデルごとに1つずつ、複数のデータ・ドリフト・ポイントで構成されます。

モデル・モニターは、オプションでデータをモニターして、追加の洞察を提供できます。この追加の洞察は、モデル・モニターの作成時に「データのモニター」オプションを選択すると生成される「ドリフト機能の重要度対予測機能の影響」チャートです。
このトピックでは、モデル・モニターの作成方法について説明します。この例では、2007年から2010年までの世帯の様々な消費メトリックを含む個々の世帯消費電力データセットを使用しています。目標は、世帯消費が4年間でどのように変化したかを理解することです。この例は、モデル予測精度に対するデータ・ドリフトの影響を追跡する方法を示しています。
データセットは、次の列で構成されています。
  • DATE_TIME - 日付と時間の関連情報がdd:mm:yyyy:hh:mm:ss形式で含まれます。
  • GLOBAL_ACTIVE_POWER - これは世帯のグローバル分平均有効電力(キロワット)です。
  • GLOBAL_REACTIVE_POWER — これは世帯のグローバル分平均無効電力(キロワット)です。
  • VOLTAGE - これは分平均電圧(ボルト)です。
  • GLOBAL_INTENSITY - これは世帯のグローバル分平均電流強度(アンペア)です。
  • SUB_METERING_1 - これは、エネルギー・サブメータリングNo. 1 (有効エネルギーのワット時)です。キッチンに対応しています。
  • SUB_METERING_2 - これは、エネルギー・サブメータリングNo. 2 (有効エネルギーのワット時)です。洗濯室に対応しています。
  • SUB_METERING_3 - これは、エネルギー・サブメータリングNo. 2 (有効エネルギーのワット時)です。電気給湯装置およびエアコンに対応しています。
モデル・モニターを作成するには:
  1. Oracle Machine Learning UIの左側のナビゲーション・メニューで、「モニタリング」を展開し、「モデル」をクリックしてモデル・モニタリング・ページを開きます。または、「モデル・モニタリング」アイコンをクリックして、モデル・モニタリング・ページを開くこともできます。
  2. モデル・モニタリング・ページで、「作成」をクリックして新規モデル・モニター・ページを開きます。
  3. 新規モデル・モニター・ページで、次の詳細を入力します:

    図8-2 新規モデル・モニター・ページ

    新規モデル・モニター・ページ
    1. モニター名: モデル・モニターの名前を入力します。ここでは、「Power Consumption」という名前が使用されます。
    2. コメント: コメントを入力します。これはオプションのフィールドです。
    3. ベースライン・データ: モニターするベースライン・データを含む表またはビューです。検索アイコンをクリックして、「表の選択」ダイアログを開きます。スキーマを選択し、次に表を選択します。ここでは、2007年のデータを含む表が選択されています。
    4. 新規データ: ベースライン・データと比較する新規データがある表またはビューです。検索アイコンをクリックして、「表の選択」ダイアログを開きます。スキーマを選択し、次に表を選択します。ここでは、2010年のデータを含む表が選択されています。
    5. ケースID: これはオプションのフィールドです。ベースラインおよび新規データのケース識別子を入力し、結果の繰返しを向上させます。
    6. 時間列: 新規データの表またはビューに時間情報を格納する列の名前です。DATE_TIME列がドロップダウン・リストから選択されます。

      ノート:

      時間列が空白の場合、新規データ全体が1つの期間として処理されます。

    7. 分析期間: 新規データに対してデータ・モニタリングが実行される時間の長さです。モデル・モニタリングの分析期間を選択します。オプションは、「日」「週」「月」「年」です。
    8. 開始日: データ・モニター・スケジュールの開始日です。開始日を指定しない場合、現在日が開始日として使用されます。
    9. 繰返し: この値は、定義された頻度でモデル・モニターの実行が繰り返される回数を定義します。1から99までの数値を入力します。たとえば、ここで「繰返し」フィールドに「2」と入力し、「頻度」フィールドに「分」と入力すると、モデル・モニターは2分ごとに実行されます。
    10. 頻度: この値は、新規データに対してモデル・モニターを実行する頻度を決定します。モデル・モニタリングの頻度を選択します。オプションは、「分」、「時間」、「日」、「週」および「月」です。たとえば、「頻度」フィールドで「分」「繰返し」フィールドで2「開始日」フィールドで5/30/23を選択した場合、スケジュールに従って、モデル・モニターは5/30/23から2分ごとに実行されます。
    11. マイニング関数:使用可能なマイニング関数は、RegressionおよびClassificationです。必要に応じて機能を選択します。この例では、Regressionが選択されています。
    12. ターゲット: ドロップダウン・リストから属性を選択します。この例では、GLOBAL_ACTIVE_POWERが回帰モデルのターゲットとして使用されます。
    13. 再計算: すでに計算された期間を更新するには、このオプションを選択します。つまり、出力結果テーブルに存在しない期間だけが計算されます。デフォルトでは、再計算は無効になっています。
      • 有効にすると、「開始日」フィールドに指定された期間と終了時間に対してドリフト分析が実行されます。この分析によって、指定した期間の既存の結果が上書きされます。つまり、現在のデータ以外の新規データを使用して、その期間の分析が計算されます。
      • 無効にすると、結果表に存在する期間のデータはそのまま保持されます。最新の期間の新しいデータのみが分析の対象となり、その結果が結果表に追加されます。
    14. モニター・データ: このオプションを選択すると、指定したデータのデータ・モニタリングが有効になります。有効にすると、モデル固有の結果における予測機能の影響とドリフト機能の影響を計算するために、モデル・モニターとともにデータ・モニターも作成されます。
  4. 「追加設定」をクリックして、このセクションを展開し、モデル・モニターの詳細設定を指定します:

    図8-3 新規モデル・モニター・ページの「追加設定」セクション

    新規モデル・モニター・ページの「追加設定」セクション
    1. メトリック: モデル・モニターの作成ページの「マイニング関数」フィールドで選択したマイニング関数に応じて、該当するメトリックがリストされます。ドロップダウン・リストをクリックして、メトリックを選択します。
      マイニング関数Classificationの場合、メトリックは次のとおりです。
      • 精度 — 正数と負数の両方のケースを正しく分類する割合を計算します。たとえば、TP + TN + FP + FN (True Positives+True Negatives+False Positives+False Negatives)ケースから正しく分類されたTP (True Positives) + TN (True Negatives)ケースの合計がある場合、式は次のようになります。

        Accuracy = (TP+TN)/(TP+TN+FP+FN)

      • バランスの取れた精度 — 二項分類子がどの程度良好かを評価します。これは、クラスが不均衡な場合、つまり2つのクラスのいずれかが他方よりも頻繁に出現する場合に特に便利です。これは、異常検出などの多くの設定でよく発生します。
      • ROC AUC (ROC曲線下面積) — 判定しきい値に関係なく、差別の総合的な尺度を提供します。AUC - ROC曲線は、様々なしきい値設定における分類問題のパフォーマンス測定値です。
      • 再現率 — 正しく分類された実際の陽性の比率を計算します。
      • 適合率 — 予測された陽性のうち真陽性であるものの割合を計算します。
      • F1スコア — 適合率と再現率を組み合せて単一の数値にします。F1スコアは、次の式で計算される調和平均を使用して計算されます。

        F1-score = 2 × (precision × recall)/(precision + recall)

      複数クラス分類の場合、メトリックは次のとおりです。
      • 精度
      • バランスの取れた精度
      • Macro_F1
      • Macro_Precision
      • Macro_Recall
      • Weighted_F1
      • Weighted_Precision
      • Weighted_Recall
      回帰の場合、メトリクスは次のとおりです。
      • R2 — 適合回帰線へのデータの近似度を計算する統計的測定。一般に、R2乗の値が大きいほど、モデルはデータに適合します。R2の値は常に0から1の間です。
        • 0は、平均に関するレスポンス・データの変動がモデルで説明されていないことを示します。
        • 1は、平均に関するレスポンス・データのすべての変動をモデルが説明していることを示します。
      • 平均二乗誤差: これは、予測ターゲットと実際のターゲットの2乗差の平均です。
      • 平均絶対誤差: これは、予測ターゲットと実際のターゲットの絶対差の平均です。
      • 中央絶対誤差: これは、予測ターゲットと実際のターゲットの間の絶対差の中央値です。
    2. ドリフトしきい値: ドリフトは、ベースライン・データと新しいデータ期間の間のパフォーマンスの相対的な変化を取得します。特定の機械学習の問題に基づいて、モデル・ドリフト検出のしきい値を設定します。デフォルトは0.7です。
      • このしきい値を超えるドリフトは、モデル予測の大幅な変化を示します。しきい値を超えると、モデルの再構築および再デプロイが必要になる場合があることを示します。
      • このしきい値を下回るドリフトは、さらなる調査またはアクションを正当化するほどのデータの変化が十分ではないことを示します。
    3. データベース・サービス・レベル: これはジョブのサービス・レベルであり、LOW、MEDIUMまたはHIGHのいずれかです。
    4. 分析フィルタ: 特定の期間のモデル・モニタリング分析が必要な場合は、このオプションを有効にします。スライダを右に移動して有効にし、「開始日」フィールドと「終了日」フィールドでそれぞれ日付を選択します。デフォルトでは、このフィールドは無効になっています。
      • 開始日: 新規データでのモニタリングの開始日またはタイムスタンプです。これは、表に時間列が存在することを想定しています。「分析フィルター」オプションを使用する場合、これは必須フィールドです。
      • 終了日: 新規データでのモニタリングの終了日またはタイムスタンプです。これは、表に時間列が存在することを想定しています。「分析フィルター」オプションを使用する場合、これは必須フィールドです。
    5. 最大実行数: このスケジュールに従ってモデル・モニターを実行できる最大回数です。デフォルトは3です。
  5. 「モデル」セクションで、モニターするモデルを選択し、ページの右上隅にある「保存」をクリックします。「マイニング関数」および「ターゲット」フィールドに値を指定すると、デプロイされたモデルのリストが取得され、「モデル」セクションに表示されます。モデルは、モデル・ページまたはAutoMLリーダーボードからデプロイされます。モデル・ページの「デプロイメント」タブで、デプロイ済モデルの完全なリストを表示できます。デプロイされたモデルは、OMLサービスによって管理されます。

    ノート:

    モデルを削除する場合は、モデルを再デプロイする必要があります。モデルはスキーマ・ベースのモデルではなく、OMLサービスにデプロイされたモデルです。

    図8-4 新規モデル・モニター・ページの「モデル」セクション

    新規モデル・モニター・ページの「モデル」セクション
    モデル・モニターが正常に作成されると、Model monitor has been created successfully.というメッセージが表示されます。

    ノート:

    モデル・モニタリングを開始するには、モデル・モニタリング・ページに移動し、モデル・モニターを選択して「開始」をクリックする必要があります。