Rの2変量データを使用して散布図から歪度を判断できますか?


7

これは、x(収入)とy(人口)の散布図です。 散布図から、データが残っているか、負に歪んでいると言っても安全ですか?

plot(filterdacsom5$Median_Income,filterdacsom5$Total_Population,
     xlab="Income", ylab ="Population",
     main="Demographics plotted for all zip codes in 2017 ",col="red" )

私はR歪度を初めて理解しました。

これはMedian_Income、横軸とTotal_Population縦軸の散布図です。散布図から、データが残っているか、負に歪んでいると言っても安全ですか?


2
rug軸にa を追加して、ここにいくつかの洞察を含めることができます。を参照してください?rug。歪度が気になるすべての場合、散布図自体は理想的ではありません-散布図は多次元(x&y)ですが、歪度(AFAIK)は1次元RVに対してのみ定義されます(つまり、xとyに対して定義されますが、(x 、y))
MichaelChirico

データが左に歪んでいるかどうかをプロットで確認する場合は、平均と中央値を追加します。平均が中央値よりも小さい場合、負の方向に歪んでいます。
ジョンスプリング

@JonSpring平均と中央値から歪度を判断できると一般的には言えません。
ベンジャミンクリストファーセン

回答:


3

データが残っている、またはマイナスに歪んでいると言っても安全ですか?

いいえ、安全ではありません。まず、プロットの外観は(右)の傾きであり、負(左)の傾きではありません。いずれにせよ、ここでは注意が必要です。オーバープロットがあるため、真ん中の大きな赤い塊で何が起こっているのか実際には確認できません。可能性は低いですが、この赤い点の集まりが、1つまたは両方の変数の正の歪度を損なう点の集中を隠している可能性があります(または負の歪度を誘発することさえあります)。2つの変数の歪度をより適切に評価するには、対象の変数のカーネル密度プロットを作成し、これらの変数のサンプル歪度を計算することをお勧めします(R以下のコード)。

library(moments);    #Make sure you have installed this package first

DATA <- filterdacsom5;

#Check skewness of median income
skewness(DATA$Median_Income);
plot(density(DATA$Median_Income));    

#Check skewness of population
skewness(DATA$Total_Population);
plot(density(DATA$Total_Population)); 

scatterplotは変数の結合分布に関する情報を提供することに注意してください。これは個々の密度プロットからは得られません。散布図で変数のより良い表現を表示したい場合は、オーバープロットに対応するように調整することをお勧めします-たとえば、アルファ透明度または等高線図を使用します。


1

このapproadは誤解を招く可能性があり、これが理由です。

散布図は、各変数の分布について何かを教えてくれます。しかし、散布図は2つの変数間の関係についても通知します。これは、歪度の解釈など、変数の1つについてのみ解釈を行っている場合に問題を引き起こす可能性があります。

(例のように)yが負の値を持たない異分散性を持ついくつかのデータを想定します。結果のプロットは次のようになります。

プロット

得られたプロットに比較的近接して設けられプロットプロットにルックスxが均一に分布有しているので、これは実際にそうではないが、そのxが偏っている示唆 Xショーのためのヒストグラムとして(下記データの生成のためのコードを参照)。

xの履歴

したがって、変数間の関係は、1つの変数の分布の解釈に関して、誤解を招く散布図になる可能性があります。

プロットに使用したコード:

set.seed(568)
x      = rep(1:10000,2)
a <- 20000
b      = -2
sigma2 = x^2
eps    = rnorm(x,mean=0,sd= rev(sqrt(sigma2))) # heteroscedasticity
y      = a + b*x + eps
y[y<0] <- -y[y<0] # no negative values in y
plot(x, y)

編集:私はベンに同意します。この場合、透明度とオーバープロットが重要であり、これが私の例でこのように大きなサンプルサイズを選択する理由です。同じデータの透過性を使用すると、ミスリードが少なくなります。

plot(x, y, col = alpha("black", 0.05))

透明性のあるプロット

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