多くの変数の散布図行列の探索


10

多くのパラメーター(たとえば、50〜200)を含むデータセットを分析していて、変数間の関係(たとえば、2変数散布図または2次元ヒストグラム)に興味があります。ただし、この数のパラメーターでは、200x200の配列のプロットを描画するのは現実的ではないようです(それを印刷して壁に掛けない限り)。

一方、相関行列のみを実行しても、2変数関係に関するすべての情報が得られるわけではありません。

多くの変数の2変数関係を探索する方法(ライブラリまたはワークフロー)はありますか?

私は特に他の人に結果を示すことに興味があります(おそらくいくつかのデータ前処理の後)。たとえば、JavaScriptでインタラクティブな何か、相関行列から選択したフィールドの散布図行列を見ることができたとします。

散布図行列とは、次のようなものです。

ここに画像の説明を入力してください

(から取らpandasplottingブログ ;でaviable パイソン/パンダRD3.js、など)。


4
あなたは自分が何をしているのか明確にしていない。すべてのデータポイントであるクラウドを見たいですか?すべての2変量ファセットを一度に表示しますか?
ttnphns 2013

@ttnphnsすべてのデータポイントまたはそれらをいくつかの集計形式で表示したい(たとえば、2dヒストグラム)。すべてが1回である必要はありません(15未満の変数では理にかなっていますが、200ではありません)。そして、はい、私は質問が少し自由回答式であることを認識しています。終わりのないバージョンは、「相関行列のそれぞれのピクセルにマウスを置いたときに散布図とヒストグラムを表示するJSライブラリはありますか?または、それを書く必要がありますか?:)」問題に対処するためのいくつかのより良いワークフロー。
Piotr Migdal 2013

一度に1つまたは複数のプロットのみを表示してそれらを切り替えることができるように、分散プロットのマトリックスをオラップキューブの形式で編成することができます。残念ながら、グラフィカルなOlapキューブを実行するための特定のプログラムやコードはわかりません。
ttnphns 2013

回答:


7

変数間の関係の調査は非常にあいまいですが、このように散布図を調べることのより一般的な2つの目標は、私が推測するとおりです。

  • (変数またはケースの)潜在グループを特定します。
  • 外れ値を特定します(一変量、二変量、または多変量空間)。

どちらもデータをより扱いやすい要約にまとめますが、目的は異なります。潜在的なグループを特定すると、通常、データの次元が減少し(PCAなどを介して)、変数またはケースがこの減少したスペースに集まっているかどうかを調べます。たとえば、Friendly(2002)またはCook et al。を参照してください。(1995)。

外れ値を特定することは、モデルをフィッティングしてモデルからの偏差をプロットする(たとえば、回帰モデルからの残差をプロットする)か、データをその主要コンポーネントに削減し、モデルまたはデータの本体のいずれかから逸脱するポイントのみを強調表示することを意味します。たとえば、1次元または2次元の箱ひげ図は、通常、ヒンジの外側にある個々の点のみを表示します(Wickham&Stryjewski、2013)。残差のプロットには、プロットを平坦化するという優れた特性があるため(Tukey、1977)、残りの点群の関係の証拠はすべて「興味深い」ものです。CVに関するこの質問には、多変量異常値を特定するためのいくつかの優れた提案があります。

このような大きなSPLOMSを探索する一般的な方法は、個々の点のすべてをプロットするのではなく、あるタイプの簡略化された要約、そしておそらくこの要約から大きく逸脱する点、たとえば信頼楕円、診断の要約(Wilkinson&Wills、2008)、2変量箱ひげ図、等高線図。以下は、共分散を定義する楕円をプロットし、線形の関連性を説明するために、より滑らかなレスを重ね合わせた例です。

コーグラム楕円
(ソース:statmethods.net

どちらの方法でも、非常に多くの変数を含む実際に成功したインタラクティブなプロットには、インテリジェントな並べ替え(Wilkinson、2005)と、変数をフィルタリングする簡単な方法(ブラッシング/リンク機能に加えて)が必要になる可能性があります。また、現実的なデータセットには、軸を変換する機能が必要です(たとえば、対数スケールでデータをプロットする、根を取ることによってデータを変換するなど)。頑張ってください、そして1つのプロットだけに固執しないでください!


引用


1
ありがとう!私の目標は、PCAを実行するにデータを探索することです。これは、変数が非線形に関連付けられ、再スケーリング(または他の処理)が必要になる可能性があるためです。
Piotr Migdal 2013

サンプルのcorrgram ellipse + loess smootherは、それでも適切であり(または、covar。ellipseを、2変量ボックスプロットのような他のメジャーポリゴンで変更します)、ID非線形の関連付けに役立つ場合があります。良いフォローアップの質問は、PCA(またはそのようなもの)によるデータ削減後に非線形の関連付けを識別できるかどうかです。
アンディW

1

散布図行列を操作する方法を提供する、pairsD3 Rパッケージの光沢のあるインターフェイスの使用を検討できます。

アイリスデータセットの例:

install.packages("pairsD3")
require("pairsD3")
shinypairs(iris)

ソース:https : //github.com/garthtarr/pairsD3

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.