「星の座標」で5Dデータセットをプロットする方法


8

私は「スター座標:次元の均一な扱いを伴う多次元視覚化手法」という論文を読んでおり、データをプロットしようとしています。

私が持っていると言う、5次元のデータポイント、及びポイントが紙で説明した式により計算されます。 A(2,5,3,1,8)

スター座標の基本的な考え方は、2次元平面上の円上に座標軸を配置し、円の中心に原点をもつ軸間に等しい(初期)角度を配置することです(図1)。最初は、すべての軸の長さが同じです。データポイントは、軸の長さに合わせてスケーリングされ、最小マッピングは原点に、最大マッピングは軸のもう一方の端に割り当てられます。単位ベクトルはそれに応じて計算されます。...

これは、通常の2次元および3次元の散布図を、正規化により高次元に拡張したものです。

私はその考えを理解するのに苦労しています。どうすればプロットできますか?主な問題は、論文の公式が理解できなかったことです。


何をプロットしますか?3D表現?2D表現はいくつかのクラスタリングを示しますか?
lcrmorin 2013年

2
あなたは私たちがそれをグーグルに期待していて、論文を読んで「式」を見つけてください。
Nick Cox

この手法は、PCAの「バイプロット」と密接に関連しています。私は「スター座標は」最初の主成分がある、PCA用のバイプロットで用いたものと同じであってもよいと信じ及び第二PCがそれに直交する任意のベクターです。(1,1,,1)
whuber

回答ありがとうございました@Imorin 2D表現だと思います.. @ whuber♦-バイプロットとスター座標は同じ意味ですか?
solti 2013年

質問を絞り込みました.. xとyに沿って単位ベクトルを見つけるにはどうすればよいですか。
solti 2013年

回答:


10

「スター座標」は、デフォルトから始めて、インタラクティブに変更することを目的としています。この回答は、デフォルトを作成する方法を示しています。インタラクティブな変更はプログラミングの詳細です。

データは、R d内のベクトル集合と見なされます。これらは最初の直線データを変換し、座標各内別々に正規化される{ X 、J 、IJ = 1 2 ... }間隔に[ 0 1 ]xj=(xj1,xj2,,xjd)Rd{xji,j=1,2,}[0,1]。もちろん、これは最初に各要素から最小値を減算し、範囲で割ることによって行われます。正規化されたデータ呼び出します。zj

Rdei=(0,0,,0,1,0,0,,0)1ithzj=zj1e1+zj2e2++zjded{ui,i=1,2,,d}R2eiuiRdR2zjui

ui


これを説明するためにR、自動車の性能特性のデータセットに適用された実装を次に示します。最初にデータを取得しましょう:

library(MASS)
x <- subset(Cars93, 
       select=c(Price, MPG.city, Horsepower, Fuel.tank.capacity, Turn.circle))

最初のステップはデータを正規化することです:

x.range <- apply(x, 2, range)
z <- t((t(x) - x.range[1,]) / (x.range[2,] - x.range[1,]))

duiprjz

d <- dim(z)[2] # Dimensions
prj <- t(sapply((1:d)/d, function(i) c(cos(2*pi*i), sin(2*pi*i))))
star <- z %*% prj

それだけです-計画する準備ができています。データポイント、座標軸、およびそれらのラベルのためのスペースを提供するために初期化されます。

plot(rbind(apply(star, 2, range), apply(prj*1.25, 2, range)), 
     type="n", bty="n", xaxt="n", yaxt="n",
     main="Cars 93", xlab="", ylab="")

以下は、プロット自体です。各要素に1本の線があります:軸、ラベル、点:

tmp <- apply(prj, 1, function(v) lines(rbind(c(0,0), v)))
text(prj * 1.1, labels=colnames(z), cex=0.8, col="Gray")
points(star, pch=19, col="Red"); points(star, col="0x200000")

スタープロット


このプロットを理解するには、それを従来の方法である散布図行列と比較すると役立つ場合があります。

pairs(x)

散布図行列


相関ベースの主成分分析(PCA)でもほぼ同じ結果が得られます。

(pca <- princomp(x, cor=TRUE))
pca$loadings[,1]
biplot(pca, choices=2:3)

最初のコマンドの出力は

Standard deviations:
   Comp.1    Comp.2    Comp.3    Comp.4    Comp.5 
1.8999932 0.8304711 0.5750447 0.4399687 0.4196363 

ほとんどの分散は、最初のコンポーネント(1.9対0.83以下)によって説明されます。2番目のコマンドの出力に示されているように、このコンポーネントへのロードのサイズはほぼ同じです。

     Price           MPG.city         Horsepower Fuel.tank.capacity        Turn.circle 
 0.4202798         -0.4668682          0.4640081          0.4758205          0.4045867 

これは、この場合、デフォルトの星座標プロットが最初の主成分に沿って投影されいるため、基本的に、2番目から5番目のPCの2次元の組み合わせを示していることを示唆しています。したがって、PCAの結果(または関連する因子分析)と比較した場合の値には疑問があります。主なメリットは、提案された対話性にある可能性があります。

Rui

バイプロット


1

@whuberによるすばらしい回答に加えて、より包括的な説明のために、多次元(多変量)データを「スター座標」で表示するためのその他のオプションを追加したいと思います。私の答えは、多変量データのそのような可視化をで実行することに焦点を当てています。R

スタープロットスパイダーバリアーレーダーバリアントの両方)は、関数を介してRの基本graphicsパッケージでサポートされていることから始めましょうstars()http : //stat.ethz.ch/R-manual/R-devel/library/graphics/html/ stars.html。次のR「食物連鎖」になり、明らかに、ggplot2私の知る限りでは、現在のプロットのこのタイプのための特定の機能を持っていないパッケージ、(私はこの上で、最新のじゃない場合、私を修正してください)。しかし、ハドレーウィッカムによって基本的な実装、使用してcoord_polar()、見つけることができるここに。さらに、ggplot2ベースのggsubplotパッケージは関連する機能を提供しますgeom_star()http : //www.inside-r.org/packages/cran/ggsubplot/docs/geom_star

他のパッケージ含まスタープロットする機能が含まれます:psych-機能spider()radar()- http://personality-project.org/r/html/spider.htmlplotrix-機能radial.plot()- http://onertipaday.blogspot.com/2009/01/radar -chart.html)、そしておそらく他のいくつか。

上記に加えて、Web対応ソフトウェアでスタープロットを作成することが可能であり、これはと簡単に連動しRます。たとえば、以下はのスタープロットのバリエーションです。plotly極座標エリアチャートと呼ばれていますhttps : //plot.ly/r/polar-chart/#Polar-Area-ChartRWeb対応のデータ視覚化について言えば、すばらしいD3.jsライブラリは言うまでもありませんR。これもからアクセスできます。D3.jsを使用して見栄えの良い星図を作成する方法は次のとおりです:http ://www.visualcinnamon.com/2013/09/making-d3-radar-chart-look-bit-better.html 。


2
あなたの貢献に感謝します。ただし、このスレッドに直接関連しているようには見えません。OPが参照している論文は、「クラスターの発見と多要素分析タスクのための...」視覚化に関心を持っています。プロットの形式ではなく座標を関連するイノベーションと見なし、それらが「多次元でのデータ理解を改善する高度な変換[ 原文のまま ] 」であると主張します。特に、「星の座標」は、あなたの答えが仮定しているように、放射状の星のプロットの単なるデフォルトの座標ではありません
whuber

1
@whuber:親切な言葉をありがとう、問題を指摘してください。論文を読み直すと、あなたのコメントに同意します。ペーパーアプローチと標準のスタープロットアプローチでは、本質的な違いがあります。ただし、データの視覚化の観点と、極座標系を介して(変換された多次元データを提示するという中心的な考え方から、それらは依然として関連しています。
Aleksandr Blekh 2015年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.