정규 분포 대 로그 정규 분포에서 데이터가 추출 될 가능성을 계산하는 알고리즘 필요


13

값 집합이 있고 가우시안 (정규) 분포에서 추출되었거나 로그 정규 분포에서 샘플링 될 가능성이 더 높은지 알고 싶습니까?

물론 이상적으로는 모집단이나 실험 오류의 원인에 대해 알고 있으므로 질문에 대답하는 데 유용한 추가 정보가 있어야합니다. 그러나 여기서는 숫자 만 있고 다른 정보는 없다고 가정합니다. 가우시안에서 샘플링하거나 로그 정규 분포에서 샘플링 할 가능성이 더 큽니까? 얼마나 더 가능성이 있습니까? 내가 바라는 것은 두 모델 중에서 선택하고 각각의 상대적 가능성을 수량화하는 알고리즘입니다.


1
자연 / 출판 된 문헌의 분포에 대한 분포를 특성화하는 것은 재미있는 운동이 될 수 있습니다. 그런 다음 다시는 재미있는 운동 이상이 될 수 없습니다. 진지한 치료를 위해서는 선택을 정당화하는 이론을 찾거나 각 후보 분포의 적합도를 충분히 시각화하고 테스트 할 수 있습니다.
JohnRos

3
경험을 일반화하는 문제라면 양의 치우친 분포가 가장 일반적인 유형, 특히 중심 관심 대상인 반응 변수의 경우 대수 정규 분포가 정규 분포보다 더 일반적이라고 말할 수 있습니다. 1962 년 한 과학자 는 유명한 통계학 자인 IJ Good에 의해 편집 된 것으로 추측한다 . (다른 규칙들 중 일부는 강력하게 통계적입니다.)
Nick Cox

귀하의 질문을 JohnRos 및 anxoestevez와 다르게 해석하는 것 같습니다. 나에게 당신의 질문은 일반 모델 선택 , 즉 계산의 문제와 같습니다 . 여기서 은 정규 분포 또는 로그 정규 분포이고 는 데이터입니다. 모델 선택이 당신이 추구하는 것이 아닌 경우, 명확히 할 수 있습니까? M DP(MD)MD
Lucas

@lucas 나는 당신의 해석이 내 것과 크게 다르지 않다고 생각합니다. 두 경우 모두 선험적 가정 을 수행해야합니다 .
anxoestevez

2
일반화 가능성 비율을 계산하고 대수 정규화에 유리할 때 사용자에게 경고하지 않는 이유는 무엇입니까?
Scortchi-Monica Monica 복원

답변:


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, 평균 및 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-Monica Monica 복원

나는 R 또는 최대 가능성의 개념을 거의 사용하지 않았으므로 여기에 기본적인 질문이 있습니다. AIC 또는 BIC는 비교할 수 없기 때문에 정규 분포를 데이터와 데이터의 로그에 맞추는 것과 AIC (또는 BIC)를 비교할 수 없다는 것을 알고 있습니다. 하나는 두 개의 모델을 하나의 데이터 세트에 변환해야하며 (변형 없음, 이상치 제외 제외), 데이터를 변환하면 비교 가짜를 만들지 않고 AIC 또는 BIC가 변경됩니다. ML은 어떻습니까? 이 비교가 합법입니까?
Harvey Motulsky

데이터에 가장 적합한 정규 분포와 대수 정규 분포를 찾은 다음 해당 분포에서 나온 것으로 가정하여 데이터를 관찰 할 확률을 계산합니다 (우측 또는 p(X|\theta)). 우리는 데이터를 변환하지 않습니다. 데이터를 관찰 할 확률이 가장 높은 분포를 인쇄합니다. 이 접근법은 합법적이지만 데이터가 주어지면 모델 p(M|X)의 확률, 즉 데이터가 정규 대 로그 정규 분포에서 비롯된 확률 (예 : p (normal) = 0.1, p (lognormal) = 0.9) 베이지안 접근법과 달리.
waferthin

1
@Harvey 사실은 충분하지만 관련이 없습니다. 동일한 데이터에 정규 분포 대 로그 정규 분포를 맞추는 방법에 대해 물었습니다. 이것이 whannymahoots가 대답하는 것입니다. 자유 모수의 수는 두 모델 모두 동일하기 때문에 AIC 또는 BIC를 비교하면 로그 우도 비교가 줄어 듭니다.
Scortchi-Monica Monica 복원

@wannymahoots이 맥락에서 베이지안 접근법에 대한 합리적인 사전-소프트웨어 사용자가 정상 또는 로그 정규 데이터에 적합하려고 시도하는 상대적 확률 추정-의존성이 너무 높아서 접근과 비슷한 결과를 제공함 가능성을 기반으로합니다.
Scortchi-Monica Monica 복원

11

문제에 대한 베이지안 접근 방식 은 일련의 데이터 포인트 를 고려하여 모델 대한 사후 확률을 고려하는 것 입니다 ,M{Normal,Log-normal}X={x1,...,xN}

P(MX)P(XM)P(M).

어려운 부분은 한계 가능성을 얻는 것입니다 .

P(XM)=P(Xθ,M)P(θM)dθ.

의 특정 선택에 대해 가우스의 한계 확률은 닫힌 형태로 얻을 수 있습니다 . 말하는 이후 분산 일반적으로 로그가 말하는 것과 동일하다 정규 분포}, 당신은에 대해 동일한 한계 가능성 사용할 수 있어야 로그를 정상 대신 에 적용하여 가우시안 모델과 같습니다 . 자코비 안의 변화 를 고려하는 것만 기억하십시오 .p(θM)XY={logx1,...,logxNYX

P(XM=Log-Normal)=P(YM=Normal)i|1xi|.

이 방법을 사용하려면 모수 대한 분포를 선택해야합니다. 여기에서 아마도 및 이전 확률 .P(θM)P(σ2,μM=Normal)P(M)

예:

들면 I는 선택 정상 역 감마 분포 매개 변수 .P(μ,σ2M=Normal)m0=0,v0=20,a0=1,b0=100

여기에 이미지 설명을 입력하십시오

따르면 머피 (2007) (식 203), 정규 분포 확률의 한계는 다음에 의해 주어진다

P(XM=Normal)=|vN|12|v0|12b0a0bnaNΓ(aN)Γ(a0)1πN/22N

여기서 및 은 사후 의 매개 변수입니다 (수학 식 196-200).aN,bN,vNP(μ,σ2X,M=Normal)

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

로그 정규 분포에 동일한 하이퍼 파라미터를 사용합니다.

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

log-normal의 사전 확률 , , 다음 log-normal 분포에서 얻은 데이터P ( M = 로그-노멀 ) = 0.10.1P(M=Log-normal)=0.1

여기에 이미지 설명을 입력하십시오

후부는 다음과 같이 동작합니다.

여기에 이미지 설명을 입력하십시오

실선은 데이터 포인트 의 다른 드로우에 대한 중간 사후 확률을 보여줍니다 . 데이터가 거의 없거나 전혀없는 경우, 신념은 이전 신념에 가깝습니다. 약 250 개의 데이터 포인트에 대해 알고리즘은 거의 항상 데이터가 로그 정규 분포에서 도출되었음을 확신합니다.N

방정식을 구현할 때는 밀도 대신 로그 밀도로 작업하는 것이 좋습니다. 그러나 그렇지 않으면 매우 간단합니다. 플롯을 생성하는 데 사용한 코드는 다음과 같습니다.

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


4

전문 통계 전문가가 아니고 QQ 플롯, 밀도 플롯 등의 표준 탐색 기술을 수행하도록 자극 해야하는 분석가를 돕기 위해 매우 실용적인 무언가를 찾고있는 것처럼 들립니다.

그렇다면 원래 데이터와 로그 변환 된 데이터에 대해 정규성 검정 (Shapiro-Wilk 등)을 수행하지 말고 두 번째 p 값이 더 높으면 분석가가 로그 변환 사용을 고려하도록 플래그를 올리십시오. ? 보너스로, 원시 데이터와 변환 된 데이터의 밀도 선 플롯과 qqnorm 플롯의 2 x 2 그래픽을 뱉어냅니다.

이것은 상대적인 가능성에 대한 귀하의 질문에 기술적으로 대답하지는 않지만 그것이 당신이 필요한 전부인지 궁금합니다.


영리한. 어쩌면 이것으로 충분하고 가능성 계산을 설명 할 필요가 없습니다 .... 감사합니다.
Harvey Motulsky
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.