ओ'हारा और कोटेज़ पेपर (मेथड्स इन इकोलॉजी एंड एवोल्यूशन 1: 118–122) चर्चा के लिए एक अच्छा शुरुआती बिंदु नहीं है। मेरी सबसे गंभीर चिंता सारांश के बिंदु 4 में दावा है:
हमने पाया कि परिवर्तनों ने खराब प्रदर्शन किया, सिवाय इसके। । .. क्वासी-पॉइसन और नकारात्मक द्विपद मॉडल ... [दिखाया गया] थोड़ा पूर्वाग्रह।
मतलब λθλ कि जांच की थी, अत्यधिक सकारात्मक तिरछा है। फिट किए गए सामान्य वितरण के साधन लॉग (y + c) (c ऑफसेट ऑफ़ है) के पैमाने पर हैं, और अनुमान E (लॉग (y + c)) हैं। यह वितरण, y के वितरण की तुलना में सममित के बहुत करीब है। ।
λ
निम्नलिखित आर कोड बिंदु दिखाता है:
x <- rnbinom(10000, 0.5, mu=2)
## NB: Above, this 'mu' was our lambda. Confusing, is'nt it?
log(mean(x+1))
[1] 1.09631
log(2+1) ## Check that this is about right
[1] 1.098612
mean(log(x+1))
[1] 0.7317908
या कोशिश करें
log(mean(x+.5))
[1] 0.9135269
mean(log(x+.5))
[1] 0.3270837
जिस पैमाने पर मापदंडों का अनुमान लगाया जाता है वह बहुत मायने रखता है!
λ मानक सामान्य सिद्धांत का उपयोग करते हुए मॉडलिंग लॉग (y + 1) के लिए शायद 10 या अधिक के क्रम का है।
ध्यान दें कि मानक निदान लॉग (x + c) के पैमाने पर बेहतर काम करते हैं। सी की पसंद बहुत ज्यादा मायने नहीं रखती है; अक्सर 0.5 या 1.0 का मतलब होता है। साथ ही यह बॉक्स-कॉक्स ट्रांसफॉर्मेशन या बॉक्स-कॉक्स के यो-जॉनसन वेरिएंट की जांच के लिए एक बेहतर शुरुआती बिंदु है। [यो, आई और जॉनसन, आर। (2000)]। आर के कार पैकेज में पावरट्रेनफॉर्म () के लिए सहायता पृष्ठ देखें। R का गेमल्स पैकेज नकारात्मक द्विपद प्रकार I (सामान्य किस्म) या II, या अन्य वितरण को फिट करने के लिए संभव बनाता है जो फैलाव को मॉडल करता है, साथ ही 0 (= लॉग, अर्थात, लॉग लिंक) के पावर ट्रांसफ़ॉर्म लिंक के साथ या अधिक । फिट्स हमेशा अभिसार नहीं कर सकते हैं।
उदाहरण: मृत्यु बनाम आधार क्षति
डेटा अटलांटिक तूफान के नाम के लिए हैं जो अमेरिकी मुख्य भूमि तक पहुंच गए हैं। R के लिए DAAG पैकेज के हालिया रिलीज़ से डेटा उपलब्ध है (नाम hurricNamed )। डेटा के लिए मदद पृष्ठ में विवरण है।
ग्राफ एक मजबूत रेखीय मॉडल फिट का उपयोग करके प्राप्त की गई एक फिट लाइन की तुलना करता है, ग्राफ पर लॉग-इन के लिए उपयोग किए गए लॉग (गिनती + 1) पैमाने पर लॉग लिंक के साथ एक नकारात्मक द्विपद फिट द्वारा परिवर्तित वक्र के साथ प्राप्त होता है। (ध्यान दें कि एक समान (ग्राफ + सी) पैमाने पर कुछ का उपयोग करने के लिए पॉजिटिव सी के साथ, एक ही ग्राफ पर नकारात्मक द्विपद फिट से अंक और फिट "लाइन" दिखाने के लिए।) बड़े पूर्वाग्रह पर ध्यान दें। लॉग पैमाने पर नकारात्मक द्विपद फिट के लिए स्पष्ट। मजबूत रेखीय मॉडल फिट इस पैमाने पर बहुत कम पक्षपाती है, अगर कोई गिनती के लिए एक नकारात्मक द्विपद वितरण मानता है। एक रेखीय मॉडल फिट शास्त्रीय सामान्य सिद्धांत मान्यताओं के तहत निष्पक्ष होगा। मैंने पूर्वाग्रह को चकित कर दिया जब मैंने पहली बार बनाया था जो कि उपरोक्त ग्राफ में अनिवार्य रूप से था! एक वक्र बेहतर डेटा फिट होगा, लेकिन अंतर सांख्यिकीय परिवर्तनशीलता के सामान्य मानकों की सीमा के भीतर है। मजबूत रेखीय मॉडल फिट पैमाने के निचले छोर पर गिनती के लिए एक खराब काम करता है।
नोट --- RNA-Seq Data के साथ अध्ययन: जीन अभिव्यक्ति प्रयोगों से गणना डेटा के विश्लेषण के लिए मॉडल की दो शैलियों की तुलना रुचि की रही है। निम्न कागज एक मजबूत रैखिक मॉडल के उपयोग की तुलना करता है, लॉग (काउंट + 1) के साथ काम करते हुए, नकारात्मक द्विपद फिट के उपयोग के साथ ( बायोकॉनटोर पैकेज किनारे के रूप में) ) के उपयोग के साथ। मुख्य रूप से ध्यान में रखते हुए, आरएनए-सेक एप्लिकेशन में अधिकांश मायने रखते हैं, जो पर्याप्त रूप से वजन वाले लॉग-लीनियर मॉडल फिट होते हैं जो बहुत अच्छी तरह से काम करते हैं।
कानून, सीडब्ल्यू, चेन, वाई, शि, डब्ल्यू, स्माइथ, जीके (2014)। वूम: सटीक वेट आरएनए-सीक रीड काउंट के लिए लीनियर मॉडल एनालिसिस टूल्स को अनलॉक करता है। जीनोम जीवविज्ञान 15, R29।http://genomebiology.com/2014/15/2/R29
एनबी भी हाल ही में कागज:
Schurch NJ, Schofield P, Gierli Mski M, Cole C, Sherstnev A, Singh V, Wrobel N, Gharbi K, Simpson GG, Owen-Hughes T, Blaxter M, Barton GJ (2016)। आरएनए-सेक् प्रयोग में कितने जैविक प्रतिकृति की आवश्यकता होती है और आपको किस अंतर अभिव्यक्ति उपकरण का उपयोग करना चाहिए? आरएनए
http://www.rnajournal.org/cgi/doi/10.1261/rna.053959.115
यह दिलचस्प है कि रैखिक मॉडल लिम्मा पैकेज (जैसे कि WEHI समूह से किनारा ) का उपयोग करके फिट बैठता है , बहुत अच्छी तरह से (पूर्वाग्रह के छोटे सबूत दिखाने के अर्थ में) खड़े होते हैं, कई प्रतिकृति के साथ परिणाम के सापेक्ष, प्रतिकृति की संख्या के रूप में कम किया हुआ।
ऊपर दिए गए ग्राफ़ के लिए R कोड:
library(latticeExtra, quietly=TRUE)
hurricNamed <- DAAG::hurricNamed
ytxt <- c(0, 1, 3, 10, 30, 100, 300, 1000)
xtxt <- c(1,10, 100, 1000, 10000, 100000, 1000000 )
funy <- function(y)log(y+1)
gph <- xyplot(funy(deaths) ~ log(BaseDam2014), groups= mf, data=hurricNamed,
scales=list(y=list(at=funy(ytxt), labels=paste(ytxt)),
x=list(at=log(xtxt), labels=paste(xtxt))),
xlab = "Base Damage (millions of 2014 US$); log transformed scale",
ylab="Deaths; log transformed; offset=1",
auto.key=list(columns=2),
par.settings=simpleTheme(col=c("red","blue"), pch=16))
gph2 <- gph + layer(panel.text(x[c(13,84)], y[c(13,84)],
labels=hurricNamed[c(13,84), "Name"], pos=3,
col="gray30", cex=0.8),
panel.text(x[c(13,84)], y[c(13,84)],
labels=hurricNamed[c(13,84), "Year"], pos=1,
col="gray30", cex=0.8))
ab <- coef(MASS::rlm(funy(deaths) ~ log(BaseDam2014), data=hurricNamed))
gph3 <- gph2+layer(panel.abline(ab[1], b=ab[2], col="gray30", alpha=0.4))
## 100 points that are evenly spread on a log(BaseDam2014) scale
x <- with(hurricNamed, pretty(log(BaseDam2014),100))
df <- data.frame(BaseDam2014=exp(x[x>0]))
hurr.nb <- MASS::glm.nb(deaths~log(BaseDam2014), data=hurricNamed[-c(13,84),])
df[,'hatnb'] <- funy(predict(hurr.nb, newdata=df, type='response'))
gph3 + latticeExtra::layer(data=df,
panel.lines(log(BaseDam2014), hatnb, lwd=2, lty=2,
alpha=0.5, col="gray30"))