ログ変換は常に不均一性を緩和しますか?


7

ログ変換は常に不均一性を緩和しますか?教科書には、対数変換がしばしば不均一分散性を低下させると記載されているためです。だから、私はそれが異分散性を減少させない場合を知りたいのです。


4
始まる任意の等分散データ。対数を適用します。明らかに、それはそれほど異分散性を得ることができないので、見てください。好きなデータを使用してください。
whuber


5
エラー分散が変数のレベルに比例している場合は、対数変換が役立ちます。それは変容のアスピリンではなく、すべてを治すわけではありません
Aksakal

回答:


16

番号; 時にはそれが悪化します。

スプレッドが条件付き平均に比例する異分散性は、log(y)をとることによって改善される傾向がありますが、平均と同じ率(またはそれ以上)で増加しない場合、異分散性はしばしば悪化します。その変換によって。

2つのデータセットのプロット。1つは平均に比例する広がりを持ち、log(y)をとると改善が見られ、もう1つは逆に広がり、ログをとると悪化します。

ログを取ると、右側にある極端な値(高い値)を「引き込み」、左側の値(低い値)を引き戻す傾向があるためです。

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

つまり、値が大きい場合、スプレッドは小さくなりますが、値がすでに小さい場合、広がりが生じる可能性があります。


不均一分散の近似的な形式がわかっている場合は、分散をほぼ一定にする変換を実行できることがあります。これは、分散安定化変換として知られています。これは、数学統計の標準的なトピックです。私たちのサイトには、分散安定化変換に関連する投稿が多数あります。

スプレッドが平均の平方根(平均に比例する分散)に比例している場合、平方根変換(その場合の分散安定化変換)は対数変換よりもはるかに優れている傾向があります。その場合、対数変換は「多すぎ」ます。2番目のプロットでは、平均が増加するとスプレッドが減少します。次に、対数または平方根のいずれかを取ると悪化します。(その場合、実際には1.5の累乗が分散の安定化に適度に優れていることがわかります。)


(+1)しかし、「2乗スケール」で意味するかどうかを明確にするために、「条件付き平均に比例するスプレッドに近いヘテロ分散性」と言う場合は、もう少し具体的にすると役立つでしょう。分散)または元のスケール(SDは何でも)、平方根変換について少し後で明らかにしたように
Silverfish

@silvありがとう。私の考えでは、spreadという単語がXの元の単位を指すのか、2乗単位を指すのかはあいまいではありませんでした。私にとっては、元の単位だけでした。ただし、ポイントの広がり具合(平均偏差、IQR、中央絶対偏差、sdなど)の一般的な測定値を参照することもできます。分散のようなものを含めるには、拡散ではなく「分散」と言ったでしょう。ただし、他の人が私とは異なる理解をしている可能性があることは明らかです。代わりに私が代用できる観測間の典型的な距離の測定のみを指す別の単語を知っていますか?... ctd
Glen_b-モニカを復活させる

ctd ...私はその概念について言及したいときはいつでもエッセイを書かないようにしたい、それは従うのが難しくなりすぎて、本当に短期間に欲しい。私は「スケール」と言えると思いますか?
Glen_b-2018

1
私は最初に「SDまたはIQRまたは何でも」を書いた(それからそれをいくつか削除して「SD何でも」に分解することができた)ので、問題を理解している!「分散が平均に比例する」という誤った記述は他の場所で簡単に見つかる可能性があるため、ここでは一義的な説明はここで一言だけ価値があると思います。トピックの難易度は応用統計/計量経済学のコースに非常に導入されているため、「スケール」から遠ざかると思いますが、「スケール」の概念はより抽象的であり、最初により高い、より理論的なコースに現れます。
Silverfish

2

私の経験から、データが「円錐形」で歪んでいる場合(対数正規またはそれ以外)、対数変換が最も役立ちます(以下を参照)。この種のデータは、多くの場合、システムのユーザーなどの人々の集団から発生します。この場合、偶然の少ないユーザーの大規模な人口と、頻繁なユーザーの小さな尾が存在します。

これは、いくつかの円錐形のデータの例です:

x1 <- rlnorm(500,mean=2,sd=1.3)
x2 <- rlnorm(500,mean=2,sd=1.3)
y <- 2*x1+x2
z <- 2*x2+x1

#regression of unlogged values

fit <- lm(z ~ y)
plot(y,z,main=paste("R squared =",summary.lm(fit)[8]))
abline(coefficients(fit),col=2)

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

yとzの両方のログを取ると、次のようになります。

#regression of logged values

fit <- lm(log(z) ~ log(y))
plot(log(y),log(z),main=paste("R squared =",summary.lm(fit)[8]))
abline(coefficients(fit),col=2)

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

ログに記録されたデータで回帰を行うと、フィットの方程式の形式が から (または)に変わることに。y=ax+blog(y)=alog(x)+by=xaeb

このシナリオを超えて、たとえ残差がより均一にならなくても、ログに記録されたデータのグラフ化を試みることは決して害にはなりません。それは、他の方法では見られない詳細を明らかにしたり、有用な方法でデータを広げたり押しつぶしたりすることがよくあります

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