これらのデータの分布は何ですか?


8

データを取得し、データの分布をプロットし、qqnorm関数を使用しましたが、正規分布に従っていないようです。データを記述するためにどの分布を使用する必要がありますか?

経験累積分布関数 ここに画像の説明を入力してください

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


ヒストグラムのプロットも検査に役立つ場合があります。混合モデルを必要とするのではなく、歪んだt分布のように見える場合があります。
John

1
このディストリビューションを説明しようとしている理由について少し教えてください。結局のところ、カーネルスムージング、n文字の要約、ECDF自体など、いくつかのよく知られている数学関数の名前を指定する代わりに多くの選択肢があります。すべて適切な設定で適切な説明です。
whuber

回答:


11

ヘビーテールのランベルトW x FまたはゆがんだランベルトW x Fディストリビューションを試してみることをお勧めします(免責事項:私は著者です)。Rでは、それらはLambertWパッケージに実装されてます。

彼らは、ランダム変数(RV)のパラメータ、非線形変換から生じるヘビーテイル(スキュー)バージョンに、Y ランバートW × F。以下のためにFがガウシアンである、重尾ランバートW FはTukeyのに低減xは時間分布。(ここではヘビーテールバージョンの概要を説明しますが、歪んだものも同様です。)バツFYランバートW×FFh

彼らは持っている一つのパラメータγ RスキューランバートWはF X用)尾の重さ(歪度)の度合いを調節します。オプションで、左と右の異なるヘビーテールを選択して、ヘビーテールと非対称を実現することもできます。これは、標準正規変換U N0 1 ランバートWに×ガウスZによって Z = U EXP δδ0γRUN01×Z

Z=Uexpδ2U2

場合、ZUよりも裾が重い。ためδ = 0Z Uδ>0 ZUδ=0ZU

ガウスをベースラインとして使用したくない場合は、お気に入りの分布の他のランバートWバージョンを作成できます。たとえば、t、ユニフォーム、ガンマ、指数、ベータなどです。テールランベルトW xガウス分布(または歪んだランベルトW xt)分布は、出発点として適しているようです。

library(LambertW)
set.seed(10)

### Set parameters ####
# skew Lambert W x t distribution with 
# (location, scale, df) = (0,1,3) and positive skew parameter gamma = 0.1
theta.st <- list(beta = c(0, 1, 3), gamma = 0.1)
# double heavy-tail Lambert W x Gaussian
# with (mu, sigma) = (0,1) and left delta=0.2; right delta = 0.4 (-> heavier on the right)
theta.hh <- list(beta = c(0, 1), delta = c(0.2, 0.4))

### Draw random sample ####
# skewed Lambert W x t
yy <- rLambertW(n=1000, distname="t", theta = theta.st)

# double heavy-tail Lambert W x Gaussian (= Tukey's hh)
zz =<- rLambertW(n=1000, distname = "normal", theta = theta.hh)

### Plot ecdf and qq-plot ####
op <- par(no.readonly=TRUE)
par(mfrow=c(2,2), mar=c(3,3,2,1))
plot(ecdf(yy))
qqnorm(yy); qqline(yy)

plot(ecdf(zz))
qqnorm(zz); qqline(zz)
par(op)

偏りのある/重い裾のランバートのW x F分布のecdfおよびqqplot

θ=βδββ=μσβ=csνt

### Parameter estimation ####
mod.Lst <- MLE_LambertW(yy, distname="t", type="s")
mod.Lhh <- MLE_LambertW(zz, distname="normal", type="hh")

layout(matrix(1:2, ncol = 2))
plot(mod.Lst)
plot(mod.Lhh)

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

この重尾の生成はに基づいているため、全単射のRV /データの変換には、データから重尾を削除することができ、それらがあるかどうかを確認素敵は今、すなわち、それらはガウスであれば(と正規のテストを使用してテスト)。

### Test goodness of fit ####
## test if 'symmetrized' data follows a Gaussian
xx <- get_input(mod.Lhh)
normfit(xx)

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

これは、シミュレートされたデータセットではかなりうまくいきました。私はあなたにそれを試してみて、Gaussianize()あなたのデータもできるかどうか確かめることをお勧めします。

ただし、@ whuberが指摘したように、ここでは二峰性が問題になる可能性があります。したがって、多峰性で何が起こっているのか(ヘビーテールなしで)変換されたデータをチェックインして、(元の)データをモデル化する方法に関する洞察を提供したい場合があります。


+1非常に明確で見事に説明されています。あなたはこれらのアイデアを私たちと共有することにいくつかの努力を払ってくれました。ありがとうございます。
whuber

γRθδ

1
@マクロ:これら2つの点を明確にするために、元の投稿を編集しました。
Georg M. Goerg 2013年

私はファンで、scikit-learnのようなバージョンで作業を開始しました:github.com/gregversteeg/gaussianize
Greg Ver

7

これは、正規分布よりも両方向に長い裾を持つ非対称分布のように見えます。

  • 観測されたポイントは、左側と右側の両方で正規分布の下で予想されるポイントよりも極端であるため(つまり、それぞれラインの下と上にある)、ロングテールであることがわかります。

  • 非対称性がわかります。右裾では、正規分布の下で期待されるよりも極端なポイントの範囲が、左裾よりも大きいためです。

このような形の「缶詰」分布は考えられませんが、上記の特性を持つ分布を「作り出す」のはそれほど難しくありません。

シミュレーションの例を次に示します(R)。

set.seed(1234)
x=rexp(1e3)
y=-rexp(1e3,rate=2)
z=c(x,y)
qqnorm(z)
qqline(z) # see below for the plot. 
plot( ecdf(z) ) # see below for plot (2nd plot)

eバツpoetal1eバツpoetal2

この例は、あなたが見ているものと非常によく似たqqplotと経験的CDFを(定性的に)生成します。

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


1
+1混合モデルは便利です。特に、2つ以上の異なる状況下で生成されたデータがある場合。
セス

+1柔軟なディストリビューションの使用も検討される場合があります。

@Procrastinator、あなたはどの柔軟なディストリビューションを参照していますか(またはそれは専門用語ですか)?
マクロ

例えばスキューT分布:12345。それらは単峰性であり、歪度パラメーターと尖度パラメーターを含み、@ Sethが述べたように、観測を生成する2つ以上の母集団があるという混合モデルの仮定を避けます。

1
t

0

どの分布が最適であるかを判断するために、最初にいくつかの潜在的なターゲット分布を特定します。データを生成した実際のプロセスについて考え、次にいくつかの潜在的な密度をデータに当てはめ、対数尤度スコアを比較して確認しますどの潜在的分布が最適か。これは、MASSライブラリの関数fitdistrを使用して、Rで簡単に実行できます。

データがマクロのzのようなものである場合:

>fitdistr(z,'cauchy',list(location=mean(z),scale=sqrt(sd(z))))$loglik
[1] -2949.068

> fitdistr(z,'normal')$loglik
[1] -3026.648

> fitdistr(z,'t')$loglik
[1] -2830.861

したがって、これはt分布をマクロのデータに(私たちが試したものの)最適なものとして与えます。fitdistrからのパラメーターを使用するいくつかのqqplotsでこれを確認します。

> qqplot(z,rt(length(z),df=2.7))  

次に、このプロットを他の分布近似と比較します。


1
t

@マクロ多くの「既製」のディストリビューションは、ゆがんだ状況と重いテールの状況の両方を処理できます。Fとガンマは、ほぼすべての3と4のパラメーター分布とともに頭に浮かびます。元のポスターに「適合度」を定量化し、数値を比較する方法についてのアイデアが含まれるように、答えを追加しました。
Seth

私はあなたの要点を理解しますが、「既製」のディストリビューションがここで機能するかどうかを理解しようとしています。ガンマとFはどちらも非負であり、データが負でないようにデータを適切にシフトした場合でも、ガンマはこの種の形状を実現できないと思います。
マクロ

Sethと@Macro、問題のEDFプロットは二峰性を示しているため、2番目のモードをキャプチャする必要がある場合は、従来の分布との適切な適合を忘れてください。現時点では、フィットを推奨するための効果的な基準はありません。OPが後退する洪水データまたは金融大災害からの残差を持ち、したがって上部テールにうまくフィットする必要がある場合はどうなりますか?モードを分離することが彼/彼女にとって不可欠である場合はどうなりますか?答えは、アプリケーションによって著しく異なります。分布フィッティング、盲目的な数学的演習以上のものでなければなりません!
whuber
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.