2011-01-26 19 views
32

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

+3

के रूप में उन विशिष्ट एक वितरण का वर्णन नहीं करते कहा:

यहाँ एक लिंक आर में इस लागू करने के लिए कोशिश करता है। यहां तक ​​कि यदि आप उन सभी क्षणों को परिभाषित करते हैं जिन्हें आप विशिष्ट रूप से वितरण को परिभाषित करने की गारंटी नहीं देते हैं। मुझे लगता है कि आपको यह बताने की जरूरत है कि आप वास्तव में क्या करने की कोशिश कर रहे हैं। आप ऐसा करने की कोशिश क्यों कर रहे हैं? क्या आप और प्रतिबंध लगा सकते हैं जिससे वितरण को परिभाषित करना संभव हो जाएगा? – Dason

+0

आह हाँ, हम एक आयाम में निरंतर, निरंतर वितरण चाहते हैं। परिणामी वितरण अंततः सिमुलेशन के माध्यम से विशिष्ट सिद्धांत की विविधता का परीक्षण करने के तरीके के रूप में संख्यात्मक रूप से परिवर्तित हो जाएंगे। –

+2

क्रॉस मान्य (आंकड़े.एसई) पर निम्नलिखित कुछ हद तक संबंधित है और यहां पाठकों के लिए ब्याज हो सकता है: [विशिष्ट अनुक्रमों को कैसे पूरा किया जाए जो विशिष्ट माध्य और मानक विचलन जैसे विशिष्ट बाधाओं को पूरा करते हैं?] (Http: //stats.stackexchange .com/q/30303/7290) – gung

उत्तर

30

SuppDists पैकेज में जॉनसन वितरण है। जॉनसन आपको एक वितरण देगा जो किसी भी क्षण या मात्रा से मेल खाता है। अन्य टिप्पणियां सही हैं कि 4 क्षण वितरण नहीं करते हैं। लेकिन जॉनसन निश्चित रूप से कोशिश करेंगे।

require(SuppDists) 

## make a weird dist with Kurtosis and Skew 
a <- rnorm(5000, 0, 2) 
b <- rnorm(1000, -2, 4) 
c <- rnorm(3000, 4, 4) 
babyGotKurtosis <- c(a, b, c) 
hist(babyGotKurtosis , freq=FALSE) 

## Fit a Johnson distribution to the data 
## TODO: Insert Johnson joke here 
parms<-JohnsonFit(babyGotKurtosis, moment="find") 

## Print out the parameters 
sJohnson(parms) 

## add the Johnson function to the histogram 
plot(function(x)dJohnson(x,parms), -20, 20, add=TRUE, col="red") 

अंतिम साजिश इस तरह दिखता है:

enter image description here

आप मुद्दा यह है कि दूसरों को इंगित का एक सा देख सकते हैं

यहां कुछ नमूना डेटा के लिए एक जॉनसन फिटिंग का एक उदाहरण है इस बारे में कि 4 क्षण कैसे वितरण को पूरी तरह से कैप्चर नहीं करते हैं।

शुभकामनाएं!

संपादित करें जैसा हैडली ने टिप्पणियों में बताया, जॉनसन फिट दिखता है। मैंने एक त्वरित परीक्षण किया और जॉनसन वितरण को moment="quant" का उपयोग करके फिट किया जो 4 क्षणों के बजाय 5 क्वांटाइल का उपयोग करके जॉनसन वितरण को फिट करता है। परिणाम काफी बेहतर लग रही है:

enter image description here

किसी को भी किसी भी विचार क्यों जॉनसन जब क्षणों का उपयोग कर फिट पक्षपाती लगता है:

parms<-JohnsonFit(babyGotKurtosis, moment="quant") 
plot(function(x)dJohnson(x,parms), -20, 20, add=TRUE, col="red") 

निम्नलिखित में से कौन पैदा करता है?

+2

उस वक्र के साथ कुछ गलत लगता है - एक साधारण स्थिति शिफ्ट फिट को काफी बेहतर बनाती है – hadley

+0

मैं सहमत हूं कि यह दिखता है। जब मुझे थोड़ा समय मिलता है तो मैं इसे एक ताड़ में खोद सकता हूं। –

1

वे पैरामीटर वास्तव में वितरण को पूरी तरह से परिभाषित नहीं करते हैं। इसके लिए आपको एक घनत्व या समकक्ष वितरण कार्य की आवश्यकता है।

0

जैसा कि @ डेविड और @ कार्ल ने लिखा है, विभिन्न वितरण उत्पन्न करने के लिए समर्पित कई पैकेज हैं, उदाहरण के लिए देखें। the Probability distributions Task View on CRAN

यदि आप सिद्धांत में रुचि रखते हैं (दिए गए पैरामीटर के साथ विशिष्ट वितरण के लिए संख्याओं का नमूना कैसे आकर्षित करें) तो उचित सूत्रों को देखें, उदा। gamma distribution on Wiki देखें, और पैमाने और आकार की गणना करने के लिए प्रदान किए गए पैरामीटर के साथ एक सरल गुणवत्ता प्रणाली बनाएं।

एक ठोस उदाहरण here देखें, जहां मैंने औसत और मानक विचलन के आधार पर आवश्यक बीटा वितरण के अल्फा और बीटा पैरामीटर की गणना की।

+0

क्या आप कृपया निर्दिष्ट कर सकते हैं कि मुझे डाउनवोट क्यों मिला? – daroczig

12

यह एक दिलचस्प सवाल है, जिसमें वास्तव में कोई अच्छा समाधान नहीं है। मुझे लगता है कि भले ही आप अन्य क्षणों को नहीं जानते हैं, आपको पता है कि वितरण कैसा दिखना चाहिए। उदाहरण के लिए, यह अनौपचारिक है।

वहाँ

इस समस्या से निपटने के कई तरीके:

  1. मान लें एक अंतर्निहित वितरण और मैच क्षणों।ऐसा करने के लिए कई मानक आर पैकेज हैं। एक नकारात्मक बात यह है कि बहुविकल्पीय सामान्यीकरण अस्पष्ट हो सकता है।

  2. सैडलपॉइंट अनुमान। इस पत्र में:

    गिलेस्पी, सी.एस. और रेंशाव, ई An improved saddlepoint approximation.गणितीय बायोसाइंसेज, 2007

    हम एक पीडीएफ/PMF उबरने जब केवल पहले कुछ ही क्षणों दिया देखो। हमने पाया कि यह दृष्टिकोण तब काम करता है जब skewness बहुत बड़ा नहीं है।

  3. Laguerre विस्तार:

    मुस्तफा, एच और Dimitrakopoulosa, आर Generalized Laguerre expansions of multivariate probability densities with moments। आवेदन साथ कंप्यूटर & गणित, 2010

    इस पत्र में परिणाम अधिक आशाजनक लगते हैं, लेकिन मैं उन्हें कोडित नहीं किया है।

3

मैं मानता हूं कि आपको किसी भी वितरण को दोहराने के लिए घनत्व अनुमान की आवश्यकता है। हालांकि, यदि आपके पास मोंटे कार्लो सिमुलेशन में सामान्य रूप से सैकड़ों चर हैं, तो आपको एक समझौता करने की आवश्यकता होगी।

एक सुझाव दिया दृष्टिकोण इस प्रकार है:

  1. उपयोग Fleishman दिया तिरछा और कुकुदता के लिए गुणांक पाने के लिए बदलना। Fleishman तिरछा और कुकुदता लेता है और आप गुणांक देता
  2. उत्पन्न एन सामान्य चर (मतलब = 0, एसटीडी = 1)
  3. (2) Fleishman गुणांक के साथ दिए गए तिरछा करने के लिए सामान्य डेटा को बदलने के लिए में डेटा रूपांतरण और कुकुदता
  4. इस चरण में, कदम (3) और यह वांछित माध्य और मानक विचलन (एसटीडी) का उपयोग करने के लिए new_data को बदलने = वांछित मतलब + (चरण 3 से डेटा) * वांछित एसटीडी से से डेटा उपयोग

चरण 4 के परिणामस्वरूप डेटा वांछित माध्य, std, skewness और kurtosis होगा।

चेतावनियां:

  1. Fleishman तिरछापन के सभी संयोजनों के लिए काम नहीं करेगा और kurtois
  2. चरणों से ऊपर गैर सहसंबद्ध चर मान। यदि आप सहसंबंधित डेटा उत्पन्न करना चाहते हैं, तो आपको फ्लीशमैन
+0

इस के आर कार्यान्वयन हैं? –

7

इस प्रश्न से 3 साल पहले पूछा गया था, इसलिए मुझे आशा है कि मेरा उत्तर बहुत देर से नहीं आएगा।

कुछ क्षणों को जानने के दौरान विशिष्ट रूप से वितरण की पहचान करने का एक तरीका है। इस तरह अधिकतम एनप्रॉपी की विधि है। इस विधि से उत्पन्न वितरण वह वितरण है जो वितरण की संरचना के बारे में आपकी अज्ञानता को अधिकतम करता है, जिसे आप जानते हैं। कोई भी अन्य वितरण जिसमें आपके द्वारा निर्दिष्ट क्षण भी हैं लेकिन मैक्सेंट वितरण नहीं है, जो आप इनपुट करते हैं उससे अधिक संरचना को निहित करते हैं। अधिकतम करने के लिए कार्यात्मक शैनन की सूचना एंट्रॉपी, $ एस [पी (एक्स)] = - \ int पी (एक्स) लॉग पी (एक्स) डीएक्स $ है।माध्य, एसडी, स्केवनेस और कुर्टोसिस को जानना, क्रमशः वितरण के पहले, दूसरे, तीसरे और चौथे क्षणों पर बाधाओं के रूप में अनुवाद करता है।

समस्या एस अधिकतम करने के लिए की कमी के विषय तो यह है: 1) $ \ पूर्णांक एक्सपी (x) dx = "पहले क्षण" $, 2) $ \ पूर्णांक x^2 p (x) dx = "दूसरे पल" $, 3) ... और इसलिए

पर मैं किताब की सलाह देते हैं "हार्टे, जे, अधिकतम Entropy और पारिस्थितिकीय: बहुतायत, वितरण का एक सिद्धांत है, और ऊर्जा विज्ञान (ऑक्सफोर्ड यूनिवर्सिटी प्रेस, न्यू यॉर्क, 2011)। " https://stats.stackexchange.com/questions/21173/max-entropy-solver-in-r

संबंधित मुद्दे