सापेक्ष संभावना की गणना करने के लिए एल्गोरिथ्म की आवश्यकता है कि डेटा सामान्य बनाम तार्किक वितरण से नमूना हैं


13

मान लें कि आपके पास मानों का एक सेट है, और आप यह जानना चाहते हैं कि क्या यह अधिक संभावना है कि उन्हें गॉसियन (सामान्य) वितरण से सैंपल किया गया था या लॉगऑनॉर्मल वितरण से नमूना लिया गया था?

बेशक, आदर्श रूप से आपको आबादी के बारे में या प्रयोगात्मक त्रुटि के स्रोतों के बारे में कुछ पता होगा, इसलिए प्रश्न का उत्तर देने के लिए उपयोगी अतिरिक्त जानकारी होगी। लेकिन यहाँ, मान लें कि हमारे पास केवल संख्याओं का एक समूह है और कोई अन्य जानकारी नहीं है। जो अधिक संभावना है: एक गाऊसी से नमूना लेना या एक असामान्य वितरण से नमूना लेना? कितनी अधिक संभावना है? मैं जो उम्मीद कर रहा हूं वह दो मॉडलों के बीच चयन करने के लिए एक एल्गोरिथ्म है, और उम्मीद है कि प्रत्येक की सापेक्ष संभावना निर्धारित करें।


1
यह प्रकृति / प्रकाशित साहित्य में वितरण से अधिक वितरण की कोशिश और विशेषता के लिए एक मजेदार अभ्यास हो सकता है। फिर फिर से- यह एक मजेदार व्यायाम से अधिक कभी नहीं होगा। एक गंभीर उपचार के लिए, आप या तो अपनी पसंद को सही ठहराने वाले सिद्धांत की तलाश कर सकते हैं, या पर्याप्त डेटा दिया जा सकता है- प्रत्येक उम्मीदवार के वितरण की फिटनेस की कल्पना और परीक्षण करें।
JohnRos

3
अगर यह अनुभव से सामान्य बनाने की बात है, तो मैं कहूंगा कि सकारात्मक रूप से तिरछा वितरण सबसे आम प्रकार है, विशेष रूप से प्रतिक्रिया चर के लिए जो केंद्रीय हित के हैं, और यह कि लॉगऑनॉर्मल मानदंडों की तुलना में अधिक सामान्य हैं। 1962 का वॉल्यूम प्रसिद्ध सांख्यिकीविद् आईजे गुड द्वारा संपादित वैज्ञानिक अटकलें हैं, जिसमें एक गुमनाम टुकड़ा "ब्लॉग्स के कामकाजी नियम" शामिल हैं, जिसमें जोर दिया गया है "लॉग सामान्य वितरण सामान्य से अधिक सामान्य है"। (अन्य नियमों में से कई दृढ़ता से सांख्यिकीय हैं।)
निक कॉक्स

मैं जॉनरोस और चिंताओं से अलग आपके प्रश्न की व्याख्या करने लगता हूं। मेरे लिए, आपका प्रश्न सादे मॉडल चयन के बारे में एक जैसा लगता है , जो कि कंप्यूटिंग का मामला है , जहां या तो सामान्य या लॉग-सामान्य वितरण है और आपका डेटा है। यदि मॉडल का चयन वह नहीं है जो आप कर रहे हैं, तो क्या आप स्पष्ट कर सकते हैं? एम डीP(MD)MD
लुकास

@ लुकास मुझे लगता है कि आपकी व्याख्या खदान से बहुत अलग नहीं है। या तो मामले में आपको एप्रीओरी मान्यताओं को करने की आवश्यकता है ।
anxoestevez

2
सामान्य लॉग-इन अनुपात की गणना क्यों न करें और लॉग-सामान्य के अनुकूल होने पर उपयोगकर्ता को सतर्क करें?
Scortchi - को पुनः स्थापित मोनिका

जवाबों:


7

आप वितरण प्रकार पर एक सर्वोत्तम अनुमान लगा सकते हैं ताकि प्रत्येक वितरण (सामान्य या lognormal) को अधिकतम संभावना के अनुसार डेटा में फिट किया जा सके, फिर प्रत्येक मॉडल के तहत लॉग-लाइबिलिटी की तुलना करें - सबसे अधिक लॉग-लाइबिलिटी वाला मॉडल सबसे उपयुक्त होगा। उदाहरण के लिए, 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
...

सामान्य और lognormal वितरण के एमएल फिट के लिए लॉग-संभावना की तुलना करें:

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 - को पुनः स्थापित मोनिका

मैंने बमुश्किल आर या अधिकतम संभावना की अवधारणा का उपयोग किया है, इसलिए यहां एक मूल प्रश्न है। मुझे पता है कि हम AIC (या BIC) की तुलना डेटा के सामान्य वितरण से लेकर डेटा के लॉग तक करने से नहीं कर सकते, क्योंकि AIC या BIC की तुलना नहीं होगी। डेटा के एक सेट के लिए दो मॉडल फिट करने की आवश्यकता है (कोई परिवर्तन नहीं; कोई बाहरी बहिष्करण आदि), और डेटा को बदलने से एआईसी या बीआईसी बदल जाएगा, भले ही तुलना फर्जी हो। एमएल के बारे में क्या? क्या यह तुलना वैध है?
हार्वे मोटुलस्की

हम डेटा के लिए सबसे अच्छा फिटिंग सामान्य और तार्किक वितरण पाते हैं, फिर डेटा के अवलोकन की संभावना की गणना करते हैं कि वे उन वितरणों (संभावना या p(X|\theta)) से थे। हम डेटा को रूपांतरित नहीं कर रहे हैं। हम उस वितरण को प्रिंट करते हैं जिसके लिए डेटा के अवलोकन की संभावना सबसे अधिक है। यह दृष्टिकोण वैध है, लेकिन इसका नुकसान यह है कि हम दिए गए मॉडल की संभावना को डेटा नहीं देते हैं p(M|X), अर्थात यह संभावना है कि डेटा एक सामान्य बनाम तार्किक वितरण से है (जैसे p (सामान्य) = 0.1, p (lognormal) = 0.9) बायेसियन दृष्टिकोण के विपरीत।
वेफरथिन

1
@ हाईवे काफी सही है, लेकिन अप्रासंगिक - आपने समान डेटा के लिए सामान्य बनाम लॉग-सामान्य वितरण फिटिंग के बारे में पूछा , और यह वही है जो whannymahoots जवाब दे रहा है। क्योंकि दोनों मॉडलों के लिए नि: शुल्क मापदंडों की संख्या समान है, एआईसीएस या बीआईसी की तुलना लॉग-लाइलेरहुड की तुलना करने के लिए कम करती है।
Scortchi - को पुनः स्थापित मोनिका

@wannymahoots इस संदर्भ में बायेसियन दृष्टिकोण के लिए किसी भी उचित पूर्व - रिश्तेदार संभावनाओं का अनुमान लगाने पर भरोसा करते हुए कि एक सॉफ्टवेयर उपयोगकर्ता सामान्य या लॉग-सामान्य डेटा को फिट करने की कोशिश कर रहा है - इतना असंक्रामक है कि यह एक दृष्टिकोण के समान परिणाम देगा। सिर्फ संभावना पर आधारित है।
Scortchi - को पुनः स्थापित मोनिका

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)

उदाहरण:

के लिए मैं एक का चयन सामान्य उलटा-गामा वितरण के साथ मानकों ।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|.

की लॉग-सामान्य की पूर्व संभावना के लिए , , और निम्न लॉग-सामान्य वितरण से तैयार डेटापी ( एम = लॉग-सामान्य ) = 0.10.1P(M=Log-normal)=0.1

यहाँ छवि विवरण दर्ज करें

इस तरह से व्यवहार करता है:

यहाँ छवि विवरण दर्ज करें

ठोस रेखा डेटा बिंदुओं के अलग-अलग ड्रॉ के लिए औसत दर्जे की संभावना दिखाती है । ध्यान दें कि बहुत कम डेटा के लिए, विश्वास पूर्व मान्यताओं के करीब हैं। लगभग 250 डेटा बिंदुओं के लिए, एल्गोरिथ्म लगभग हमेशा निश्चित होता है कि डेटा लॉग-सामान्य वितरण से खींचा गया था।N

समीकरणों को लागू करते समय, घनत्व के बजाय लॉग-डेंसिटी के साथ काम करना एक अच्छा विचार होगा। लेकिन अन्यथा यह बहुत सीधे आगे होना चाहिए। यहाँ वह कोड है जो मैंने प्लॉट जेनरेट करने के लिए इस्तेमाल किया था:

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


4

ऐसा लगता है कि आप उन विश्लेषकों की मदद करने के लिए काफी व्यावहारिक हैं, जो संभवत: पेशेवर सांख्यिकीविद् नहीं हैं और उन्हें ऐसा करने के लिए मानक खोजपूर्ण तकनीकों जैसे कि क्यूक प्लॉट्स, घनत्व प्लॉट्स आदि को देखने के लिए कुछ करने की आवश्यकता है।

जिस स्थिति में मूल डेटा पर केवल एक सामान्यता परीक्षण (शापिरो-विल्क या जो कुछ भी) क्यों न हो, और लॉग ट्रांसफ़ॉर्म किए गए डेटा में से एक, और यदि दूसरा पी मान अधिक है, तो लॉग ट्रांसफ़ॉर्म का उपयोग करने पर विचार करने के लिए विश्लेषक के लिए एक झंडा बढ़ाएँ। ? एक बोनस के रूप में, कच्चे और परिवर्तित डेटा के घनत्व लाइन प्लॉट और qqnorm प्लॉट के 2 x 2 ग्राफिक को थूक दें।

यह रिश्तेदार संभावना के बारे में तकनीकी रूप से आपके प्रश्न का उत्तर नहीं देगा, लेकिन मुझे आश्चर्य है कि अगर यह आपकी ज़रूरत है।


चतुर। शायद यह पर्याप्त है, और संभावना गणनाओं की व्याख्या करने की आवश्यकता से बचा जाता है .... धन्यवाद।
हार्वे मोटुलस्की
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.