Skip to content

教師なし時間認識モデリング

教師なし学習 では、ラベルなしデータを使用して、データのパターンに関するインサイトを明らかにします。 これに対して、教師あり学習では、データセットの他の特徴量を使って予測を行います。 教師なし学習のセットアップを以下で説明します。

備考

時間認識モデリングの基礎について、豊富な資料を用意しています。 手順はほとんどDataRobot Classicで適用されるワークフローを表していますが、 フレームワーク特徴量派生プロセスなどを説明するリファレンス資料も今までどおり適用できます。

基本的なエクスペリメント設定

ユースケース内から新しいエクスペリメントを作成するには、次の手順に従います。

備考

モデリングを開始ボタンをクリックして、データセットから直接モデリングを開始することもできます。 新しいエクスペリメントの設定ページが開きます。 ここから、以下の手順に従ってください。

特徴量セットを作成

モデリングを行う前に、 データ探索ページからカスタム特徴量セットを作成することができます。 その後、 モデリングの設定中にそのリストを選択すると、リストの特徴量のみを使用してモデリングデータを作成することができます。

DataRobotは、特徴量派生処理の後に新しい特徴量セットを自動的に作成します。 モデリングが完了したら、時間認識セットを使用して 新しいモデルをトレーニングできます。 特徴量セットのポストモデリングの詳細については、 こちらをご覧ください。

エクスペリメントを追加

ユースケース内から追加をクリックし、エクスペリメントを選択します。 新しいエクスペリメントの設定ページが開き、ユースケースにロード済みのすべてのデータが一覧表示されます。

データを追加

新しいデータを追加 する(1)か、ユースケースに既にロードされているデータセットを選択する(2)ことにより、エクスペリメントにデータを追加します。

データがユースケースにロードされたら(上記のオプション2と同様)、エクスペリメントで使用するデータセットをクリックして選択します。 ワークベンチは、データのプレビューを開きます。

ここから、次のことができます。

オプション
1 クリックして、データリストに戻り、別のデータセットを選択します。
2 アイコンをクリックして続行し、学習タイプとターゲットを設定します。
3 次へをクリックして続行し、学習タイプとターゲットを設定します。

モデリング設定の開始

続行すると、ワークベンチでは、モデリング用のデータセットが準備されます(EDA 1)。

備考

これ以降のエクスペリメントの作成では、エクスペリメントの設定を続行しても(次へ)、終了してもかまいません。 終了を選択すると、変更を破棄するか、すべての進捗をドラフトとして保存するよう促されます。 どちらの場合でも、終了時にはエクスペリメントのセットアップを開始した時点に戻り、EDA1の処理は失われます。 終了してドラフトを保存を選択すると、ドラフトはユースケースディレクトリで利用できます。

ワークベンチで作成したドラフトをDataRobot Classicで開き、ワークベンチでサポートされていない機能を導入する変更を加えた場合、そのドラフトはユースケースにリストされますが、Classicインターフェイス以外からはアクセスできません。

学習タイプの設定

一般的にDataRobotはラベル付けされたデータを使用し、モデルを構築するために教師あり学習法が使用されます。 教師あり学習では、ターゲットを指定すると、データセットのその他の特徴量を使用してそのターゲットを予測することができるモデルが構築されます。

教師なし学習では、ターゲットを指定せず、データにラベルを付けません。 教師あり学習としての予測を生成する代わりに、教師なし学習はデータ内のパターンについてインサイトし、「データに異常がないか?」 「自然クラスターがあるか?」といった質問に答えます。

EDA1の完了後に教師なし学習のエクスペリメントを作成するには、学習タイプのドロップダウンから、以下のいずれかを選択します。

学習タイプ 説明
教師あり 予測を行うために、データセットの他の特徴量を使ってモデルを構築します。これはデフォルトの学習タイプです。
クラスタリング (教師なし) ターゲットがない、ラベルなしデータを使用して、類似したデータをグループ化し、セグメントを識別するモデルを構築します。
異常検知 (教師なし) ターゲットがない、ラベルなしデータを使用して、データセットの異常を検出するモデルを構築します。

クラスタリングを使用する際に知っておくべきことについては、 時系列固有の機能に関する注意事項を参照してください。

備考

時系列クラスタリングには、複数系列のデータセットが必要です。 また、非時系列の日付/時刻パーティションで分割されたクラスタリングは使用できません。

クラスタリング

クラスタリングを使用すると、数値データ、カテゴリーデータ、テキストデータ、画像データ、地理空間データなど、さまざまなタイプのデータを個別に、または組み合わせてグループ化し、自然なセグメントを特定することによって、データを探索できます。 クラスタリングモードでは、DataRobotは、データセット内の列で明示的にキャプチャされていない潜在動作をキャプチャします。 クラスタリングは、データに明示的なラベルが付いておらず、データがどういった形であるかを判断する必要がある場合に有用です。 クラスタリングの例には次のようなものが考えられます:

  • テキストコレクションにおける、トピック、タイプ、分類、および言語の検出。 クラスタリングは、テキスト特徴量と他の特徴量の型が混在するデータセットにも、トピックモデリングのための単一のテキスト特徴量にも適用できます。

  • 予測マーケティングキャンペーンを実行する前の、カスタマーベースのセグメント化。 顧客の主要グループを識別し、各グループにさまざまなメッセージを送信します。

  • 画像のコレクションにおいて潜在的なカテゴリーを把握します。

クラスタリングの設定

クラスタリングのエクスペリメントを設定するには、学習タイプクラスタリングに設定します。 教師なしエクスペリメントではターゲットを指定しないため、ターゲット特徴量フィールドは削除され、他の基本設定が利用可能になります。

各フィールドの説明を次の表に示します。

フィールド 説明
モデリングモード モデリングモード。DataRobotがトレーニングするブループリントに影響します。 デフォルトの包括的オートパイロットでは、すべてのリポジトリのブループリントがオートパイロットの最大サンプルサイズで実行され、最も精度の高い類似性のグループ分けが提供されます。
最適化指標 DataRobotのクラスタリングモデルのスコアリング方法を定義します。 クラスタリングエクスペリメントでは、 シルエットスコアのみがサポートされている指標です。
トレーニング特徴量セット DataRobotがモデルを構築するために使用する特徴量のサブセットを定義します。

クラスター数の設定

DataRobotは固定数のクラスターの設定をサポートする各アルゴリズムの1つのモデルをトレーニングします(K平均法またはGaussian混合モデルなど)。 トレーニングされるモデル数はクラスターの数で指定された数に基づき、デフォルト値はデータセットの行数に基づきます。

たとえば、上の図のように数値を設定すると、DataRobotは3、5、7、10クラスターを使用してクラスタリングアルゴリズムを実行します。

DataRobotがトレーニングするクラスターの数をカスタマイズするには、追加の自動化設定を表示を展開し、表示された範囲内の値を入力します。

時系列クラスタリングの有効化

初期設定が完了したら、

  1. 時系列モデリングを有効にする。
  2. 系列IDを設定。
  3. 選択の編集をクリックして、少なくとも1つのクラスタリング特徴量を選択します。 追加する特徴量は、DataRobotが自動的に含める順序付け特徴量と系列IDに追加されます。 特徴量が追加されるたびにモデリング時間が長くなることに注意してください。そのため、ベストプラクティスでは以下の手順を推奨しています。

    • 時間の経過とともに値が変化する特徴量を選択する
    • 有用性の低い特徴量は選択することは避ける

  4. 左側のパネルで設定を確認します。 設定のサマリーを確認できるほか、DataRobotが特別な時系列クラスタリング用の特徴量セットを適用していることがわかります。一旦クラスタリングが設定されると、この特徴リストは変更できません。 必要に応じてパーティショニングをクリックして、クラスタリングバッファ](change-clustering-partitioning)の設定を変更するか、モデリングを開始をクリックします。

クラスタリングのパーティショニングの変更

パーティショニングタブでは、 バックテストパーティションの数を変更することはできません。クラスタリングで実行できるバックテストは1つだけです。 クラスタリングでは、ホールドアウトための行は確保されません。 代わりに、クラスタリングバッファを含めるオプションが用意されています。 バッファのオンとオフを切り替えて期間を変更します。 クラスタリングバッファが含まれる場合、トレーニング期間は短くなりますが、検証は変更されません。

異常検知

異常検知(外れ値検知または新規性検知とも呼ばれます)は、教師なし学習の応用の一種です。 異常検知は、ネットワークとサイバーセキュリティ、保険詐欺、クレジットカード詐欺など、多くの通常のトランザクションと少量の異常トランザクションが存在する場合に使用できます。 教師ありの方法は、このような少数の異常ケースの予測において優れていますが、関連データにラベルを設定するにはコストと時間がかかります。 異常検知の使用に関する重要な情報については、機能に関する注意事項を参照してください。

異常検知の設定

異常検知のエクスペリメントを設定するには、学習タイプ異常検知に設定します。 パーティション特徴量が必要です。

各フィールドの説明を次の表に示します。

フィールド 説明
モデリングモード モデリングモード。DataRobotがトレーニングするブループリントに影響します。 デフォルトのクイックオートパイロットには、インサイトをすばやく構築して提供するモデルの基本セットが用意されています。
最適化指標 DataRobotのクラスタリングモデルのスコアリング方法を定義します。 異常検知エクスペリメントの場合、 合成AUCがデフォルトであり、推奨される指標です。
トレーニング特徴量セット DataRobotがモデルを構築するために使用する特徴量のサブセットを定義します。

日付/時刻の異常検知の有効化

時間認識プロジェクトに異常検知を使用するには、データパーティショニングタブの分割手法を変更します。 他の時間認識エクスペリメント(順序付け特徴量およびバックテストパーティション設定)と同様に、日付/時刻のパーティショニングを設定します。

時系列の異常検知の有効化

時系列で異常検知を使用するには:

  1. 時系列を有効化。 順序付け特徴量は、日付/時刻のパーティショニング設定から引き継がれます。
  2. 系列IDを設定する
  3. ウィンドウの設定を確認します。 異常検知では、特徴量派生ウィンドウの予測ポイントより前の日数のみ変更可能であることに注意してください。

設定が完了したら、モデリングの開始をクリックします。

教師なしインサイト

モデリングを開始すると、DataRobotでリーダーボードにモデルが入力されます。 以下の表は、教師なし異常検知 (AD) と日付/時刻でパーティショニングされた、エクスペリメントのクラスタリングで利用可能なインサイトを説明するものです。

インサイト OTVのAD 時系列のAD 時系列のクラスタリング
異常評価 いいえ はい いいえ
時間経過に伴う異常 はい はい いいえ
ブループリント はい はい はい
特徴量ごとの作用 はい はい はい
特徴量のインパクト はい はい はい
予測の説明*ast; はい はい いいえ
安定性 はい はい いいえ
系列のインサイト いいえ いいえ はい

機能に関する注意事項

教師なし学習の可用性はライセンスに応じて異なります。

機能 予測 日付/時刻のパーティション 時系列
異常検知 一般提供 一般提供 プレミアム(系列ライセンス)
クラスタリング プレミアム(クラスタリングライセンス) 使用できません プレミアム(系列ライセンス)

クラスタリングに関する注意事項

クラスタリングを使用する場合、以下の点を考慮してください。

  • クラスタリングプロジェクトのデータセットは、5GB未満である必要があります。
  • 以下はサポートされていません。

    • リレーショナルデータ(集計されたカテゴリー特徴量など)
    • ワードクラウド
    • 特徴量探索プロジェクト
    • 予測の説明
    • スコアリングコード
    • Composable ML
  • クラスタリングモデルは、専用の予測サーバーにデプロイできますが、ポータブル予測サーバー(PPS)および監視エージェントはサポートされていません。

  • クラスターの最大数は100です。

時系列固有に関する注意事項

  • クラスタリングは、複数系列の時系列プロジェクトでのみ使用できます データには、1つの時間インデックスと少なくとも10の系列が含まれている必要があります。

  • X個のクラスターを作成するには、時間ステップ数が20以上の系列が少なくともX個必要です。 (たとえば、3つのクラスターを指定する場合、系列の少なくとも3つは20以上の時間ステップの長さである必要があります。)

  • 選択したすべての系列の和集合から構築されます。和集合は少なくとも35の時間ステップにまたがる必要があります。

  • セグメント化されたモデリングの実行でクラスタリングモデルを使用するには、2つ以上のクラスターを検出する必要があります。

クラスターを発見するとはどのような意味があるか

クラスターを構築するには、データを2つ以上の異なるグループにグループ化することができる必要があります。 たとえば、データセットに10の系列があり、それらがすべて同じ単一系列のコピーである場合、DataRobotは複数のクラスターを検出できません。 より現実的な例では、同じデータのごくわずかな時間のズレも発見できないことになります。 すべてのデータが数学的に類似しすぎて異なるクラスターに分離できない場合には、セグメンテーションで使用することはできません。

データの「近さ」はモデルに依存するものであり、収束条件は異なります。 プロジェクトに、すべて同じ手段の10の系列がある場合、速度クラスタリングは収束しません。 しかし、それはK平均自体が収束しないことは意味しません。

しかし、クラスターがセグメンテーションに使用されていない場合、制限はより厳しくなることに注意してください。

異常検知に関する注意事項

異常検知プロジェクトに従事する場合は、次の点にご注意ください:

  • 数値が欠損している場合、DataRobotは、中央値(定義上異常ではない値)で補完します。

  • データセットの特徴量数が多いほど、DataRobotは異常検知するのに時間がかかり、結果を解釈することがより困難になります。 特徴量が1000以上の場合は、異常スコアの解釈が難しくなり、異常の根本原因を特定することが困難になる可能性があることに注意してください。

  • 1000を超える特徴量で異常検知モデルをトレーニングした場合、解釈タブのインサイトは使用できません。 これには、特徴量のインパクト、特徴量ごとの作用、予測の説明、ワードクラウド、ドキュメントインサイト(該当する場合)が含まれます。

  • 異常スコアは正規化されるので、DataRobotでは、正常からあまり離れていない場合でも一部の行が異常値としてラベル付けされます。 トレーニングデータの場合、最も異常な行のスコアは1になります。一部のモデルでは、テストデータや外部データは、その行がトレーニングデータの他の行よりも異常である場合に、異常スコアの予測値が1よりも大きくなることがあります。

  • 合成AUCは、トレーニングデータの合成異常やインライアの作成に基づく近似です。

  • 合成AUCのスコアは、画像特徴量を含むアンサンブルでは使用できません。

  • DataRobotブループリントからトレーニングされた異常検知モデルの特徴量のインパクトは、常にSHAPを使用して計算されます。 ユーザーブループリントからの異常検知モデルの場合、特徴量のインパクトは、Permutationベースのアプローチを使用して計算されます。

  • 時系列の異常検知は、ピュアテキストデータの異常に対してまだ最適化されていないため、データにはいくつかの数値列またはカテゴリー列を含める必要があります。

  • 以下の方法が実装されていて、チューニング可能です。

方法 詳細
Isolation Forest
  • 最大200万行
  • データセット < 500 MB
  • 数値+カテゴリー+テキスト列の数 > 2
  • 最大26のテキスト列
平均絶対偏差(MAD)
  • 任意の行数
  • すべてのサイズのデータセット
  • 最大26のテキスト列
1クラスのSupport Vector Machine(SVM)
  • 最大10,000行
  • データセット < 500 MB
  • 数値+カテゴリー+テキスト列の数 < 500
Local Outlier Factor(LOF)
  • 最大500,001行
  • データセット < 500 MB
  • 最大26のテキスト列
Mahalanobis Distance
  • 任意の行数
  • すべてのサイズのデータセット
  • 最大26のテキスト列
  • 少なくとも1つの数値またはカテゴリー列
  • 以下はサポートされていません。

  • スマートダウンサンプリングなどの、加重またはオフセットを含むプロジェクト

  • スコアリングコード

  • 異常検知では地理空間データは考慮されません(モデルは構築されますが、これらのデータ型はブループリントに含まれません)。

さらに、時系列プロジェクトの場合は、次のチェックも実行されます。

  • ミリ秒データは、データのきめ細かさの下限です。
  • データセットは1GB未満である必要があります。
  • いくつかのブループリントは、純粋なカテゴリーデータには実行できません。
  • 一部のブループリントは特徴量セットに関連付けられており、特定の特徴量を想定しています(たとえば、ボリンジャーバンドローリングは、ロバストZスコア特徴量だけを含む特徴量セットに対して実行する必要があります)。
  • 周期性を持つ時系列プロジェクトでは、周期性を適用すると特徴量の削減や処理の優先順位に影響するため、特徴量が多すぎる場合は、季節的特徴量も、時系列で抽出された特徴量セットおよび時系列で有用な特徴量セットに含まれません。

また、時系列の注意事項が適用されます。