O'Hara ve Kotze makalesi (Ekoloji ve Evrim Metodları 1: 118-122) tartışma için iyi bir başlangıç noktası değildir. En ciddi endişem, özetin 4. maddesinde yer alan iddiadır:
Dönüşümlerin kötü gerçekleştiğini gördük, ancak. . .. Yarı Poisson ve negatif binom modelleri ... çok az önyargı gösterdi.
λθλ
O'Hara ve Kotze'nin simülasyonları ortalama (log (y + c)) ile tahmin edildiği gibi E (log (y + c)), log (E [y + c]) ile karşılaştırılır. Onların grafikleri negatif bir binomiyi log (y + c) fit ile karşılaştırmak yerine, ortalama (log (y + c)] log (E [y + c]) ile karşılaştırmak.λ
Aşağıdaki R kodu noktayı göstermektedir:
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
Veya Dene
log(mean(x+.5))
[1] 0.9135269
mean(log(x+.5))
[1] 0.3270837
Parametrelerin tahmin edildiği ölçek çok önemlidir!
λ belki 10 veya daha fazla sıradaysa, standart normal teori kullanılarak log (y + 1) modellemesi için.
Standart tanılamanın bir günlük ölçeğinde (x + c) daha iyi çalıştığını unutmayın. C seçimi çok önemli olmayabilir; genellikle 0.5 veya 1.0 mantıklıdır. Ayrıca Box-Cox dönüşümlerini veya Box-Cox'un Yeo-Johnson varyantını araştırmak için daha iyi bir başlangıç noktasıdır. [Yeo, I. ve Johnson, R. (2000)]. R'nin araç paketindeki powerTransform () yardım sayfasına da bakınız. R'nin gamlss paketi, negatif binom tip I (ortak çeşitlilik) veya II veya dağılımın yanı sıra ortalamayı modelleyen diğer dağıtımların 0 (= log, yani log link) veya daha fazla güç dönüşüm bağlantısı ile sığdırılmasını mümkün kılar . Uyumlar her zaman yakınsak olmayabilir.
Örnek: Ölümler ve Temel Hasar
Verileri vs ABD anakarasına ulaşan Atlantik kasırgaları içindir. Veriler, R için DAAG paketinin son sürümünden edinilebilir (ad hurricNamed ) Veriler için yardım sayfasının ayrıntıları vardır.
Grafik, sağlam bir doğrusal model oturumu kullanılarak elde edilen bir yerleştirilmiş çizgiyi, log bağlantısı olan bir negatif binomiyal uyumu grafikteki y ekseni için kullanılan log (sayım + 1) ölçeğine dönüştürerek elde edilen eğriyi karşılaştırır. (Aynı grafik üzerinde negatif binomiyal uyumdan noktaları ve takılan "çizgiyi" göstermek için pozitif c ile bir günlük (sayım + c) ölçeğine benzer bir şey kullanması gerektiğini unutmayın.) log ölçeğinde negatif binom uyum için belirgindir. Sağlam doğrusal model uyumu, sayımlar için negatif bir binom dağılımı varsayarsa, bu ölçekte çok daha az önyargılıdır. Doğrusal bir model uyumu klasik normal teori varsayımları altında tarafsız olacaktır. Aslında yukarıdaki grafik olanı ilk oluşturduğumda önyargıları şaşırtıcı buldum! Bir eğri verilere daha iyi uyacaktır, ancak fark, olağan istatistiksel değişkenlik standartlarının sınırları dahilindedir. Sağlam doğrusal model uyumu, ölçeğin alt ucundaki sayımlar için kötü bir iş çıkarır.
Not --- RNA-Seq Verileri ile Çalışmalar: İki model stilinin karşılaştırılması, gen ekspresyon deneylerinden sayım verilerinin analizi için ilgi çekicidir. Aşağıdaki makale, log (sayım + 1) ile çalışan sağlam bir lineer modelin kullanımını negatif binomiyal fitlerin kullanımı ile karşılaştırır (Bioconductor package edgeR'deki gibi) ) karşılaştırmaktadır. Öncelikle akılda tutulan RNA-Seq uygulamasında çoğu sayım, uygun şekilde tartılmış log-lineer modelin son derece iyi çalışmasına yetecek kadar büyüktür.
Hukuk, CW, Chen, Y, Shi, W, Smyth, GK (2014). Voom: Hassas ağırlıklar, RNA-seq okuma sayıları için doğrusal model analiz araçlarının kilidini açar. Genom Biyolojisi 15, R29. http://genomebiology.com/2014/15/2/R29
Not ayrıca son bildiri:
Schurch NJ, Schofield P, Gierliński M, Cole C, Sherstnev A, Singh V, Wrobel N, Gharbi K, Simpson GG, Owen-Hughes T, Blaxter M, Barton GJ (2016). Bir RNA-seq deneyinde kaç biyolojik kopyaya ihtiyaç vardır ve hangi diferansiyel ekspresyon aracını kullanmalısınız? RNA
http://www.rnajournal.org/cgi/doi/10.1261/rna.053959.115
Doğrusal modelin limma paketini ( WEHI grubundan edgeR gibi) kullanarak uyması ilginçtir , çoğaltmaların sayısı olduğu gibi birçok çoğaltmanın sonuçlarına göre son derece iyi bir şekilde (önyargıların küçük kanıtlarını gösterme anlamında). azaltmıştır.
Yukarıdaki grafik için R kodu:
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"))