बार-बार उपायों एनोवा के लिए सामान्यता धारणा का परीक्षण? (R में)


11

तो यह मानते हुए कि एनोवा के लिए सामान्यता धारणा का परीक्षण करने का एक बिंदु है (देखें 1 और 2 )

आर में इसका परीक्षण कैसे किया जा सकता है?

मैं कुछ करने की उम्मीद करूंगा:

## From Venables and Ripley (2002) p.165.
utils::data(npk, package="MASS")
npk.aovE <- aov(yield ~  N*P*K + Error(block), npk)
residuals(npk.aovE)
qqnorm(residuals(npk.aov))

जो काम नहीं करता है, क्योंकि "अवशेष" में बार-बार उपायों एनोवा के मामले के लिए एक विधि (और न ही भविष्यवाणी के लिए) है।

तो इस मामले में क्या किया जाना चाहिए?

क्या अवशिष्ट केवल त्रुटि शब्द के बिना एक ही फिट मॉडल से निकाले जा सकते हैं? मैं साहित्य से परिचित नहीं हूँ यह जानने के लिए कि क्या यह मान्य है या नहीं, किसी भी सुझाव के लिए अग्रिम धन्यवाद।

जवाबों:


5

आपको एक सरल प्रतिक्रिया नहीं मिल सकती है, residuals(npk.aovE)लेकिन इसका मतलब यह नहीं है कि उस वस्तु में कोई अवशेष नहीं हैं। करो strऔर देखो कि स्तरों के भीतर अभी भी अवशेष हैं। मुझे लगता है कि आप "भीतर" स्तर पर सबसे अधिक रुचि रखते थे

> residuals(npk.aovE$Within)
          7           8           9          10          11          12 
 4.68058815  2.84725482  1.56432584 -5.46900749 -1.16900749 -3.90234083 
         13          14          15          16          17          18 
 5.08903669  1.28903669  0.35570336 -3.27762998 -4.19422371  1.80577629 
         19          20          21          22          23          24 
-3.12755705  0.03910962  2.60396981  1.13730314  2.77063648  4.63730314 

मेरा स्वयं का प्रशिक्षण और अभ्यास सामान्यता परीक्षण का उपयोग करने के बजाय क्यूक्यू भूखंडों और मजबूत तरीकों के साथ समानांतर परीक्षण का उपयोग करने के लिए नहीं किया गया है।


धन्यवाद Dwin मुझे आश्चर्य है कि विभिन्न अवशेषों में से कौन सा पता लगाया जाना चाहिए (एक के भीतर)। चीयर्स, ताल
ताल गैलिली

npk.aovE तीन तत्वों की एक सूची है। पहले दो पैरामीटर अनुमान हैं और सामान्यता उनके लिए ग्रहण नहीं की गई है, इसलिए $ के अलावा कुछ भी परीक्षण करना उचित नहीं होगा। names(npk.aovE)रिटर्न `[1]" (अवरोधन) "" ब्लॉक "" भीतर "
DWIN

@ डविन, क्या आप पिछले दृष्टिकोण को देख सकते हैं जो trev ने पोस्ट किया है (अंतिम उत्तर)? यह अवशिष्टों की गणना के लिए एक प्रकार के प्रक्षेपण का उपयोग करता है। यह समूहों के बीच भिन्नता के समरूपता के साथ एक ग्राफ बनाने के लिए मेरे लिए सबसे आसान तरीका है।
22o

@ ड्विन, यह भी qqplot केवल lm स्वीकार करते हैं, और aov नहीं।
टोटको_टिको

2

एक अन्य विकल्प पैकेज के lmeफ़ंक्शन का उपयोग करना होगा nlme(और फिर प्राप्त मॉडल को पास करना होगा anova)। आप residualsइसके आउटपुट पर उपयोग कर सकते हैं ।


1

मुझे लगता है कि विश्लेषण करने से पहले, प्रत्येक दोहराया उपायों के लिए सामान्यता धारणा का आकलन किया जा सकता है। मैं डेटाफ़्रेम को फिर से आकार दूंगा ताकि प्रत्येक स्तंभ बार-बार माप से मेल खाता हो, और फिर उन स्तंभों में से हर एक को एक शिरोइरटेस्ट प्रदर्शन करें।

apply(cast(melt(npk,measure.vars="yield"), ...~N+P+K)[-c(1:2)],2,function(x) shapiro.test(x)$p.value)

धन्यवाद gd047 - सवाल यह है कि जब हम एनोव (उपज ~ एन पी के + त्रुटि (ब्लॉक / (एन + के))), एनपीके का अधिक जटिल परिदृश्य है तो हम क्या करेंगे जो आप काम करने का प्रस्ताव देंगे?
ताल गैलिली Tal

क्या आप परिदृश्यों के बीच के अंतर को समझाने के लिए पर्याप्त होंगे? दुर्भाग्य से मैं मॉडल में त्रुटि शब्द के उपयोग से काफी परिचित नहीं हूं (वैसे, क्या आप उस पर एक अच्छी किताब का सुझाव दे सकते हैं?)। मैंने जो कुछ भी प्रस्तावित किया है वह सामान्य धारणा की जाँच का एसपीएसएस तरीका है, जैसा कि मैंने इसे सीखा है। इसे एक उदाहरण के रूप में देखें goo.gl/p45Bx
जॉर्ज डोंटास

हाय gd047 लिंक के लिए आपको धन्यवाद। इन मॉडलों के बारे में जो बातें मुझे पता हैं, वे सभी यहाँ से जुड़ी हुई हैं: r-statistics.com/2010/04/… यदि आपको अन्य संसाधनों के बारे में पता चलेगा - तो मुझे उनके बारे में जानना अच्छा लगेगा। चीयर्स, ताल
ताल गैलीली

1

वेनबल्स और रिप्ले बताते हैं कि यादृच्छिक और मिश्रित प्रभावों पर अनुभाग में बाद में अपनी पुस्तक (पृष्ठ 284) में दोहराए गए उपायों के डिजाइन के लिए अवशिष्ट निदान कैसे करें।

अवशिष्ट फ़ंक्शन (या अवशेष) प्रत्येक स्ट्रैटम के एनओ परिणामों के लिए लागू किया जाता है:

उनके उदाहरण से: oats.aov <- aov(Y ~ N + V + Error(B/V), data=oats, qr=T)

फिट किए गए मूल्यों या अवशिष्टों को प्राप्त करने के लिए:

"इस प्रकार fitted(oats.aov[[4]])और resid(oats.aov[[4]])लंबाई 54 से वैक्टर पिछले परत से सज्जित मूल्यों और बच का प्रतिनिधित्व कर रहे हैं।"

महत्वपूर्ण रूप से, वे जोड़ते हैं:

"मूल प्रयोग के भूखंडों के साथ उन्हें विशिष्ट रूप से जोड़ना संभव नहीं है।"

निदान के लिए, वे एक प्रक्षेपण का उपयोग करते हैं:

plot(fitted(oats.aov[[4]]), studres(oats.aov[[4]]))
abline(h=0, lty=2)
oats.pr <- proj(oats.aov)
qqnorm(oats.pr[[4]][, "Residuals"], ylab = "Stratum 4 residuals")
qqline(oats.pr[[4]][, "Residuals"])

वे यह भी दिखाते हैं कि मॉडल का उपयोग किया जा सकता है lme के रूप में, किसी अन्य उपयोगकर्ता द्वारा पोस्ट किया गया।


के अनुसार इस , यह होना चाहिए [[3]] और नहीं [[4]]। मैंने इसका परीक्षण किया, और यह सिर्फ [[३]] के लिए काम करता है
२३:५०

1

यहाँ दो विकल्प हैं, aov के साथ और lme के साथ (मुझे लगता है कि 2 को प्राथमिकता दी गई है):

require(MASS) ## for oats data set
require(nlme) ## for lme()
require(multcomp) ## for multiple comparison stuff

Aov.mod <- aov(Y ~ N * V + Error(B/V), data = oats)
the_residuals <- aov.out.pr[[3]][, "Residuals"]

Lme.mod <- lme(Y ~ N * V, random = ~1 | B/V, data = oats)
the_residuals <- residuals(Lme.mod)

मूल उदाहरण बातचीत के बिना आया ( Lme.mod <- lme(Y ~ N * V, random = ~1 | B/V, data = oats)) लेकिन यह इसके साथ काम कर रहा है (और विभिन्न परिणामों का उत्पादन करता है, इसलिए यह कुछ कर रहा है)।

और बस...

लेकिन पूर्णता के लिए:

1 - मॉडल का सारांश

summary(Aov.mod)
anova(Lme.mod)

2 - बार-बार उपायों एनोवा (इस की तलाश में 3 घंटे !!) के साथ तुकी परीक्षण।

summary(Lme.mod)
summary(glht(Lme.mod, linfct=mcp(V="Tukey")))

3 - सामान्यता और समरूपता वाले भूखंड

par(mfrow=c(1,2)) #add room for the rotated labels
aov.out.pr <- proj(aov.mod)                                            
#oats$resi <- aov.out.pr[[3]][, "Residuals"]
oats$resi <- residuals(Lme.mod)
qqnorm(oats$resi, main="Normal Q-Q") # A quantile normal plot - good for checking normality
qqline(oats$resi)
boxplot(resi ~ interaction(N,V), main="Homoscedasticity", 
        xlab = "Code Categories", ylab = "Residuals", border = "white", 
        data=oats)
points(resi ~ interaction(N,V), pch = 1, 
       main="Homoscedasticity",  data=oats)

यहाँ छवि विवरण दर्ज करें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.