データが正規分布と対数正規分布のサンプルである相対尤度を計算するアルゴリズムが必要


13

値のセットがあり、ガウス(正規)分布からサンプリングされたか、対数正規分布からサンプリングされた可能性が高いかどうかを知りたいとしましょう。

もちろん、理想的には、母集団または実験誤差の原因について何かを知っているので、質問に答えるのに役立つ追加情報があります。しかし、ここでは、数字のセットのみがあり、他の情報はないと仮定します。ガウス分布からのサンプリングと対数正規分布からのサンプリングのどちらがより可能性が高いでしょうか?どれくらい可能性がありますか?私が望んでいるのは、2つのモデルから選択するアルゴリズムで、できればそれぞれの相対的な可能性を定量化することです。


1
自然/出版された文献の分布を超えて分布を特徴づけることは、楽しい練習になるかもしれません。繰り返しますが、それは楽しい運動以上のものになることはありません。深刻な治療の場合は、選択を正当化する理論を探すか、十分なデータを与えて、各候補分布の適合度を視覚化し、テストすることができます。
ジョンロス

3
経験から一般化することの問題であれば、特に中心となる応答変数の場合、正に歪んだ分布が最も一般的なタイプであり、対数正規分布は正規分布よりも一般的です。1962年の科学者は、有名な統計学者IJグッドが編集した推測によると、「ログ正規分布は正規分布よりも正規性が高い」という主張を含む匿名の作品「Blogginsの作業ルール」を含んでいた。(他のいくつかのルールは統計的に強力です。)
ニックコックス

私はあなたの質問をJohnRosやanxoestevezとは異なって解釈しているようです。私にとって、あなたの質問は、単純なモデル選択、つまりの計算に関する質問のように聞こえます。ここで、は正規分布または対数正規分布、はデータです。モデルの選択があなたが望んでいるものではない場合、明確にすることはできますか?M DPMDMD
ルーカス

@lucasあなたの解釈は私のものとそれほど変わらないと思います。どちらの場合でも、アプリオリの仮定を行う必要があります。
-anxoestevez

2
一般化された尤度比を計算し、対数正規を好むときにユーザーに警告しないのはなぜですか?
Scortchi -復活モニカ

回答:


7

各分布(正規分布または対数正規分布)を最尤法でデータに適合させ、各モデルの下で対数尤度を比較することにより、分布タイプを最適に推測できます(最高の対数尤度を持つモデルが最適です)。たとえば、Rの場合:

# log likelihood of the data given the parameters (par) for 
# a normal or lognormal distribution
logl <- function(par, x, lognorm=F) {
    if(par[2]<0) { return(-Inf) }
    ifelse(lognorm,
    sum(dlnorm(x,par[1],par[2],log=T)),
    sum(dnorm(x,par[1],par[2],log=T))
    )
}

# estimate parameters of distribution of x by ML 
ml <- function(par, x, ...) {
    optim(par, logl, control=list(fnscale=-1), x=x, ...)
}

# best guess for distribution-type
# use mean,sd of x for starting parameters in ML fit of normal
# use mean,sd of log(x) for starting parameters in ML fit of lognormal
# return name of distribution type with highest log ML
best <- function(x) {
    logl_norm <- ml(c(mean(x), sd(x)), x)$value
        logl_lognorm <- ml(c(mean(log(x)), sd(log(x))), x, lognorm=T)$value
    c("Normal","Lognormal")[which.max(c(logl_norm, logl_lognorm))]
}

次に、正規分布から数値を生成し、MLによる正規分布に適合させます。

set.seed(1)
x = rnorm(100, 10, 2)
ml(c(10,2), x)

生産物:

$par
[1] 10.218083  1.787379

$value
[1] -199.9697
...

正規分布と対数正規分布のML適合の対数尤度を比較します。

ml(c(10,2), x)$value # -199.9697
    ml(c(2,0.2), x, lognorm=T)$value # -203.1891
best(x) # Normal

対数正規分布で試してください:

best(rlnorm(100, 2.6, 0.2)) # lognormal

n、mean、およびsdに応じて、割り当ては完全ではありません。

> table(replicate(1000, best(rnorm(500, 10, 2))))

Lognormal    Normal 
        6       994 
> table(replicate(1000, best(rlnorm(500, 2.6, 0.2))))

Lognormal    Normal 
      999         1 

1
正規分布または対数正規分布のいずれかに対して数値的最尤パラメーター推定値を見つける必要はありません(ただし、他の分布の比較にアイデアを一般化する方法を示しています)。それとは別に、非常に賢明なアプローチ。
Scortchi -復活モニカ

Rまたは最尤法の概念をほとんど使用しなかったので、ここに基本的な質問があります。AIC(またはBIC)は比較できないため、AIC(またはBIC)を正規分布をデータ対データのログに適合させて比較することはできません。2つのモデルを1つのデータセット(変換なし、異常値の除外などなし)に適合させる必要があり、データの変換は、比較の偽りに関係なくAICまたはBICを変更します。MLはどうですか?この比較は合法ですか?
ハーヴェイモトゥルスキー

データに最適な正規分布と対数正規分布を見つけ、それらがそれらの分布(尤度またはp(X|\theta))からのものであると仮定して、データを観測する確率を計算します。データを変換していません。データを観察する確率が最も高い分布を印刷します。このアプローチは合法ですが、データが与えられたモデルp(M|X)の確率、つまりデータが正規対対数正規分布から得られる確率を推測できないという欠点があります(例p(normal)= 0.1、p(lognormal)= 0.9)ベイジアンアプローチとは異なります。
非常に薄い

1
@Harvey十分ですが、無関係です-正規分布と対数正規分布を同じデータに適合させることについて質問しました。これがwhannymahootsが答えていることです。自由パラメーターの数は両方のモデルで同じであるため、AICまたはBICを比較すると対数尤度の比較になります。
Scortchi -復活モニカ

@wannymahootsこのコンテキストでのベイジアンアプローチの合理的な事前-ソフトウェアユーザーが通常または対数正規データに適合させようとする相対的な確率の推定に依存しているため、アプローチに同様の結果を与えるほど情報価値が低くなります可能性だけに基づいています。
Scortchi-モニカの復職

10

問題に対するベイズアプローチは、モデル上事後確率を考慮することであろうデータポイントのセット所与X = { X 1x N }M{正常対数正規}バツ={バツ1バツN}

PMバツPバツMPM

難しい部分はなっている周辺尤度を

PバツM=PバツθMPθMdθ

pθMバツY={ログバツ1ログバツNYバツ

PバツM=対数正常=PYM=正常|1バツ|

PθMPσ2μM=正常PM

例:

Pμσ2M=正常m0=0v0=20a0=1b0=100

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

Murphy(2007)(式203)によると、正規分布の限界尤度は次のようになります。

PバツM=正常=|vN|12|v0|12b0a0bnaNΓaNΓa01πN/22N

aNbNvNPμσ2バツM=正常

vN=1/(v01+N),mN=(v01m0+ixi)/vN,aN=a0+N2,bN=b0+12(v01m02vN1mN2+ixi2).

I use the same hyperparameters for the log-normal distribution,

P(XM=Log-normal)=P({logx1,...,logxN}M=Normal)i|1xi|.

For a prior probability of the log-normal of 0.1, P(M=Log-normal)=0.1, and data drawn from the following log-normal distribution,

enter image description here

the posterior behaves like this:

enter image description here

The solid line shows the median posterior probability for different draws of N data points. Note that for little to no data, the beliefs are close to the prior beliefs. For around 250 data points, the algorithm is almost always certain that the data was drawn from a log-normal distribution.

When implementing the equations, it would be a good idea to work with log-densities instead of densities. But otherwise it should be pretty straight forward. Here is the code that I used to generate the plots:

https://gist.github.com/lucastheis/6094631


4

It sounds like you are looking for something quite pragmatic to help analysts who probably aren't professional statisticians and need something to prompt them into doing what should be standard exploratory techniques such as looking at qq plots, density plots, etc.

In which case why not simply do a normality test (Shapiro-Wilk or whatever) on the original data, and one on the log transformed data, and if the second p value is higher raise a flag for the analyst to consider using a log transform? As a bonus, spit out a 2 x 2 graphic of the density line plot and qqnorm plot of the raw and the transformed data.

This won't technically answer your question about the relative likelihood but I wonder if it is all that you need.


Clever. Maybe this is enough, and avoids the need to explain likelihood calculations.... Thanks.
Harvey Motulsky
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.