अपने डेटा को इकट्ठा करने से पहले कल्पना करें।


अनुवाद "आर पर लागू विश्लेषिकी" पाठ्यक्रम के छात्रों के लिए तैयार किया गया था।




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


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


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


यह लेख फैब्रैट्रर पैकेज ( डेक्लेयरडिजाइन सूट ऑफ पैकेज्स ) से परिचय कराता है, जिसकी भूमिका डेटा संरचना और विशेषताओं को मॉडल करना है। अपने दर्शन का वर्णन करने वाले RViews पर एक DeclareDesign समीक्षा देखें। फैब्रैट्रैट आपको विश्लेषण या यहां तक ​​कि संग्रह शुरू करने से पहले अपने डेटा के बारे में सोचने में मदद करता है। किस तरह का डेटा? वे कैसे संरचित हैं? आप क्या माप लेंगे? उनकी सीमाएं क्या हैं और वे कैसे सहसंबद्ध हैं? फैब्रैट्र आपको वास्तविक डेटा एकत्र करने से पहले डमी डेटा का अनुकरण करने और आपकी मान्यताओं को बदलने की चिंता किए बिना विभिन्न मूल्यांकन रणनीतियों का परीक्षण करने में मदद कर सकता है।


अपनी डेटा संरचना की कल्पना करें


सरलतम मामले में, फैब्रैट्र एक दिए गए राशि के साथ एकल-स्तरीय डेटा संरचना बनाएगा।


library(fabricatr) fabricate(N = 100, temp_fahrenheit = rnorm(N, mean = 80, sd = 20)) ## Warning: `is_lang()` is deprecated as of rlang 0.2.0. ## Please use `is_call()` instead. ## This warning is displayed once per session. ## Warning: `lang_name()` is deprecated as of rlang 0.2.0. ## Please use `call_name()` instead. ## This warning is displayed once per session. 

आईडीTEMP_FAHRENHEIT
00156.6
00246.3
00390.5
00475.1
00585.1
006102.8

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


 library(fabricatr) fabricate( # five schools school = add_level(N = 5, n_classrooms = sample(10:15, N, replace = TRUE)), # 10 to 15 classrooms per school classroom = add_level(N = n_classrooms), # 15 students per classroom student = add_level(N = 15) ) ## Warning: `lang_modify()` is deprecated as of rlang 0.2.0. ## Please use `call_modify()` instead. ## This warning is displayed once per session. 

स्कूलN_CLASSROOMSकक्षाछात्र
11201001
11201002
11201003
11201004
11201005
11201006

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


 dat <- fabricate( primary_schools = add_level(N = 5, primary_rank = 1:N), secondary_schools = add_level(N = 6, secondary_rank = 1:N, nest = FALSE), students = link_levels(N = 15, by = join(primary_rank, secondary_rank, rho = 0.9)) ) ## `link_levels()` calls are faster if the `mvnfast` package is installed. ggplot(dat, aes(primary_rank, secondary_rank)) + geom_point(position = position_jitter(width = 0.1, height = 0.1), alpha = 0.5) + theme_bw() 


इसी तरह, आप cross_levels के माध्यम से अनुदैर्ध्य डेटा उत्पन्न कर सकते हैं:


 fabricate( students = add_level(N = 2), years = add_level(N = 20, year = 1981:2000, nest = FALSE), student_year = cross_levels(by = join(students, years)) ) 

छात्रोंसालवर्षSTUDENT_YEAR
101198101
201198102
102198203
202198204
103198305
203198306

अपने संकेतों की कल्पना करें


R में कई बेहतरीन फीचर मॉडलिंग टूल हैं। हालांकि, कुछ मामलों में, सामान्य प्रकार के चर मॉडल के लिए आश्चर्यजनक रूप से कठिन होते हैं। फैब्रैट्र्र में आमतौर पर उपयोग किए जाने वाले प्रकारों के साथ विशेषताओं को बनाने के लिए सरल सिंटैक्स के साथ बहुत कम कार्य होते हैं। यहां हम दो उदाहरणों का वर्णन करते हैं, बाकी लेख में है


इंट्राक्लास सहसंबंध के साथ विशेषताएँ


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


 dat <- fabricate( N = 1000, clusters = sample(LETTERS, N, replace = TRUE), Y1 = draw_normal_icc(clusters = clusters, ICC = .2), Y2 = draw_binary_icc(clusters = clusters, ICC = .2) ) ICC::ICCbare(clusters, Y1, dat) ## [1] 0.09726701 ICC::ICCbare(clusters, Y2, dat) ## [1] 0.176036 

परिणाम का आदेश दिया


हमारे पास असतत यादृच्छिक चर (आदेशित परिणामों सहित) के उपकरण भी हैं। हम एक अव्यक्त चर (उदाहरण के लिए test_ability ) लेते हैं और इसे एक आदेशित विशेषता ( test_score ) में परिवर्तित करते हैं।


 dat <- fabricate( N = 100, test_ability = rnorm(N), test_score = draw_ordered(test_ability, breaks = c(-.5, 0, .5)) ) ggplot(dat, aes(test_ability, test_score)) + geom_point() + theme_bw() 


fabricatr लगभग किसी भी R वैरिएबल क्रिएशन फंक्शन के साथ संगत है। इस लेख में, हमने कुछ भयानक आर पैकेजों का वर्णन किया है जो समाजशास्त्र से संबंधित विशेषताओं की नकल करने में मदद करते हैं।


आगे कहाँ जाना है


यह लेख फैब्रैट्र कार्यक्षमता का एक उच्च-स्तरीय अवलोकन है। एक गहरी नज़र के लिए, लेख देखें फैब्रैट्रैट के साथ शुरुआत करना


आप CRAN के माध्यम से फैब्रिकैट स्थापित कर सकते हैं:


 install.packages("fabricatr") library(fabricatr) 



एक सवाल है? टिप्पणियों में लिखें!

Source: https://habr.com/ru/post/hi460187/


All Articles