मैं वास्तव में विषमलैंगिकता को नहीं समझता। मैं जानना चाहूंगा कि मेरा मॉडल इस प्लॉट के अनुसार उचित है या नहीं।
मैं वास्तव में विषमलैंगिकता को नहीं समझता। मैं जानना चाहूंगा कि मेरा मॉडल इस प्लॉट के अनुसार उचित है या नहीं।
जवाबों:
जैसा कि @IrishStat ने टिप्पणी की है कि आपको अपनी त्रुटियों के खिलाफ अपने देखे गए मानों को देखने की आवश्यकता है कि क्या परिवर्तनशीलता के साथ समस्याएँ हैं। मैं अंत तक इस पर वापस आता हूँ।
जैसा कि आप क्या हम heteroskedasticity मतलब की एक विचार मिलता है: जब आप एक चर पर एक रेखीय मॉडल फिट है कि आप इस धारणा बनाना आप अनिवार्य रूप से कह रहे हैं कि अपने y ~ एन ( एक्स β , σ 2 ) या आम आदमी की दृष्टि है कि में अपने y की उम्मीद है करने के लिए समानता एक्स β प्लस कुछ त्रुटियों विचरण है कि σ 2 । यह व्यावहारिक रूप से अपने रेखीय मॉडल y = एक्स β + ε , जहां त्रुटियों ε ~ एन ( 0 , σ 2 )। ठीक है, अब तक शांत चलो देखते हैं कि कोड में:
set.seed(1); #set the seed for reproducability
N = 100; #Sample size
x = runif(N) #Independant variable
beta = 4; #Regression coefficient
epsilon = rnorm(N); #Error with variance 1 and mean 0
y = x * beta + epsilon #Your generative model
lin_mod <- lm(y ~x) #Your linear model
कितना सही है, मेरा मॉडल कैसा व्यवहार करता है:
x11(); par(mfrow=c(1,3)); #Make a new 1-by-3 plot
plot(residuals(lin_mod));
title("Simple Residual Plot - OK model")
acf(residuals(lin_mod), main = "");
title("Residual Autocorrelation Plot - OK model");
plot(fitted(lin_mod), residuals(lin_mod));
title("Residual vs Fit. value - OK model");
जो आपको कुछ इस तरह से देना चाहिए: जिसका अर्थ है कि आपके अवशिष्टों को आपके मनमाने सूचकांक (1 कथानक - कम से कम जानकारीपूर्ण वास्तव में) के आधार पर एक स्पष्ट प्रवृत्ति नहीं लगती है, लगता है कि उनके बीच कोई वास्तविक संबंध नहीं है (दूसरा कथानक - काफी महत्वपूर्ण और शायद होमोसकेडसिटी की तुलना में अधिक महत्वपूर्ण है) और फिट किए गए मूल्यों में विफलता की एक स्पष्ट प्रवृत्ति नहीं है, अर्थात। आपके सज्जित मूल्य बनाम आपके अवशिष्ट काफी यादृच्छिक हैं। इसके आधार पर हम कहेंगे कि हमें विषमलैंगिकता की कोई समस्या नहीं है क्योंकि हमारे अवशिष्ट हर जगह समान रूप से दिखाई देते हैं।
ठीक है, आप हालांकि विषमलैंगिकता चाहते हैं। रैखिकता और संवेदनशीलता की समान मान्यताओं को देखते हुए "स्पष्ट" विषमलैंगिकता समस्याओं के साथ एक और सामान्य मॉडल को परिभाषित करते हैं। कुछ मूल्यों के बाद हमारा अवलोकन बहुत अधिक शोर होगा।
epsilon_HS = epsilon;
epsilon_HS[ x>.55 ] = epsilon_HS[x>.55 ] * 9 #Heteroskedastic errors
y2 = x * beta + epsilon_HS #Your generative model
lin_mod2 <- lm(y2 ~x) #Your unfortunate LM
जहां मॉडल के सरल नैदानिक भूखंड:
par(mfrow=c(1,3)); #Make a new 1-by-3 plot
plot(residuals(lin_mod2));
title("Simple Residual Plot - Fishy model")
acf(residuals(lin_mod2), main = "");
title("Residual Autocorrelation Plot - Fishy model");
plot(fitted(lin_mod2), residuals(lin_mod2));
title("Residual vs Fit. value - Fishy model");
कुछ इस तरह देना चाहिए: यहाँ पहला प्लॉट थोड़ा "विषम" लगता है; ऐसा लगता है कि हमारे पास कुछ अवशिष्ट हैं जो छोटे परिमाण में क्लस्टर करते हैं, लेकिन यह हमेशा एक समस्या नहीं है ... दूसरा प्लॉट ठीक है, इसका मतलब है कि हमने अलग-अलग लैग्स में आपके अवशिष्टों के बीच संबंध नहीं बनाया है ताकि हम एक पल के लिए सांस ले सकें। और तीसरा प्लॉट फलियों को फैला देता है: यह स्पष्ट है कि जब हम उच्च मूल्यों के लिए मिले तो हमारे अवशेष फट गए। इस मॉडल के अवशिष्टों में हमारे पास निश्चित रूप से विषमलैंगिकता है और हमें इसके बारे में कुछ करने की आवश्यकता है (जैसे। IRLS , थील -सेन प्रतिगमन , आदि)
यहाँ समस्या वास्तव में स्पष्ट थी लेकिन अन्य मामलों में हम चूक गए होंगे; यह याद करने की हमारी संभावना को कम करने के लिए एक और व्यावहारिक प्लॉट आयरिशस्टैट द्वारा उल्लिखित एक था: अवशिष्ट बनाम अवलोकित मूल्य, या हाथ में हमारी खिलौना समस्या के लिए:
par(mfrow=c(1,2))
plot(y, residuals(lin_mod) );
title( "Residual vs Obs. value - OK model")
plot(y2, residuals(lin_mod2) );
title( "Residual vs Obs. value - Fishy model")
जो कुछ इस तरह देना चाहिए:
आपकी स्थिति की निष्पक्षता में, आपके अवशेष बनाम सज्जित मूल्यों की साजिश सापेक्ष ठीक लगती है। आपके अवशिष्ट बनाम आपके देखे गए मूल्यों की जाँच करना संभवत: यह सुनिश्चित करने में सहायक होगा कि आप सुरक्षित पक्ष पर हैं। (मैंने क्यूक्यू-प्लॉट्स या उस जैसी किसी चीज का उल्लेख नहीं किया है, क्योंकि चीजों को अधिक नहीं करना है, लेकिन आप उन लोगों को भी जांचना चाहते हैं।) मुझे आशा है कि यह आपकी विषमलैंगिकता की समझ में मदद करता है और आपको क्या देखना चाहिए।
आपका प्रश्न विषमलैंगिकता के बारे में प्रतीत होता है (क्योंकि आपने इसका नाम और टैग जोड़कर उल्लेख किया है), लेकिन आपका स्पष्ट प्रश्न (जैसे, शीर्षक में) और आपकी पोस्ट को समाप्त करना अधिक सामान्य है, "मेरा मॉडल इसके अनुसार उपयुक्त है या नहीं।" भूखंड"। यह निर्धारित करने के लिए अधिक है कि क्या एक मॉडल विषमलैंगिकता के आकलन से अनुचित है।
मैंने इस वेबसाइट (ht @Alexis) का उपयोग करके आपके डेटा को स्क्रैप किया है । ध्यान दें कि डेटा को आरोही क्रम में क्रमबद्ध किया गया है fitted
। प्रतिगमन और ऊपरी बाएँ कथानक के आधार पर, यह पर्याप्त रूप से वफादार लगता है:
mod = lm(residuals~fitted)
summary(mod)
# ...
# Residuals:
# Min 1Q Median 3Q Max
# -0.78374 -0.13559 0.00928 0.19525 0.48107
#
# Coefficients:
# Estimate Std. Error t value Pr(>|t|)
# (Intercept) 0.06406 0.35123 0.182 0.856
# fitted -0.01178 0.05675 -0.208 0.836
#
# Residual standard error: 0.2349 on 53 degrees of freedom
# Multiple R-squared: 0.0008118, Adjusted R-squared: -0.01804
# F-statistic: 0.04306 on 1 and 53 DF, p-value: 0.8364
मुझे यहां विषमलैंगिकता का कोई प्रमाण नहीं दिखता है। ऊपरी दाएं से (qq-plot), सामान्यता धारणा के साथ कोई समस्या नहीं लगती है।
दूसरी ओर, लाल नीली फिट (ऊपरी बाएं प्लॉट में) में "एस" वक्र, और एसीएफ और पीएसीएफ भूखंड (तल पर) समस्याग्रस्त लगते हैं। सबसे बाईं ओर, अधिकांश अवशेष ग्रे 0 लाइन से ऊपर हैं। जैसे ही आप दाईं ओर बढ़ते हैं, अवशिष्टों का थोक 0 से नीचे गिरता है, फिर ऊपर, और फिर नीचे। इसका परिणाम यह है कि अगर मैंने आपको बताया कि मैं एक विशेष अवशिष्ट को देख रहा था और इसका एक नकारात्मक मूल्य था (लेकिन मैंने आपको यह नहीं बताया कि मैं कौन सा देख रहा था), तो आप अच्छी सटीकता के साथ अनुमान लगा सकते हैं कि आसपास के अवशेष नकारात्मक रूप से भी मूल्यवान थे। दूसरे शब्दों में, अवशिष्ट स्वतंत्र नहीं हैं - किसी के बारे में कुछ जानना आपको दूसरों के बारे में जानकारी देता है।
भूखंडों के अलावा, यह परीक्षण किया जा सकता है। एक सरल दृष्टिकोण रन टेस्ट का उपयोग करना है :
library(randtests)
runs.test(residuals)
# Runs Test
#
# data: residuals
# statistic = -3.2972, runs = 16, n1 = 27, n2 = 27, n = 54, p-value = 0.0009764
# alternative hypothesis: nonrandomness
अपने स्पष्ट सवालों के जवाब देने के लिए: आपका प्लॉट सीरियल रिक्वायरमेंट / आपके अवशिष्टों की गैर-स्वतंत्रता को दर्शाता है। इसका अर्थ है कि आपका मॉडल अपने वर्तमान स्वरूप में उपयुक्त नहीं है।