データ品質評価¶
データ品質評価機能は、一般的なデータ品質の問題を自動的に検出して表面化し、多くの場合、ユーザーのアクションを最小限(または完全)に抑えて、それらを処理します。 評価は、問題の発見と対処にかかる時間を節約するだけでなく、自動化されたデータ処理に対する透明性を提供します(適用された自動化処理を確認できます)。 これには問題の重大度を判別するのに役立つ警告レベルが含まれています。
その他の重要情報については、関連する注意事項を参照してください。
EDA1の一部として、DataRobotは、日付/時刻やターゲット情報を必要としない特徴量でチェックを実行します。 EDA2が起動すると、追加のチェックが実行されます。 最終的に、次のチェックが実行されます。
- 外れ値
- 多カテゴリー形式エラー
- インライア
- 過剰なゼロ
- 偽装欠損値
- ターゲットリーケージ
- 欠損画像(Visual Artificial Intelligence (AI)プロジェクトの場合)
時系列プロジェクトは、すべてのベースラインデータ品質チェックと以下のチェックを実行します。
- 補完リーケージ
- 事前に派生したラグ特徴量
- 不規則な時間ステップ(一貫性のないギャップ)
- 先行または後続ゼロ
- まれな負の値
- 検定の新しい系列
Visual Artificial Intelligence(AI)プロジェクトのデータ品質評価では、同じベースラインチェックと追加の欠損イメージチェックが実行されます。
EDA1が完了すると、データ品質評価がデータページの特徴量セットの上に表示されます。
ベースラインのデータ品質評価に加えて、DataRobotでは、時系列およびVisual Artificial Intelligence(AI)プロジェクトの追加の詳細も表示されます。 モデルの構築が完了した後、 データ品質処理レポートで追加の補完情報を表示できます。
詳細については、以下の参考資料を参照してください。
概要¶
データ品質評価は、モデル構築のステージに関連するデータ品質の問題に関する情報を提供します。 最初はEDA1(データ取込み)の一部として実行され、すべての特徴量セットに結果が表示されます。 再度実行されてEDA2の後に更新され、選択された特徴量セット(または、デフォルトでは、すべての特徴量)の情報が表示されます。 個々の特徴量に適用できないチェック(一貫性のないギャップなど)の場合、レポートは一般的なサマリーを提供します。 情報を表示をクリックするとレポートが表示されます(情報を閉じるをクリックすると情報が閉じます)。
各データ品質チェックは、問題のステータスフラグ、問題の短い説明、および推奨メッセージ(適切な場合)を提供します。
-
警告(
):注意または必要なアクション
-
情報(
):必要なアクションはありません
-
問題なし(
)
結果は特徴量セットに基づくので、データページで選択した特徴量セットを変更すると、新しいチェックが表示されるか、現在のチェックが評価から消えます。 たとえば、特徴量セットList 1
に外れ値を含む特徴量problem
が含まれる場合、評価には外れ値チェックが表示されます。 リストを、problem
(または外れ値のあるその他の特徴量)が含まれていないList 2
に変更した場合、外れ値チェックでは「問題なし」()とレポートされます。
評価モーダル内から、問題のタイプでフィルタして、チェックをトリガーした特徴量を確認できます。 影響を受ける特徴量だけを表示をオンに切り替え、チェック名の横にあるチェックボックスを選択して、表示するチェックを選択します。
データページの選択した特徴量セット内で、選択したデータ品質チェックに違反する特徴量だけが表示されます。 アイコンにカーソルを合わせると詳細が表示されます。
多ラベルおよびVisual Artificial Intelligence (AI)プロジェクトの場合、評価により、データセット内に多カテゴリー形式エラーまたは欠損画像が検出された場合は、プレビューログが上部に表示されます。 プレビューログをクリックすると、各エラーの詳細ビューが表示されたウィンドウが開き、データセット内のエラーを簡単に見つけて修正できます。
評価の調査¶
EDA1が完了し、表示をフィルタしたら、調査対象の問題によって影響を受ける特徴量セットを表示します。 警告または情報通知をトリガーした値を確認するには、特徴量を展開して、ヒストグラムおよび頻出値の可視化をレビューします。
ヒストグラムタブの解釈¶
ヒストグラムチャートは、数値特徴量に対してデフォルトで表示されます。 数値特徴量の値を同じサイズの各範囲に「バケット化」して特徴量の度数分布を示し、値の頻度(X軸)に対してターゲット観測値(左Y軸)をプロットします。 それぞれの棒の高さは、その範囲内の値を持つ行数を表します。
最初は、バケット化されたデータが表示されます。
外れ値を計算して表示するには、外れ値を表示を選択します。
チャートの上にある従来の箱ひげ図(金色で表示)では、データの四分位中央値が強調表示されているので、分布が偏っているかどうかを判断するのに役立ちます。 ひげの長さを決定するために、DataRobotは上田のアルゴリズムを使用して外れ値ポイントを特定します。 ひげは、これらの外れ値を除いた、データセット内の最小および最大のデータポイントの全範囲を示しています。箱ひげ図は、分布が歪んでいるかどうか、およびデータセットに多くの外れ値が含まれているかどうかを判断する際に役立ちます。
外れ値を表示するためにX軸スケールと箱ひげ図の圧縮が変化することに注意してください。 外れ値を記録する行が少なくなる傾向があるため(これが外れ値となる理由です)、青いバーが表示されない場合があります。 その列にカーソルを合わせると、実際の行数を示すツールチップが表示されます。
EDA2が完了すると、ヒストグラムに平均ターゲット値オーバーレイも表示されます。
頻出値の解釈¶
頻出値チャートでは、共通値に加えて、インライア、偽装欠損値、および過剰なゼロが表示されます。
詳しい情報…¶
以下のセクションの内容は次の通りです。
品質チェックの説明¶
このセクションでは、潜在的なデータ品質の問題についてDataRobotが実行するチェックについて詳しく説明します。 この情報のサマリーを以下の表に示します。
- 外れ値
- 多カテゴリー形式エラー
- インライア
- 過剰なゼロ
- 偽装欠損値
- ターゲットリーケージ
- 補完リーケージ
- 事前に派生したラグ特徴量
- 不規則な時間ステップ(一貫性のないギャップ)
- 先行または後続ゼロ
- まれな負の値
- 検定の新しい系列
- 欠損画像(Visual Artificial Intelligence (AI)プロジェクトの場合)
外れ値¶
サンプル平均の一番端にある観測ポイントである外れ値は、データの変動性の結果であることがあります。 DataRobotは、外れ値を処理するブループリントを自動的に作成します。 各ブループリントでは、使用されているモデリングアルゴリズムに応じて、外れ値の処理に適切な方法が適用されます。 線形モデルの場合、DataRobotはブループリントの中にバイナリ列を追加し、外れ値のある行にフラグを立てます。 ツリーモデルは外れ値を自動的に処理します。
検出方法:DataRobotは、接続されていない外れ値の自動検出に上田のアルゴリズムの独自の実装を使用します。
処理方法:データ品質ツールは外れ値をチェックします。外れ値を表示するには、特徴量ヒストグラムを使用します。
多カテゴリー形式エラー¶
多ラベルモデリングは、各行に任意の数のラベルを含めることができる分類タスクです。 多ラベルモデリングに使用できるトレーニングデータセットを作成するには、多カテゴリー特徴量の要件に従う必要があります。
検出方法:DataRobotは、無作為に抽出した100行から、多カテゴリーに分類される可能性のあるすべての特徴量を確認し、適切な多カテゴリー形式を持つ値が少なくとも1つあるかどうかを調べます。 見つかった場合、各行が多カテゴリー形式に対応するかどうかを確認します。 対応していない行が1つでもあれば、その特徴量について「多カテゴリー形式エラー」が報告されます。 チェックのロジックは次の通りです。
- 値は有効なJSONである必要があります。
- 値は空ではない文字列のリストを表す必要があります。
処理方法:データ品質ツールにエラーの選択が報告されます。 特徴量に多カテゴリー形式エラーがある場合、多カテゴリーとして検出されません。 エラーの詳細については、評価ログを確認してください。
インライア¶
インライアとは、ある特徴量の一般的な値の範囲を超えておらず、下回ってもいないが、付近の値と比べて異常に頻度が高い値を指します(たとえば、本当の郵便番号を公開したくない人が郵便番号の値として入力した55555)。 これを処理しないと、モデルのパフォーマンスに悪影響が生じる可能性があります。
検出方法:特徴量について記録された各値について、その特徴量の値の頻度が計算され、結果の配列が作成されます。 インライア候補は、その配列の外れ値です。 False Positivesを削減するために、DataRobotで別の条件を適用し、以下の値だけをインライアとして保持します。
frequency > 50 * (number of non-missing rows in the feature) / (number of unique non-missing values in the feature)
このアルゴリズムを使用すると、ヒストグラムプロットでインライアが見つかりにくいような値の数が多い場合であっても、多くの一意の値を含む数値特徴量でのインライア検出が可能になります。 これは、一意の値の数が少ない特徴量の保守的なアプローチです。 さらに、一意の値が50個未満の特徴量のインライアは検出されません。
処理方法:バイナリ列がブループリント内に自動的に追加され、行にインライアでフラグが設定されます。 これにより、異常値の背後にある可能性のあるパターンをモデルに組み込むことができます。 追加のユーザー操作は必要ありません。
過剰なゼロ¶
列で繰り返されるゼロは通常の値である可能性がありますが、欠損値を表すこともあります。 たとえば、項目の需要がないため、または在庫がないために、特定のアイテムの売り上げがゼロになることがあります。 0を使用して欠損値を補完することは最適ではないことが多く、モデルの精度が低下する可能性があります。
検出方法:値0の頻度が外れ値である場合、インライアで説明されている配列を使用して、その特徴量にフラグが設定されます。
処理方法:バイナリ列がブループリント内に自動的に追加され、行に余剰のゼロでフラグが設定されます。 これにより、異常値の背後にある可能性のあるパターンをモデルに組み込むことができます。 追加のユーザー操作は必要ありません。
偽装欠損値¶
「偽装欠損値」は、値(-999
など)を挿入して、本来なら欠損値となるものをエンコードする状況を表す用語です。 機械学習アルゴリズムでは偽装欠損値が自動的に処理されないので、これらの値を処理しないと、モデルのパフォーマンスに悪影響が生じる可能性があります。
検出方法:DataRobotは、他の値よりも高い頻度で繰り返される値と、異常値として検出される値の両方を検出します。 偽装欠損値と見なされるには、繰り返される外れ値が次のヒューリスティックのいずれかを満たす必要があります。
- 値のすべての数字が同じで、少なくとも2回繰り返される(例:99、88、9999)。
1
で始まり、その後に2つ以上のゼロが続く。- 値が-1、98、または97に等しい。
処理方法:偽装欠損値は標準の欠損値と同じ方法で処理されます(中央値が補完されて挿入され、補完が発生した行にバイナリ列によってフラグが設定されます)。
ターゲットリーケージ¶
予測モデリングの目的は、トレーニングの際に未知の新しいデータを正確に予測するモデルを開発することです。 手元にないデータ上でモデルを評価することはできないので、DataRobotでは、評価に使用する履歴データセットの部分を除外することによって未知のデータ上のモデルパフォーマンスが評価されます。
しかし、データセットがイベントが発生するまで知られていない情報を使用してターゲットリーケージを引き起こす場合、問題が発生する可能性があります。 ターゲットリーケージとは、予測時に値を知ることができない特徴量を指します(たとえば、トレーニングデータセットの「解約理由」の値を使用して顧客が解約するかどうかを予測するなど)。 モデルの特徴量セットの特徴量を含めると、予測に不適切な影響が生じ、過度に楽観的なモデルが生成されることがあります。
検出方法:DataRobotは、EDA2の実行時に、ターゲットに関して各特徴量のACE有用性スコア(正規化ジニ指標)を計算して、ターゲットリーケージをチェックします。 中程度のリスク(0.85)のしきい値を超える特徴量にはフラグが立てられます。高リスク(0.975)のしきい値を超える特徴量は削除されます。
処理方法:リーケージ削除の高度なオプションが有効な場合(デフォルト)、問題のある高リスクの列を削除する特徴量セット(有益な特徴量からリーケージを除外)が自動的に作成されます。 中リスクの特徴量には、追加の調査を促すアラートを示す黄色の警告が表示されます。
リーケージが検出されて有用な特徴量からリーケージを除外が作成された後、高度なオプション(「ターゲットリーケージを削除した特徴量セットでオートパイロットを実行する」設定)に従った処理が行われます。 有効な場合(デフォルト):
- クイック、フル、または包括的なオートパイロット:ユーザー作成のセットを指定した場合を除き、新しく作成された特徴量セットが実行されます。 その他のデフォルトセットの1つで実行するには、初回の構築の後、選択したリストでモデルを再構築します。
- 手動モード:セットが使用可能になり、ユーザーの判断でリポジトリからセットを適用できます。
- 初回ビルドの後にモデルを追加すると、ターゲットリーケージのリストが使用可能になります。
無効化されている場合、DataRobotは上記を(潜在的なターゲットリーケージが残っている)有用な特徴量または指定したユーザー作成リストに適用します。
補完リーケージ¶
時系列データ準備ツールは、元のデータセットで欠損している日付のターゲットと特徴量値を補完できます。 データ品質チェックが、補完された特徴量が補完されたターゲットをリークしないように確認します。 これは、事前に既知(KA)の特徴量に対してのみ潜在的な問題となります。特徴量値はDataRobotが予測しているターゲット値との平行性があるからです。
検出方法:DataRobotは二値分類ターゲットis_imputed = (aggregated_row_count == 0)
を導き出します。 時系列特徴量が派生される前に、ターゲットとしてis_imputed
を使用して、各KA特徴量にターゲットリーケージチェックを適用します。
処理方法:補完リーケージのリスクが高い、または中程度であると識別された特徴量は、KA特徴量のセットから削除されます。 その後、時系列特徴量の派生が通常通りに進行します。
事前に派生したラグ特徴量¶
時系列プロジェクトが開始されると、ラグやローリング統計などの日付/時刻関連の複数の機能が自動的に作成されます。 しかし、時間ベースの特徴量の自動作成が望ましくない場合もあります(独自の時間志向の特徴量を抽出しており、その特徴量は追加の派生処理が不要な場合など)。 この場合、これらの特徴量に派生から除外または事前に既知としてフラグを設定する必要があります。 「ラグ特徴量」チェックは、フラグを設定すべき特徴量にフラグが必要なかったかどうか(列の重複につながります)を検出するのに役立ちます。
検出方法:DataRobotでは、それぞれの非ターゲット特徴量は、target(t-1)、target(t-2) ... target(t-8)と比較します。
処理方法:ラグとして検出されたすべての特徴量は、「二重派生」を防ぐために、派生から除外されるように自動的に設定されます。ベストプラクティスとして、アップロード済みの他の特徴量、およびすべての事前に派生した特徴量を「派生から除外」または「事前に既知」として設定することをお勧めします(該当する場合)。
不規則なタイムステップ¶
「一貫性のないギャップ」チェックは、時系列モデルに不規則な時間ステップが含まれる場合にフラグが設定されます。 これらのギャップは不正確なローリング統計の原因になります。 次にいくつかの例を示します。
-
時系列プロジェクトの取引データは集計されず、元の取引データが使用されます。
-
取引データは日次売上データセットに集約され、売上ゼロの日付はデータセットに追加されません。
検出方法:DataRobotでは、予期されたタイムスタンプが欠落していることが検出されます。
ギャップが一貫する可能性があることを理解することが重要です(毎週末の売上がない場合など)。 DataRobotでは、それを考慮して、一貫性のないギャップ、または予期しないギャップだけが検出されます。
処理方法:これらを含めることはローリング統計に適していないため、予想されるタイムステップの20%以上が欠落している場合、プロジェクトは行ベースモード(時間外(OTV)検定を伴う通常のプロジェクト)で実行されます。 これが意図した動作でない場合は、データセットを修正してプロジェクトを再作成してください。
先行または後続ゼロ¶
過剰なゼロと同様に、このチェックは、欠損値を埋めるために使用されるゼロを検出するために機能します。 このチェックでは、シリーズの最初または最後の欠損値を埋めるために0を使用して、他よりも後に開始または終了した特別なケースで機能します。
検出方法:DataRobotは、各シリーズのゼロの合計レートを推定し、統計テストを実行して、ゼロの自然なシーケンスとは見なせない連続ゼロの数を識別します。
処理方法:これが意図した動作でない場合は、データセットを修正してプロジェクトを再作成してください。
まれな負の値¶
ターゲットに過剰なゼロがあるデータは、ゼロ過剰ケースの特別な2ステージのモデルでモデル化できます。 このモデルは、ターゲットの最小値が0の場合にのみ使用できます(1つでも負の値がある場合は使用できません)。 たとえば、これは、売上データで売上とともに返品が記録された場合に発生する可能性があります。 ゼロ過剰モデリングおよびその他の追加のブループリントを有効にすることが目的である場合、このデータ品質チェックは、2段階モデルが適切な場合に負の値を特定し、ターゲットを修正するよう求める警告を提供します。
検出方法:2%未満の値が負であることが検出された場合、プロジェクトはゼロ過剰として扱われます。
処理方法:DataRobotに警告メッセージが表示されます。
検定の新しい系列¶
プロジェクト設定(トレーニングと検定のパーティションサイズ)によっては、新しい系列がデータセットの最後に導入され、トレーニングデータの一部にならないように複数系列プロジェクトが構成されている場合があります。 たとえば、これは新しい店舗を開くときに発生する可能性があります。 このチェックでは、新しい系列がトレーニングデータ内にないことを示す情報メッセージを返します。
検出方法:系列の20%以上が新規であることが検出された場合(トレーニングデータに含まれていない場合)。
処理方法:DataRobotに情報メッセージが表示されます。
欠損画像¶
画像データセットを使用してVisual Artificial Intelligence(AI)プロジェクトを構築する場合、CSVには、提供されたZIPアーカイブに含まれる画像のパスが含まれます。 これらのパスは、欠損している場合、存在しない画像を参照している場合、または無効な画像を参照している場合があります。 行に可変数の画像が含まれている場合や、その行と列の画像がない場合があるので、欠損パスは必ずしも問題ではありません。 ログをプレビューをクリックすると、より詳細なビューが表示されます。
この例では、行1は、アップロードされたファイル(1)に存在しない参照されたファイル名をレポートします。 行2は、行に画像パスがないことをレポートします(2)。 ログには、問題の性質と問題が発生した行の両方が含まれます。 ログには最大100行のプレビューが表示されます。ダウンロードを選択すると、ログファイルがエクスポートされ、追加の行を表示できます。
検出方法:DataRobotは、提供された各画像パスをチェックして、存在する有効な画像を参照していることを確認します。
処理方法:パスが解決できない場合、DataRobotは目的の画像を見つけて、問題のあるパスでの置換を試みます。 自動修正が不可能な場合は、問題のあるパスが削除されます。 画像が無効な場合、パスは削除されます。
すべての欠損画像(自動修正されても解決できないパス)および無効な画像がログに記録され、表示可能になります。
データ品質チェックロジックのサマリー¶
次の表は、各データ品質チェックの背後にあるロジックのサマリーを示します。
チェック / 実行 | 検出ロジック | 取り扱い | レポート先 |
---|---|---|---|
外れ値 / EDA2 | 上田のアルゴリズム | 線形:ブループリントでフラグが追加された特徴量 ツリー:自動的に処理 |
データ > ヒストグラム |
多カテゴリー形式のエラー / EDA1 | 次の3つの条件のいずれかを満たします。
|
多カテゴリーとして特徴量が識別されていない | データ品質評価のログ |
インライア / EDA1 | 値は外れ値ではなく、頻度が外れ値 | ブループリントでフラグが追加された特徴量 | データ > 頻出値 |
過剰なゼロ / EDA1 | 頻度が外れ値で、値は0 | ブループリントでフラグが追加された特徴量 | データ > 頻出値 |
偽装欠損値 / EDA1 | 次の3つの条件を満たします。
|
補完された中央値、ブループリントのフラグ特徴量 | データ > 頻出値 |
ターゲットリーケージ / EDA2 | 正規化ジニ指標を使用して計算された各特徴量の有用性スコア。 レポートのしきい値レベルは、中程度のリスク(0.85)または高リスク(0.975)です。 | オートパイロットから除外された高リスクのリークした特徴量(「リーケージ削除済み」特徴量セットを使用) | データページ、問題のタイプでフィルタ(オプション) |
欠損画像 / EDA1 | 空のセル、欠損ファイル、破損したリンク | リンクは自動的に修正されます | データ品質評価のログ |
補完リーケージ / EDA2(特徴量前の派生) | KA特徴量に適用されるターゲットとしてis_imputed を持つターゲットリーケージ。 データセットに適用される時系列データ準備を含むプロジェクトについてのみチェックされます。 |
KA特徴量から特徴量を削除 | データページ、問題のタイプでフィルタ(オプション) |
事前に派生したラグ特徴量 / EDA2 | target(t-1)、target(t-2) ... target(t-8)に等しい特徴量 | 派生から除外 | データページ、問題のタイプでフィルタ(オプション) |
一貫性のないギャップ / EDA2 | [不規則な時間ステップ][時間ステップ](../../modeling/time/ts-flow-overview.md#time-steps) | モデルは行ベースモードで実行 | 時間認識モデリング設定のメッセージ |
先行・後続するゼロ / EDA2 | 0で開始/終了する系列の場合、連続する0の確率を計算します。確率が5%未満の系列にフラグを設定 | ユーザー修正 | データページ、問題のタイプでフィルタ(オプション) |
まれな負の値 / EDA1 | 値の2%未満が負の値 | ユーザー修正 | 警告メッセージ |
検定 / EDA1の新しい系列 | 系列の20%以上がトレーニングデータにない | ユーザー修正 | 情報メッセージ |
機能に関する注意事項¶
データ品質評価機能を使用する場合は、以下の点に注意してください。
- 偽装欠損値、インライア、および過剰なゼロの問題の場合、自動化 処理 は、モデルエラーが削減することが証明されている線形やKerasブループリントに対してのみ有効化されます。 検出は、すべてのブループリントに適用されます。
- 自動化された補完処理は無効化できません。
- パブリックAPIはまだ利用できません。
- 自動化された特徴量エンジニアリングは、(ローリング平均を計算する前に、すべての過剰なゼロと偽装された欠損値を削除するのではなく)元のデータに対して実行されます。