कैसे परीक्षण करें कि क्या वितरण एक बिजली कानून का पालन करता है?


13

मेरे पास यह डेटा है कि कितने उपयोगकर्ता कितने प्रश्न पोस्ट करते हैं। उदाहरण के लिए,

[UserCount, QuestionCount] 
[2, 100] 
[9, 10] 
[3, 80] 
... ...

इसका मतलब है कि 2 उपयोगकर्ताओं ने प्रत्येक 100 प्रश्न पोस्ट किए, 9 उपयोगकर्ताओं ने प्रत्येक 10 प्रश्न पोस्ट किए, और इसी तरह। इसलिए, मैं यह कैसे निर्धारित कर सकता हूं कि UserCount, QuestionCountवितरण एक शक्ति कानून का पालन करता है या नहीं ?

मुझे poweRlaw पैकेज मिला । हालाँकि, मैं मूल्यांकन करने के लिए केवल एक संख्या का समूह पास कर सकता हूँ। (इस पैकेज में दिया गया उदाहरण शब्द आवृत्ति है।) तो मैं इस पैकेज का उपयोग कैसे करूँ? या मेरे पास कुछ गलत है? मेरे पास प्रत्येक उपयोगकर्ता की प्रश्न गणना का डेटा भी है, अर्थात [100, 100, 10, 10, 10 ... ]। यदि मैं इस डेटा को पैकेज में देता हूं, तो मुझे क्या मिलेगा?


1
यह लेख गणितीय विवरण प्रदान करता है कि कैसे बिजली कानून वितरण के लिए परीक्षण किया जाए, साथ ही साथ आर कोड भी। क्लॉज़ेट एट अल। "अनुभवजन्य डेटा में पावर लॉ डिस्ट्रीब्यूशन।"
साइकोरैक्स का कहना है कि मोनिका जूल

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

क्षमा करें, मैं उस पैकेज से परिचित नहीं हूं।
साइकोरैक्स का कहना है कि

जवाबों:


8

क्लैट एट अल। के अनुसार, यह है कि आप poweRlawपैकेज के साथ पावर लॉ टेल का परीक्षण कैसे करते हैं :

  1. बिजली कानून वितरण वस्तु का निर्माण। इस स्थिति में, आपका डेटा असतत है, इसलिए कक्षा के असतत संस्करण का उपयोग करें
data <- c(100, 100, 10, 10, 10 ...)
data_pl <- displ$new(data)
  1. और पावर लॉ के घातांक का अनुमान लगाएं , और उन्हें पावर लॉ ऑब्जेक्ट को असाइन करें αxminα
est <- estimate_xmin(data_pl)
data_pl$xmin <- est$xmin
data_pl$pars <- est$pars

अंतिम दो पंक्ति को एक पंक्ति के रूप में फिर से लिखा जा सकता है

data_pl$xmin <- est

इसके अलावा, इस बिंदु पर, आप केएस आँकड़ा देख सकते हैं:

est$KS
  1. केएस स्टेटिस्टिक आपको बताता है कि बिजली कानून वितरण आपके डेटा को कितनी अच्छी तरह से फिट बैठता है, लेकिन यह आपको यह नहीं बताता है कि आपका डेटा बिजली कानून से कितना संभव है। इसलिए आपको वैल्यू भी चाहिए । इसे आपको इसी तरह करना होगा:p
bs <- bootstrap_p(data_pl)
bs$p

इसमें कुछ समय लग सकता है, इसलिए जाओ और एक कप चाय पकड़ो ...

  1. यह मानते हुए कि आपको एक मान मिलता है और यह 0.05 से अधिक है या जो भी आपका महत्वपूर्ण स्तर है, आपको अभी भी इस संभावना को बाहर करने की आवश्यकता है कि कोई अन्य वैकल्पिक वितरण डेटा को बिजली कानून से बेहतर नहीं मानता है। पैकेज 3 अन्य विकल्प है कि आप के साथ तुलना कर सकते हैं लागू करता है। उदाहरण के लिए लॉग-सामान्य लें:ppoweRlaw
data_alt <- dislnorm$new(data)
data_alt$xmin <- est$xmin
data_alt$pars <- estimate_pars(data_alt)
comp <- compare_distributions(data_pl, data_alt)

ध्यान दें कि लॉग-नॉर्मल डिस्ट्रीब्यूशन का पावर लॉ के लिए सेट है, क्योंकि फंक्शन को s दोनों डिस्ट्रीब्यूशन के लिए समान होना चाहिए। वस्तु दो क्षेत्रों है कि दिलचस्प है है: इंगित करता है जो एक बेहतर विकल्प, धनात्मक संख्या अर्थ के साथ है बेहतर है, और नकारात्मक अन्यथा; अर्थ कितना महत्वपूर्ण अंतर है। x m i nxmincompare_distributionsxmincompcomp$test_statisticdata_plcomp$p_two_side

साथ यह प्रक्रिया दोहराएं disexp, dispoisउन विकल्पों के साथ सत्ता कानून तुलना करने के लिए कक्षाएं।


कृपया @ क्लिक करें, क्या आप अपने डेटा के कुछ उदाहरण अकेले शामिल कर सकते हैं? मुझे अपने डेटा का परीक्षण करने के लिए एक समस्या है, इसलिए मैं एक चल उदाहरण की सराहना करूंगा ... धन्यवाद, मैंने आपकी पोस्ट को बहुत प्रेरक पाया है!
मयका

1
आप मेरे उदाहरण के बजाय कमांड टाइप कर सकते हैं data("moby")और उपयोग कर सकते हैं , जैसे कि परिचय मेंmobydata
ज़ेबरा प्रोपल्शन लैब
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.