データの健全性チェックのための4つの重要なステップ|Alteryx

戦略   |   Alteryx   |   2021年11月17日 読了時間の目安:7
読了時間の目安:7

Alteryxのカスタマーサクセスマネージャーとして、私はお客様の生データやビッグデータをビジネスインサイトに変換するお手伝いをしています。こうしたデータラングリングのプロジェクトでは、興味深い課題に取り掛かる前に、正確な結果を得るため、まず基本的なデータ品質の確認を行うことが重要です。

私たちは、こうした初期段階でのデータ品質検証を「健全性チェック」と呼んでいます。

健全性チェックは分析プロセスにおいて重要でありながらも見落とされがちなパートです。分析やAIに関するすべてに言えることですが、最終的な分析結果の精度は元データの質に左右されるため、正確性と完全性を確認する手間が、精度に直結します。簡単な健全性テストを行うだけでも、精度の高い分析につながります。

Alteryxではデータの健全性チェックを非常に重視しており、強力なデータプロファイリング機能を自社製品に組み込んでいます。ここからは、私がお客様のプロジェクトでデータを取り扱う際に、Designer Cloudを使って実行している4つの重要な健全性チェックについてご紹介します。

1. ランダムにデータのサンプルを抽出する。

この健全性テストがデータ検証に役立つ理由

扱うデータが大きすぎる場合、その全体像を把握することは困難です。膨大な量のデータの最初の1,000行といった連続した一部だけを見ても、データの内容全体を正確に理解することはできません。こうしたケースでは、データ全体からランダムにサンプルを取ることで、データ全体の傾向をより正確に把握できるようになります。

Alteryx Designer Cloudでは、データセットの最初の数行だけの表示と、全体からランダムに抽出したサンプル表示を簡単に切り替えられます。

実際の業務における健全性チェックとデータラングリングの活用例

先週、製品の使用状況を記録した大量の機械生成ログデータの処理方法について、お客様に説明する機会がありました。各製品から定期的にログが送られるため、データ量は膨大で、2GBほどのログファイルが数千件も存在することから、すべてのデータを一度に確認することは現実的ではありませんでした。

データをDesigner Cloudに読み込んだ後、最初の行だけのサンプルと、ランダムサンプルを比較し、データ全体でログの構造が同じかどうかを確認しました。その結果、ランダムサンプルに切り替えたところ、カテゴリやユニークな文字列の数が増えていることが判明しました。そこでさらにデータの検証を進めたところ、次のような発見がありました。

ある列に複数の値が配列として含まれていたのです!そのため、この配列を新たな列として抽出し、データを正しく整理しました。サンプルデータのランダム抽出による健全性テストを行ったことで、こうしたデータ品質の問題を特定し、対処することができました。

2. データ型の不一致、値の入力方法のばらつき、値の欠落をチェックする。

この健全性テストがデータ検証に役立つ理由

効果的な下流のデータ分析には一貫性が必要です。例えば、イベントの日付が異なる形式(yyyy/MM/ddやdd/MM/yyyy)で記録されていると、イベント間の関係性が理解しにくくなります。同様に、システムによって価格が文字列($1,000)や、小数(1000.00)で保存されていると、データの扱いが複雑になります。

Designer Cloudでのデータ検証の仕組み 

Designer Cloudでは、データを自動でプロファイリングし、各列に含まれる有効値、欠損値、不一致の値の数を表示できます。プロファイリングの結果は、データセット内の各列の上にあるデータ品質バーで確認できます。

3. 重複記録や異常値を特定する。

この健全性テストがデータ検証に役立つ理由

重複レコードや外れ値が分析の精度や結果に影響を及ぼす可能性があるため、データセット全体の品質を確認し、重複や異常値が含まれていないかをチェックする必要があります。

Designer Cloudでのデータ検証の仕組み

Designer Cloudでデータを処理する際、列の詳細ビューに切り替えることで、データセット内の各列に関する要約統計量を確認できます。

Alteryxのデモデータセットの1つに、カスタマーサービス担当者の平均満足度スコアが記録された列があります。この列の詳細ビューでは、ユニークな値の数や外れ値といった要約統計を素早く確認できます。デモデータセットには外れ値がいくつか含まれており、それらを特定した後に、分析から除外するかどうかを判断できます。

実際の業務における健全性チェックとデータラングリングの活用例

あるお客様は、複数の小売業者からデータを収集し、在庫予測ダッシュボードを構築していました。ダッシュボードに誤ったデータや重複データが含まれると、収益に直接的な影響が生じる恐れがあるため、使用するデータが正確であることは非常に重要です。

データラングリングプロセスの冒頭で健全性テストを実施したところ、ソースデータに重複レコードが多数混入していることが判明しました。その後、この問題を解決し、経営陣が小売クライアントとの販促キャンペーンで活用できる、高精度な在庫予測が可能になりました。

4. 各列のデータ分布を評価する。

この健全性テストがデータ検証に役立つ理由

列内のデータが一見問題がなさそうでも(つまり、データ型の不一致や重複データ、外れ値、欠損値がないため一見整っているように見えても)、データの分布を詳しく調べると、不自然なギャップや、論理的に一貫性のない値の分布が見つかることがあります。このような異常なデータ分布が見られる場合、データ品質に関するさらに深刻な問題が隠れている可能性があるため、調査が必要です。たとえば、データの一部が記録されていなかったり、符号化が誤っている可能性などが考えられます。

Designer Cloudでのデータ検証の仕組み

前述の列の詳細ビューでは、各列のデータ分布を表すヒストグラムと、標準偏差、中央値、平均といった要約統計量を確認できます。列の詳細ビューを開かずにデータ分布を素早く検証したい場合は、データ上部に表示される小さなヒストグラムで確認することもできます。

実際の業務における健全性チェックとデータラングリングの活用例

最近、あるお客様のウェブサイトのユーザー体験向上を目指すプロジェクトで、ウェブサイトの訪問ログデータを取り扱いました。訪問の日時スタンプは一見問題ないように見えましたが、簡単な健全性チェックを行って分布を確認すると、訪問の多くが深夜0時から3時の間に集中していることが判明しました。しかし、真夜中に多数の訪問があるとは考えにくいため、このデータには何か問題があると判断しました。

そこで、ウェブログのデータを提供する上流システムを調査した結果、タイムスタンプの末尾のゼロが切り捨てられていることがわかりました。例えば、本来なら『175400』(17時54分00秒)であるべきタイムスタンプが『1754』として表示されていたことから、『00:17.54』と誤って解釈されていました。このゼロが切り捨てられていた問題を修正してデータを調整したところ、データ分布が整い、より信頼性のあるものになりました。

肝心なのは、

Alteryxのサポートポータルでは、不一致データの確認方法など、データラングリング関連の課題の解決に役立つ記事や動画、フォーラムをご利用いただけます。データの健全性テストを始めるには、ぜひAlteryx Designerの無料トライアルにお申し込みください!