コンテンツへスキップ
大きすぎるデータ:過剰プロットへの対処

大きすぎるデータ:過剰プロットへの対処

散布図は、二変量データで(明らかな)関係を示す素晴らしい方法です。テーブル内の巨大なデータ ブロックには表示されないパターンやクラスターは、ページや画面にすぐに表示されるようになります。

5min read

近年、ビッグデータが大々的に宣伝されている中、データが多いことは常に利点であると思いがちです。しかし、散布図にデータポイントを追加すると、これらのパターンとクラスターが失われ始める可能性があります。この問題は、プロットが過剰になった結果であり、次のアニメーションで示されています。

上のアニメーションのデータは、単純な 2 変量分布のペアからランダムに生成されています。2つの分布の違いは、データを追加するにつれてますます明確でなくなります。では、プロットを過剰に行うにはどうすればよいのでしょうか?

簡単なオプションの 1 つは、データ ポイントを小さくすることです。(これは、多くのデータポイントがまったく同じ値を共有する場合、不適切な「解決策」であることに注意してください。半透明にすることもできます。そして、これら2つのオプションを組み合わせることができます。

これらの改良は、1万のデータポイントがある場合に確かに役立ちます。しかし、100万ポイントに達するまでに、2つの分布は再び1つに統合されたように見えます。ポイントを小さくし、より透明にすると、物事が役立つかもしれません。それにもかかわらず、ある時点で、視覚化の変更を検討しなければならないかもしれません。これについては後で説明します。しかし、最初に、視覚化をいくつかの追加情報で補足してみましょう。具体的には、周辺分布を視覚化してみましょう。いくつかのオプションがあります。ラグプロットにはデータが多すぎますが、データをビン化してヒストグラムを表示することができます。または、より滑らかなオプション、つまりカーネル密度プロットを使用することもできます。最後に、経験的累積分布を使用できます。この最後のオプションでは、ビン分割やスムージングは回避されますが、結果はおそらく直感的ではありません。ここではカーネル密度オプションを使用しますが、ヒストグラムを好むかもしれません。以下のアニメーションGIFは、上記のGIFと同じですが、平滑化された周辺分布が追加されています。秤を空けておいたのは、ごちゃごちゃしないようにするため、また、相対的な高さの大まかな判断にしか興味がないからです。

周辺分布、特に変数2の分布を追加すると、二変量データに2つの異なる分布が存在することを明確にするのに役立ちます。変数2のツインピークの性質は、データポイントが1000個あるか100万個あるかで明らかです。2つのコンポーネントの相対的なサイズも明確です。対照的に、変数 1 の周辺分布は、2 つの異なる分布から来ているにもかかわらず、ピークは 1 つしかありません。これにより、周辺分布の追加が散布図での過剰プロットに対する普遍的な解決策では決してないことが明らかになるはずです。この点を強調するために、以下のアニメーションは、周辺分布を持つ散布図の (生成された) データ ポイントのまったく異なるセットを示しています。このデータも、2つの異なる2次元分布のランダムサンプルから得られますが、完全なデータセットの両方の周辺分布では、この分離を強調できません。以前と同様に、データ ポイントの数が多い場合、散布図からも 2 つのクラスターの違いを確認できません。

ポイントサイズと不透明度に戻ると、データポイントを非常に小さくし、ほぼ完全に透明にするとどうなるでしょうか?

これで、各データセットの2つのクラスターを明確に区別できるようになりました。しかし、細かいディテールを理解するのは難しいです。

いずれにせよ、その細かいディテールを失ってしまったので、本当に100万個のデータポイントを描きたいのかどうか疑問に思いがちです。それは退屈なほど遅く、特定の状況では不可能な場合があります。2Dヒストグラムは代替手段です。データをビン化することで、プロットするポイントの数を減らすことができ、適切なカラースケールを選択した場合は、散布図の乱雑さで失われた特徴の一部を選択できます。いくつかの実験の後、私は黒から緑、そしてハイエンドの白まで走るカラースケールを選びました。これは、上記の散布図で過剰にプロットすることによって作成された効果の(ほぼ)逆であることに注意してください。

どちらの2Dヒストグラムでも、データが描画される2つの分布を表す2つの異なるクラスターがはっきりと見えます。最初のケースでは、右下のクラスターよりも左上のクラスターからのカウントが多く、100万のデータポイントを持つ散布図で詳細が失われていることもわかります(ただし、周辺分布からより明確になります)。逆に、2 番目のデータセットの場合、2 つのクラスターの "高さ" はほぼ同等であることがわかります。

3Dチャートは使い古されていますが、ここ(下記参照)は、データがどこに集中していて、どこに集中していないかの全体像を提供するという点で、実際には非常にうまく機能していると思います。フィーチャのオクルージョンは3Dチャートの問題であるため、独自のデータを探索するときにこのルートをたどる場合は、回転とズームによるユーザーインタラクションを可能にするソフトウェアを使用することを強くお勧めします。

要約すると、散布図は、二変量データを視覚化するためのシンプルで、多くの場合効果的な方法です。ただし、グラフのプロットが過剰になっている場合は、ポイント サイズと不透明度を小さくしてみてください。それができない場合は、2Dヒストグラムまたは3Dサーフェスプロットが役立つ場合があります。後者の場合は、オクルージョンに注意してください。

 

デモを予約