तीन प्रतिशत के आधार पर वितरण का अनुमान लगाना


23

यदि मैं केवल तीन प्रतिशतता जानता हूं, तो वितरण में बांटने के लिए मैं किन विधियों का उपयोग कर सकता हूं?

उदाहरण के लिए, मुझे पता है कि एक निश्चित डेटा सेट में, पाँचवाँ प्रतिशतक 35,१३५ है, ५० वाँ प्रतिशतक ११,२५ ९ है, और ९ ५,६११ प्रतिशत २३,६११ है। मैं किसी भी अन्य संख्या से इसके प्रतिशत तक जाने में सक्षम होना चाहता हूं।

यह मेरा डेटा नहीं है, और वे सभी आँकड़े हैं जो मेरे पास हैं। यह स्पष्ट है कि वितरण सामान्य नहीं है। मेरे पास एकमात्र अन्य जानकारी यह है कि यह डेटा विभिन्न स्कूल जिलों के लिए प्रति व्यक्ति सरकारी धन का प्रतिनिधित्व करता है।

मैं यह जानने के लिए आंकड़ों के बारे में पर्याप्त जानता हूं कि इस समस्या का कोई निश्चित समाधान नहीं है, लेकिन यह जानने के लिए पर्याप्त नहीं है कि अच्छे अनुमानों के बारे में कैसे जाना जाए।

क्या एक सामान्य वितरण उचित होगा? प्रतिगमन करने के लिए मैं कौन से उपकरण का उपयोग कर सकता हूं (या मुझे इसे स्वयं करने की आवश्यकता है)?


मैंने r टैग जोड़ा है इसलिए R कोड मेरी टिप्पणी में हाइलाइट किया गया है
mpiktas

उसी प्रश्न (और उसके समाधान) के विस्तृत उदाहरण के लिए, डुप्लिकेट थ्रेड को देखे जाने के लिए देखे जाने वाले आँकड़े ।stackexchange.com / questions / 133129 पर
whuber

जवाबों:


17

इस काम को करने के लिए एक विशुद्ध रूप से सांख्यिकीय पद्धति का उपयोग करना, स्कूल के खर्च के वितरण के बारे में कोई अतिरिक्त जानकारी प्रदान नहीं करेगा: परिणाम केवल एल्गोरिदम की एक मनमानी पसंद को प्रतिबिंबित करेगा।

आपको अधिक डेटा की आवश्यकता है

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

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

बेशक, कोई भी वैध रूप से गारंटी नहीं दे सकता है कि यह डेटा-सूचित, निर्णय-उन्मुख विधि कुछ सांख्यिकीय नुस्खा की तुलना में किसी भी बेहतर (या किसी भी बदतर) का प्रदर्शन करेगी, लेकिन - विशुद्ध रूप से सांख्यिकीय दृष्टिकोण के विपरीत - इस पद्धति का वास्तविकता में आधार है, अपनी आवश्यकताओं पर ध्यान देने के साथ, इसे आलोचना के खिलाफ कुछ विश्वसनीयता और रक्षा प्रदान करें।


2
+1 आप अधिक डेटा की आवश्यकता है और क्या आप परिणामों का उपयोग करने के लिए करना चाहते हैं अतिरिक्त जोर के पात्र हैं।
vqv

2
ऐसा लगता है कि आपके उत्तर में बहुत ज्ञान है। मुझे उन लोगों के साथ अधिक परामर्श करना होगा जिन्होंने मुझे इस समस्या के बारे में बताया कि वे क्या चाहते हैं। लिंक और सलाह के लिए धन्यवाद।
मार्क इचेंलाब

1
@ लक बेस्ट ऑफ लक!
whuber

23

जैसा कि @whuber ने बताया है, सांख्यिकीय तरीके यहां बिल्कुल काम नहीं करते हैं। आपको अन्य स्रोतों से वितरण का अनुमान लगाने की आवश्यकता है। जब आप वितरण को जानते हैं तो आपके पास एक गैर-रेखीय समीकरण हल करने वाला व्यायाम होता है। द्वारा निरूपित करें के साथ पैरामीटर वेक्टर अपनी चुनी प्रायिकता वितरण का quantile समारोह θfθ । आपके पास समीकरणों की निम्न अपस्मार प्रणाली है:

q0.05=f(0.05,θ)q0.5=f(0.5,θ)q0.95=f(0.95,θ)

जहाँ q आपकी मात्राएँ हैं। आप खोजने के लिए इस प्रणाली को हल करने की जरूरत है । अब व्यावहारिक रूप से किसी भी 3-पैरामीटर वितरण के लिए आपको इस समीकरण को संतुष्ट करने वाले मापदंडों के मूल्य मिलेंगे। 2-पैरामीटर और 1-पैरामीटर वितरण के लिए यह सिस्टम ओवरडाइटेड है, इसलिए कोई सटीक समाधान नहीं हैं। इस मामले में आप मापदंडों के एक समूह की खोज कर सकते हैं जो विसंगति को कम करता है:θ

(q0.05f(0.05,θ))2+(q0.5f(0.5,θ))2+(q0.95f(0.95,θ))2

यहां मैंने द्विघात फ़ंक्शन को चुना, लेकिन आप जो चाहें चुन सकते हैं। @Whuber टिप्पणियों के अनुसार आप वज़न असाइन कर सकते हैं, ताकि अधिक महत्वपूर्ण मात्राएँ अधिक सटीक रूप से फिट की जा सकें।

चार और अधिक मापदंडों के लिए प्रणाली को कम करके आंका गया है, इसलिए अनंत संख्या में समाधान मौजूद हैं।

यहाँ कुछ नमूना आर कोड है जो इस दृष्टिकोण को दर्शाता है। प्रदर्शन के प्रयोजनों के लिए मैं वीजीएएम पैकेज से सिंह-मददाला वितरण से मात्रा उत्पन्न करता हूं । इस वितरण में 3 पैरामीटर हैं और इसका उपयोग आय वितरण मॉडलिंग में किया जाता है।

 q <- qsinmad(c(0.05,0.5,0.95),2,1,4)
 plot(x<-seq(0,2,by=0.01), dsinmad(x, 2, 1, 4),type="l")
 points(p<-c(0.05, 0.5, 0.95), dsinmad(p, 2, 1, 4))

alt text

अब वह फ़ंक्शन बनाएं जो समीकरणों के गैर-रेखीय प्रणाली का मूल्यांकन करता है:

 fn <- function(x,q) q-qsinmad(c(0.05, 0.5, 0.95), x[1], x[2], x[3])

जांचें कि क्या सही मान समीकरण को संतुष्ट करते हैं:

 > fn(c(2,1,4),q)
   [1] 0 0 0

गैर-रेखीय समीकरण प्रणाली को हल करने के लिए मैं nleqslvपैकेज से फ़ंक्शन का उपयोग करता हूं nlqeslv हूं

 > sol <- nleqslv(c(2.4,1.5,4.3),fn,q=q)
 > sol$x       
  [1] 2.000000 1.000000 4.000001

जैसा कि हम देखते हैं कि हम सटीक समाधान प्राप्त करते हैं। आइए अब हम इन मात्राओं में लॉग-सामान्य वितरण को फिट करने का प्रयास करें। इसके लिए हम उपयोग करेंगेoptim फंक्शन का ।

 > ofn <- function(x,q)sum(abs(q-qlnorm(c(0.05,0.5,0.95),x[1],x[2]))^2)
 > osol <- optim(c(1,1),ofn)
 > osol$par
   [1] -0.905049  0.586334

अब परिणाम की साजिश करें

  plot(x,dlnorm(x,osol$par[1],osol$par[2]),type="l",col=2)
  lines(x,dsinmad(x,2,1,4))
  points(p,dsinmad(p,2,1,4))

alt text

इससे हम तुरंत देखते हैं कि द्विघात कार्य इतना अच्छा नहीं है।

उम्मीद है की यह मदद करेगा।


1
महान! इस प्रयास में गए सभी प्रयासों के लिए धन्यवाद, mpiktas। मैं R से परिचित नहीं हूं, लेकिन आपके कोड को अच्छी तरह समझाया गया है कि मैं अभी भी आसानी से बता सकता हूं कि आप क्या कर रहे हैं।
मार्क आइचेनबूब

इस उदाहरण के लिए बहुत बहुत धन्यवाद। मुझे लगता है कि इसमें 2 गलतियाँ हैं ofn <- function(x,q) sum(abs(q-qlnorm(c(0.05,0.5,0.95),x[1],x[2]))^2)। मैं प्रस्ताव करता हूं ofn <- function(x) sum(abs(q-qlnorm(c(0.05,0.5,0.95),x[1],x[2],x[3]))^2)क्योंकि qकोई इनपुट नहीं है ofn, और X[3]गायब है। सादर

9

की कोशिश RriskDistributions पैकेज का , और - यदि आप लॉग ऑन असामान्य वितरण परिवार के बारे में सुनिश्चित हैं - कमांड का उपयोग करें

get.lnorm.par(p=c(0.05,0.5,0.95),q=c(8.135,11.259,23.611))

जो आपकी समस्या का समाधान करे। fit.percइसके बजाय यदि आप एक ज्ञात पीडीएफ को प्रतिबंधित नहीं करना चाहते हैं, तो इसका उपयोग करें ।


सुपर सरल समाधान!
ल्यूकोनाचो

6

एक सामान्य के लिए माध्यिका के लिए 95 वें प्रतिशताइल का अनुपात 5% प्रतिशत के मध्य के अनुपात के समान है। यह भी लगभग सच नहीं है यहाँ इसलिए कि lognormal एक अच्छा फिट नहीं होगा।

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

हालांकि यह आपको अन्य मात्राओं के अनुमानों में अनिश्चितता का कोई संकेत नहीं देने वाला है। मुझे नहीं पता कि आपको इसकी आवश्यकता है, लेकिन एक सांख्यिकीविद् के रूप में मुझे लगता है कि मुझे इसे प्रदान करने में सक्षम होना चाहिए, इसलिए मैं वास्तव में इस उत्तर से संतुष्ट नहीं हूं। मैं निश्चित रूप से इस विधि का उपयोग नहीं करूंगा, या शायद किसी भी विधि, 5 वीं से 95 वीं प्रतिशतक की सीमा के बाहर (बहुत) अतिरिक्त करने के लिए।


1
सलाह के लिए धन्यवाद। पुन: lognormal - मैं प्रतिशत के अनुपातों को हर चीज से 7077 घटाकर औसत दर्जे का काम कर सकता हूं, फिर इसे अंत में वापस जोड़ सकता हूं। कितना बुरा अंदाजा होगा?
मार्क इचेनलाउब

1
अच्छी बात यह है कि, यह 'बदलावित सामान्य वितरण' होगा। लॉग-सामान्य और लॉग-लॉजिस्टिक उत्तरार्द्ध की भारी पूंछ के अलावा आकार में बहुत समान हैं, इसलिए आप दोनों की कोशिश कर सकते हैं और परिणामों की तुलना कर सकते हैं।
onestop

तुलना कैसे? स्थानांतरित लॉगनॉर्मल को क्वांटाइल्स को पूरी तरह से फिट करने की गारंटी है। लगभग कोई भी तीन-पैरामीटर परिवार पूरी तरह से फिट होगा। आप दो पूर्ण फिट की तुलना कैसे करते हैं?
whuber


मुझे कुछ याद आ रहा है: क्या अन्य मूल्य? ओपी कहता है कि केवल तीन प्रतिशत उपलब्ध हैं, और कुछ नहीं।
whuber

2

केवल उन चीजों के बारे में जो आप डेटा से अनुमान लगा सकते हैं कि वितरण निरर्थक है। आप यह भी नहीं बता सकते हैं कि क्या वे क्वांटिल्स फिटेड डिस्ट्रीब्यूशन से आए हैं या सिर्फ ईकोडीफ।

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


1
बहुपद और स्प्लिन वैध सीडीएफ होने की संभावना नहीं है।
whuber

अच्छा अवलोकन। इस मामले में, सामान्य द्विघात बहुपद काम करने में विफल रहता है, लेकिन इसमें से चुनने के लिए असीम रूप से कई द्विघात विभाजन हैं (लगता है कि Bézier) को एक ही समस्या नहीं होनी चाहिए (हालांकि कुछ को अभी भी डोमेन क्रॉपिंग की आवश्यकता हो सकती है)। इसी तरह, एक उपयुक्त मोनोटोनिक क्यूबिक स्पैन ढूंढना संभव होना चाहिए। मुझे स्पलाइन एल्गोरिदम के बारे में पता है जो एकरसता की गारंटी देता है, लेकिन मैं अभी एक को खोजने में असमर्थ हूं, इसलिए मुझे इस बात को छोड़ना होगा कि "कुछ ऐसा चुनें जो आपको पसंद हो, जैसे कि cdf"।
सेस्कु

आप इतनी दूर तक जा सकते हैं कि एक मोनोटोनिक (या जो भी) क्वांटाइल्स के लॉगरिथम में फिट हो सके, जिससे क्वांटाइल्स की सीमा के भीतर कुछ उचित हो। लेकिन यह दो चरम मात्राओं से परे पूंछ को फिट करने में कोई मदद नहीं करता है। किसी को फिट होने के लिए अनिच्छुक होना चाहिए ताकि संख्यात्मक फिटिंग प्रक्रिया की आकस्मिक विशेषताओं को छोड़ दिया जा सके।
whuber

2

एक प्राथमिक वितरण के मापदंडों का अनुमान लगाने के लिए क्वांटाइल्स का उपयोग मानव प्रतिक्रिया समय माप पर साहित्य में "क्वांटाइल अधिकतम संभावना अनुमान" (क्यूएमपीई, हालांकि मूल रूप से गलत तरीके से "मात्रात्मक अधिकतम संभावना अनुमान", क्यूएमएलई) के रूप में चर्चा की जाती है, हीथकोट द्वारा लंबाई पर चर्चा की गई। और सहयोगियों । आप कई अलग-अलग प्राथमिकताओं के वितरण (पूर्व-गौसियन, लॉग्डनॉर्म्ड, वाल्ड, और वीबुल) को फिट कर सकते हैं, फिर वितरण स्वाद खोजने के लिए प्रत्येक वितरण के लिए परिणामी सर्वोत्तम फिट के योग लॉग संभावना की तुलना करें जो आपको सबसे उपयुक्त लगता है।


2
किसी भी तीन-पैरामीटर वितरण को तीन मात्राओं को पूरी तरह से फिट करने की गारंटी है इस प्रकार यह इस दृष्टिकोण का उपयोग करने के लिए केवल एक या दो मापदंडों को फिट करने के लिए समझ में आता है। यह भी एक अकेले पैरामीटर के आधार पर दो-पैरामीटर फिट (एक अलग परिवार के साथ) के लिए एक-पैरामीटर फिट की तुलना करने के लिए कोई मतलब नहीं है।
whuber

@whuber, re: "किसी भी तीन-पैरामीटर वितरण को तीन मात्राओं को पूरी तरह फिट करने की गारंटी है"। मुझे पता ही नहीं चला कि इतना अच्छा है! पुन: "अकेले किसी भी संभावना के आधार पर दो-पैरामीटर फिट (एक अलग परिवार के साथ) के लिए एक पैरामीटर की तुलना करने के लिए इसका कोई मतलब नहीं है।" आह हाँ, वास्तव में; मैं यह उल्लेख करने में विफल रहा कि किसी को कुछ जटिलता सुधारों (एआईसी, बीआईसी, ...) को लागू करना होगा, यदि विभिन्न मापदंडों के साथ वितरण जायके के लिए फिट बैठता है। यह बात बताने के लिए धन्यवाद।
माइक लॉरेंस

मैंने थोड़ा अतिरंजित किया, क्योंकि मैं दो मापदंडों के पैमाने और स्थान के बारे में सोच रहा था और तीसरे में आकार की एक विस्तृत श्रृंखला शामिल थी। फिर भी, अधिकांश तीन-पैरामीटर परिवारों में तीन प्रतिशत फिट होने के लिए पर्याप्त लचीलापन है बशर्ते वे सभी अलग हों।
whuber

1

आप किसी भी तरह से डेटा का अनुकरण करने के लिए अपनी प्रतिशत जानकारी का उपयोग कर सकते हैं और वितरण को असमान रूप से अनुमान लगाने के लिए आर पैकेज "लॉगस्पलाइन" का उपयोग कर सकते हैं। नीचे मेरा कार्य है जो इस तरह से एक विधि को नियोजित करता है।

calc.dist.from.median.and.range <- function(m, r) 
{
    ## PURPOSE: Return a Log-Logspline Distribution given (m, r).
    ##          It may be necessary to call this function multiple times in order to get a satisfying distribution (from the plot). 
    ## ----------------------------------------------------------------------
    ## ARGUMENT:
    ##   m: Median
    ##   r: Range (a vector of two numbers)
    ## ----------------------------------------------------------------------
    ## RETURN: A log-logspline distribution object.
    ## ----------------------------------------------------------------------
    ## AUTHOR: Feiming Chen,  Date: 10 Feb 2016, 10:35

    if (m < r[1] || m > r[2] || r[1] > r[2]) stop("Misspecified Median and Range")

    mu <- log10(m)
    log.r <- log10(r)

    ## Simulate data that will have median of "mu" and range of "log.r"
    ## Distribution on the Left/Right: Simulate a Normal Distribution centered at "mu" and truncate the part above/below the "mu".
    ## May keep sample size intentionaly small so as to introduce uncertainty about the distribution. 
    d1 <- rnorm(n=200, mean=mu, sd=(mu - log.r[1])/3) # Assums 3*SD informs the bound
    d2 <- d1[d1 < mu]                   # Simulated Data to the Left of "mu"
    d3 <- rnorm(n=200, mean=mu, sd=(log.r[2] - mu)/3)
    d4 <- d3[d3 > mu]                   # Simulated Data to the Right of "mu"
    d5 <- c(d2, d4)                     # Combined Simulated Data for the unknown distribution

    require(logspline)
    ans <- logspline(x=d5)
    plot(ans)
    return(ans)
}
if (F) {                                # Unit Test 
    calc.dist.from.median.and.range(m=1e10, r=c(3.6e5, 3.1e12))
    my.dist <- calc.dist.from.median.and.range(m=1e7, r=c(7e2, 3e11))
    dlogspline(log10(c(7e2, 1e7, 3e11)), my.dist) # Density
    plogspline(log10(c(7e2, 1e7, 3e11)), my.dist) # Probability
    10^qlogspline(c(0.05, 0.5, 0.95), my.dist) # Quantiles 
    10^rlogspline(10, my.dist) # Random Sample 
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.