데이터 세트가 주어지면 확률 분포 자동 결정


12

주어진 데이터 셋 :

x <- c(4.9958942,5.9730174,9.8642732,11.5609671,10.1178216,6.6279774,9.2441754,9.9419299,13.4710469,6.0601435,8.2095239,7.9456672,12.7039825,7.4197810,9.5928275,8.2267352,2.8314614,11.5653497,6.0828073,11.3926117,10.5403929,14.9751607,11.7647580,8.2867261,10.0291522,7.7132033,6.3337642,14.6066222,11.3436587,11.2717791,10.8818323,8.0320657,6.7354041,9.1871676,13.4381778,7.4353197,8.9210043,10.2010750,11.9442048,11.0081195,4.3369520,13.2562675,15.9945674,8.7528248,14.4948086,14.3577443,6.7438382,9.1434984,15.4599419,13.1424011,7.0481925,7.4823108,10.5743730,6.4166006,11.8225244,8.9388744,10.3698150,10.3965596,13.5226492,16.0069239,6.1139247,11.0838351,9.1659242,7.9896031,10.7282936,14.2666492,13.6478802,10.6248561,15.3834373,11.5096033,14.5806570,10.7648690,5.3407430,7.7535042,7.1942866,9.8867927,12.7413156,10.8127809,8.1726772,8.3965665)

.. 모수를 추정하여 가장 적합한 확률 분포 (감마, 베타, 정규, 지수, 포아송, 카이 제곱 등)를 결정하고 싶습니다. R을 사용하여 솔루션을 제공하는 다음 링크에 대한 질문을 이미 알고 있습니다 : https : //.com/questions/2661402/given-a-set-of-random-numbers-drawn-from-a- 연속 일 변량 분포- 제안 된 최상의 솔루션은 다음과 같습니다.

> library(MASS)
> fitdistr(x, 't')$loglik                                                              #$
> fitdistr(x, 'normal')$loglik                                                         #$
> fitdistr(x, 'logistic')$loglik                                                       #$
> fitdistr(x, 'weibull')$loglik                                                        #$
> fitdistr(x, 'gamma')$loglik                                                          #$
> fitdistr(x, 'lognormal')$loglik                                                      #$
> fitdistr(x, 'exponential')$loglik                                                    #$

loglik 값이 가장 작은 분포가 선택됩니다. 그러나 베타 배포와 같은 다른 디 럽션을 위해서는 fitdistr () 함수에서 일부 추가 매개 변수를 지정해야합니다.

   fitdistr(x, 'beta', list(shape1 = some value, shape2= some value)).

사전 정보없이 최상의 분포를 결정하려고한다고 가정하면 각 분포에 대해 매개 변수의 값이 무엇인지 알 수 없습니다. 이 요구 사항을 고려한 다른 솔루션이 있습니까? R에있을 필요는 없습니다.

답변:


18

목록에없는 분포의 무한대에 대해 무엇을합니까?

목록에있는 사람 중 어느 것도 적절하게 맞지 않으면 어떻게합니까 ? 예를 들어, 분포가 강한 양봉인 경우

지수가 감마의 특수한 경우라는 사실을 어떻게 다루겠습니까? 그래서 감마에는 추가 매개 변수가 있기 때문에 항상 모든 데이터 세트에 더 잘 맞아야하므로 더 나은 가능성이 있어야합니다 ?

가능성은 곱셈 상수까지만 정의되고 일관되게 정의되지 않는 한 다른 분포에 대한 가능성은 자동으로 비교할 수 없다는 사실을 어떻게 처리합니까?

이것들이 반드시 불용성 인 것은 아니지만, 합리적인 방법으로 이런 것들을하는 것은 사소한 것이 아닙니다. MLE 계산과 가능성 비교를 통해 모든 것을 묶는 것보다 더 많은 생각이 필요합니다.


3
나는 목록에있는 분포 만 신경 쓰고, 어떤 분포도 적합하지 않으면 다음에 그 문제를 다룰 것이다. 하지만 지금은 그 시점에 도달하면 충분합니다. 감마 분포에 관한 마지막 질문에 관해서는 그렇습니다. 몇 가지 매개 변수에 더 잘 맞을 수 있습니다. 제 질문은 이것에 관한 것입니다. 목록의 다른 분포에 대해 다른 매개 변수 값을 반복 할 수있는 알고리즘이 있습니까? 적절한 매개 변수를 사용하여 가장 적합한 분포를 반환합니까?

1
예, 아니오 "성공의 그림"을 만들어 어떤 매개 변수 세트가 가장 적합한 지 계산하고, "자상 등반"루프를 작성하여 공상 그림의 값을 최적화 할 수 있습니다. FOM의 한 예는 회귀 적합에 대한 R- 값입니다.
Carl Witthoft 2016 년

이 +1을 구독합니다.

4
@shachem 감마에 대한 요점을 놓쳤습니다. 더 적은 모수를 갖는 분포에서 데이터를 가져올 때에도 추가 모수를 갖는 분포는 항상 더 나은 가능성을 갖습니다 . 이것을 고려해야합니다. 일부 적합도는이 효과에 맞게 조정됩니다. 솔직히 말하면, 당신이하려는 것은 '나쁜 질문에 대답하는 것'일 것입니다. '어떻게이 망치 중에서 어느 망치가이 나사를 두드리기에 가장 좋은지 알아내는 방법'과 같은 질문입니다.
Glen_b -Reinstate 모니카

1
"가능성이 곱셈 상수까지만 정의"된다면 Glen은 "추가 매개 변수를 갖는 분포가 항상 더 나은 가능성을 가질 것"이라는 진술을 어떻게 이해할 수 있습니까? 실제로, 그렇게 정의가 잘되지 않은 가능성을 어떻게 비교할 수 있습니까? 나는 몇 가지 핵심 아이디어가 언급되지 않은 것으로 의심된다 ...
whuber

3

matlab을 사용하여 내 질문에 대답하는 함수를 찾았습니다. 이 링크에서 찾을 수 있습니다 : http://www.mathworks.com/matlabcentral/fileexchange/34943

데이터 벡터를 입력으로 사용합니다

   allfitdist(data)

최적 피팅 분포에 대한 다음 정보를 반환합니다.

   DistName- the name of the distribution
   NLogL - Negative of the log likelihood
   BIC - Bayesian information criterion (default)
   AIC - Akaike information criterion
   AICc - AIC with a correction for finite sample sizes 
   ParamNames
   ParamDescription
   Params
   etc.

1
이제 m-file을 R-file로 이식하기 만하면됩니다. :-)
Carl Witthoft 2016 년

조차! 내가 언급했듯이 그것은 R 파일 일 필요는 없으므로 matlab 함수는 내 문제를 완전히 해결합니다 :-)

AIC, BIC, AICc 등은 결정하는 한 가지 방법 일 수 있지만 그 의미가 실제로 무엇을 하려는지에 달려 있습니다. 예를 들어 한 분포가 로그 L과 관련하여 다른 분포에 실제로 가까운 경우 어떻게해야합니까? 당신이하려고하는 것이 예측하는 것이라면, 일반적으로 기준에 가까운 모델을 무시하는 것은 버려서는 안됩니다. 예를 들어 모델 평균화는이를 고려하는 한 가지 방법입니다.
Björn
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.