"पता करें" इंगित करता है कि आप डेटा की खोज कर रहे हैं । औपचारिक परीक्षण सतही और संदिग्ध होंगे। इसके बजाय, डेटा में क्या हो सकता है यह प्रकट करने के लिए मानक खोजपूर्ण डेटा विश्लेषण (EDA) तकनीक लागू करें।
ये मानक तकनीकों में शामिल हैं फिर से अभिव्यक्ति , अवशिष्ट विश्लेषण , मजबूत तकनीक ( "तीन आर के" EDA की) और चौरसाई के रूप में अपने क्लासिक किताब में जॉन Tukey द्वारा वर्णित डेटा की EDA (1977)। बॉक्स-कॉक्स पर मेरी पोस्ट में इनमें से कुछ को कैसे व्यवस्थित किया जाए जैसे कि स्वतंत्र चर के लिए परिवर्तन? और रैखिक प्रतिगमन में, वास्तविक मूल्यों के बजाय एक स्वतंत्र चर के लॉग का उपयोग करना कब उचित है? , अन्य बातों के साथ ।
अपशॉट यह है कि लॉग-लॉग कुल्हाड़ियों (प्रभावी रूप से दोनों चर को फिर से व्यक्त करना) में परिवर्तन करके, डेटा को बहुत अधिक आक्रामक रूप से चौरसाई नहीं किया जा सकता है, और चिकनी की अवशिष्ट की जांच करके यह जांचने के लिए कि वह क्या याद कर सकता है, जैसा कि मैं वर्णन करता हूं।
यहां डेटा को एक सुचारू रूप से दिखाया गया है - डेटा के प्रति निष्ठा की अलग-अलग डिग्री के साथ कई स्मूथ की जांच करने के बाद - बहुत अधिक और बहुत कम स्मूथिंग के बीच एक अच्छा समझौता जैसा लगता है। यह एक प्रसिद्ध मजबूत विधि Loess का उपयोग करता है (यह लंबवत रूप से बाहरी बिंदुओं से बहुत प्रभावित नहीं है)।
ऊर्ध्वाधर ग्रिड 10,000 के चरणों में है। चिकनी करता है के कुछ बदलाव का सुझाव Grad_median
नमूना आकार के साथ: - विशेष रूप से छोटे नमूने, जहां नमूना त्रुटि अपेक्षाकृत बड़े होने की उम्मीद है के लिए - यह ड्रॉप करने नमूना आकार के दृष्टिकोण के रूप में 1000 (के सिरों चिकनी भरोसेमंद नहीं हैं लगता है तो डॉन 't उनमें बहुत अधिक पढ़ा है।) एक वास्तविक ड्रॉप की यह धारणा सॉफ्टवेयर द्वारा चिकनी के आसपास खींचे गए (बहुत ही मोटे) आत्मविश्वास बैंड द्वारा समर्थित है: इसके "विगल्स" बैंड की चौड़ाई से अधिक हैं।
यह देखने के लिए कि यह विश्लेषण क्या याद कर सकता है, अगला आंकड़ा अवशिष्टों को देखता है। (ये प्राकृतिक लघुगणक के अंतर हैं, सीधे डेटा के बीच लंबवत विसंगतियों को मापने से पहले चिकनी होती हैं। क्योंकि वे छोटी संख्याएं हैं जिन्हें आनुपातिक अंतर के रूप में व्याख्या किया जा सकता है; उदाहरण के लिए, एक डेटा मान को दर्शाता है जो संबंधित स्मूथ से लगभग कम है; मूल्य।)20 %−0.220%
हम (ए) में रुचि रखते हैं कि क्या नमूने के आकार में परिवर्तन के रूप में भिन्नता के अतिरिक्त पैटर्न हैं और (बी) क्या प्रतिक्रिया के सशर्त वितरण - बिंदु पदों के ऊर्ध्वाधर वितरण - नमूना आकार के सभी मूल्यों के समान हैं, या क्या उनमें से कुछ पहलू (जैसे उनके प्रसार या समरूपता) बदल सकते हैं।
यह चिकनी पहले की तुलना में अधिक बारीकी से डेटा पॉइंट्स का पालन करने की कोशिश करता है। फिर भी यह अनिवार्य रूप से क्षैतिज है (आत्मविश्वास बैंड के दायरे के भीतर, जो हमेशा का एक वाई-मूल्य कवर करता है ), सुझाव है कि आगे कोई भिन्नता का पता नहीं लगाया जा सकता है। यदि मध्य में औपचारिक रूप से परीक्षण किया जाए, तो मध्य के निकट ऊर्ध्वाधर प्रसार में मामूली वृद्धि (2000 से 3000 का नमूना आकार) महत्वपूर्ण नहीं होगी, और इसलिए यह निश्चित रूप से अचूक है। इस समग्र व्यवहार से कोई स्पष्ट, व्यवस्थित विचलन नहीं है, किसी भी अलग-अलग श्रेणियों में स्पष्ट (प्रतिष्ठित, बहुत अच्छी तरह से नहीं, रंग से - मैंने उन्हें अलग-अलग विश्लेषण किया यहां दिखाए गए आंकड़ों में अलग से नहीं)।0.0
नतीजतन, यह सरल सारांश:
माध्य वेतन 1000 के पास नमूना आकार के लिए लगभग 10,000 कम है
डेटा में दिखने वाले रिश्तों को पर्याप्त रूप से पकड़ लेता है और सभी प्रमुख श्रेणियों में समान रूप से पकड़ लेता है। चाहे वह महत्वपूर्ण हो - यानी, चाहे वह अतिरिक्त डेटा के साथ सामना करने पर खड़ा हो - केवल उन अतिरिक्त डेटा को इकट्ठा करके मूल्यांकन किया जा सकता है।
उन लोगों के लिए जो इस काम की जाँच करना चाहते हैं या इसे आगे ले जाना चाहते हैं, यहाँ R
कोड है।
library(data.table)
library(ggplot2)
#
# Read the data.
#
infile <- "https://raw.githubusercontent.com/fivethirtyeight/\
data/master/college-majors/grad-students.csv"
X <- as.data.table(read.csv(infile))
#
# Compute the residuals.
#
span <- 0.6 # Larger values will smooth more aggressively
X[, Log.residual :=
residuals(loess(log(Grad_median) ~ I(log(Grad_sample_size)), X, span=span))]
#
# Plot the data on top of a smooth.
#
g <- ggplot(X, aes(Grad_sample_size, Grad_median)) +
geom_smooth(span=span) +
geom_point(aes(fill=Major_category), alpha=1/2, shape=21) +
scale_x_log10() + scale_y_log10(minor_breaks=seq(1e4, 5e5, by=1e4)) +
ggtitle("EDA of Median Salary vs. Sample Size",
paste("Span of smooth is", signif(span, 2)))
print(g)
span <- span * 2/3 # Look for a little more detail in the residuals
g.r <- ggplot(X, aes(Grad_sample_size, Log.residual)) +
geom_smooth(span=span) +
geom_point(aes(fill=Major_category), alpha=1/2, shape=21) +
scale_x_log10() +
ggtitle("EDA of Median Salary vs. Sample Size: Residuals",
paste("Span of smooth is", signif(span, 2)))
print(g.r)