GLM nhị phân âm so với chuyển đổi log cho dữ liệu đếm: tỷ lệ lỗi Loại I tăng


18

Một số bạn có thể đã đọc bài báo hay này:

O'Hara RB, Kotze DJ (2010) Không đăng nhập dữ liệu đếm chuyển đổi. Các phương pháp trong Sinh thái học và Tiến hóa 1: 118. klick .

Trong lĩnh vực nghiên cứu của tôi (nghiên cứu về sinh thái học), chúng tôi đang xử lý các thí nghiệm được nhân rộng kém và GLM không được sử dụng rộng rãi. Vì vậy, tôi đã thực hiện một mô phỏng tương tự như O'Hara & Kotze (2010), nhưng bắt chước dữ liệu về sinh thái học.

Mô phỏng sức mạnh :

Tôi đã mô phỏng dữ liệu từ một thiết kế giai thừa với một nhóm kiểm soát ( ) và 5 nhóm điều trị ( ). Sự phong phú trong điều trị 1 giống hệt với sự kiểm soát ( ), sự phong phú trong các phương pháp điều trị 2-5 là một nửa sự phong phú trong kiểm soát ( ). Đối với các mô phỏng, tôi đã thay đổi kích thước mẫu (3,6,9,12) và sự phong phú trong nhóm điều khiển (2, 4, 8, ..., 1024). Sự phong phú được rút ra từ một phân phối nhị thức âm với tham số phân tán cố định ( \ theta = 3,91 ). 100 bộ dữ liệu đã được tạo và phân tích bằng GLM nhị thức âm và dữ liệu chuyển đổi log gaussian GLM +.μcμ1-5μ1= =μcμ2-5= =0,5μcθ= =3,91

Kết quả như mong đợi: GLM có sức mạnh lớn hơn, đặc biệt là khi không có nhiều động vật được lấy mẫu. nhập mô tả hình ảnh ở đây Mã ở đây.

Lỗi loại I :

Tiếp theo tôi nhìn vào lỗi loại một. Mô phỏng đã được thực hiện như trên, tuy nhiên tất cả các nhóm đều có sự phong phú như nhau ( μc= =μ1-5 ).

Tuy nhiên, kết quả không như mong đợi: nhập mô tả hình ảnh ở đây GLM nhị thức âm cho thấy lỗi Loại I lớn hơn so với chuyển đổi LM +. Như mong đợi sự khác biệt biến mất với tăng kích thước mẫu. Mã ở đây.

Câu hỏi:

Tại sao có Lỗi Loại I tăng so với chuyển đổi lm +?

Nếu chúng ta có dữ liệu kém (cỡ mẫu nhỏ, độ phong phú thấp (nhiều số không)), thì chúng ta có nên sử dụng phép biến đổi lm + không? Cỡ mẫu nhỏ (2-4 mỗi lần xử lý) là điển hình cho các thí nghiệm như vậy và không thể tăng dễ dàng.

Mặc dù, phủ định. thùng rác. GLM có thể được chứng minh là phù hợp với dữ liệu này, chuyển đổi lm + có thể ngăn chúng tôi khỏi lỗi loại 1.


1
Không phải là một câu trả lời cho câu hỏi chính của bạn, nhưng một điều mà độc giả cần lưu ý: trừ khi bạn thực hiện lỗi loại I thực tế tương đương với hai quy trình, so sánh sức mạnh không có ý nghĩa gì; Tôi luôn có thể làm cho công suất cao hơn cho mức thấp hơn (trong trường hợp này là ghi nhật ký và phù hợp với mức bình thường) bằng cách nâng lỗi loại I của nó. Mặt khác, nếu bạn chỉ định tình huống cụ thể (cỡ mẫu, mức độ phong phú), bạn có thể nhận được tỷ lệ lỗi loại I (ví dụ: bằng mô phỏng), và tìm ra tỷ lệ danh nghĩa cần kiểm tra để đạt được tỷ lệ lỗi loại I mong muốn , vì vậy sức mạnh của họ trở nên tương đương.
Glen_b -Reinstate Monica

Các giá trị trục y trong các ô của bạn có được tính trung bình trên 100 bộ dữ liệu không?
Shadowtalker

Tôi nên làm rõ nhận xét của mình: trong trường hợp số liệu thống kê vốn đã rời rạc, bạn không có quyền kiểm soát hoàn hảo tỷ lệ lỗi loại I, nhưng nhìn chung bạn có thể khiến tỷ lệ lỗi loại I khá gần. Trong các tình huống mà bạn không thể đặt chúng đủ gần nhau để có thể so sánh được, về cách duy nhất để làm cho chúng có thể so sánh được là với các thử nghiệm ngẫu nhiên.
Glen_b -Reinstate Monica

@ssdecontrol: Không, đó chỉ là tỷ lệ bộ dữ liệu (trong số 100) trong đó p <α
EDi

1
Có hai vấn đề: (i) là các phép tính gần đúng là không có triệu chứng nhưng không phải là vô hạn, vì vậy phép tính gần đúng chỉ là một phép tính gần đúng - đây sẽ là một vấn đề cho dù có sự không thống nhất hay không khác với danh nghĩa (nhưng nếu liên tục, đó là thứ bạn có thể điều chỉnh); (ii) có vấn đề về sự không thống nhất, điều này ngăn bạn nhận được mức ý nghĩa chính xác nếu bạn điều chỉnh cho nó. n
Glen_b -Reinstate Monica

Câu trả lời:


17

Đây là một vấn đề cực kỳ thú vị. Tôi đã xem lại mã của bạn và không thể tìm thấy lỗi đánh máy ngay lập tức.

Tôi muốn thấy bạn làm lại mô phỏng này nhưng sử dụng thử nghiệm khả năng tối đa để suy luận về sự không đồng nhất giữa các nhóm. Điều này sẽ liên quan đến việc chỉnh sửa một mô hình null để bạn có thể nhận được các ước tính của theo giả thuyết null về tính đồng nhất về tỷ lệ giữa các nhóm. Tôi nghĩ điều này là cần thiết bởi vì mô hình nhị thức âm không phải là mô hình tuyến tính (tốc độ được tham số hóa tuyến tính, nhưng s thì không). Do đó tôi không thuyết phục lập luận cung cấp suy luận chính xác.θθθdrop1

Hầu hết các thử nghiệm cho các mô hình tuyến tính không yêu cầu bạn tính toán lại mô hình theo giả thuyết null. Điều này là do bạn có thể tính toán độ dốc hình học (kiểm tra điểm) và xấp xỉ chiều rộng (kiểm tra Wald) bằng cách sử dụng ước tính tham số và hiệp phương sai ước tính theo giả thuyết thay thế.

Vì nhị thức âm không phải là tuyến tính, tôi nghĩ bạn sẽ cần phải phù hợp với mô hình null.

BIÊN TẬP:

Tôi đã chỉnh sửa mã và nhận được những điều sau đây: nhập mô tả hình ảnh ở đây

Mã đã được chỉnh sửa tại đây: https://github.com/aomidpanah/simutions/blob/master/negativeBinomialML.r


Nhưng tôi nghĩ rằng drop1() làm trong nội bộ lại phù hợp với những mô hình rỗng ...
Bến Bolker

4
glm.nbθdrop1logLikgetS3method('logLik', 'negbin'

muốn +1 lại nhưng tôi không thể. Đẹp.
Ben Bolker

Cảm ơn! Tôi chỉ xem mã của cả hai drop1()lrtest(). Bạn đúng, drop1.glmsử dụng glm.fitmà sai lệch. Không biết rằng chúng tôi không thể sử dụng drop1()với glm.nb()!
EDi

Vì vậy, điểm số điển hình và kiểm tra Wald không hợp lệ trong mô hình nhị thức âm?
Shadowtalker

8

Bài viết của O'Hara và Kotze (Phương pháp trong Sinh thái học và Tiến hóa 1: 118 Tiết22) không phải là điểm khởi đầu tốt để thảo luận. Mối quan tâm nghiêm trọng nhất của tôi là yêu cầu trong điểm 4 của bản tóm tắt:

Chúng tôi thấy rằng các biến đổi thực hiện kém, ngoại trừ. . .. Các mô hình nhị phân và nhị phân âm ... [cho thấy] ít sai lệch.

λθλ

λ

Mã R sau đây minh họa điểm:

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

Hay là thử

log(mean(x+.5))
[1] 0.9135269
mean(log(x+.5))
[1] 0.3270837

Thang đo mà các tham số được ước tính là một vấn đề lớn!

λ

Lưu ý rằng chẩn đoán chuẩn hoạt động tốt hơn trên thang đo log (x + c). Sự lựa chọn của c có thể không quá quan trọng; thường 0,5 hoặc 1,0 có ý nghĩa. Ngoài ra, đây là điểm khởi đầu tốt hơn để nghiên cứu các biến đổi Box-Cox, hoặc biến thể Yeo-Johnson của Box-Cox. [Yeo, I. và Johnson, R. (2000)]. Xem thêm trang trợ giúp về powerTransform () trong gói xe của R. Gói gamlss của R làm cho nó có thể phù hợp với các loại nhị thức âm I (giống phổ biến) hoặc II hoặc các phân phối khác mô hình phân tán cũng như trung bình, với các liên kết biến đổi công suất từ ​​0 (= log, tức là liên kết nhật ký) trở lên . Phù hợp có thể không luôn luôn hội tụ.

Ví dụ: Dữ liệu về Tử vong và Cơ sở Thiệt hại dành cho các cơn bão Đại Tây Dương có tên đã đến lục địa Hoa Kỳ. Dữ liệu có sẵn (tên HurricNamed ) từ một bản phát hành gần đây của gói DAAG cho R. Trang trợ giúp cho dữ liệu có chi tiết.

Loglinear mạnh mẽ và phù hợp với nhị thức âm

Biểu đồ so sánh một đường được trang bị thu được bằng cách sử dụng mô hình tuyến tính mạnh mẽ, với đường cong thu được bằng cách chuyển đổi độ khớp nhị thức âm với liên kết nhật ký lên thang đo log (đếm + 1) được sử dụng cho trục y trên biểu đồ. (Lưu ý rằng người ta phải sử dụng một cái gì đó gần giống với thang đo log (đếm + c), với c dương, để hiển thị các điểm và "đường" được trang bị từ khớp nhị thức âm trên cùng một biểu đồ.) Lưu ý độ lệch lớn hiển nhiên cho sự phù hợp nhị thức âm trên thang đo log. Mô hình tuyến tính mạnh mẽ phù hợp ít sai lệch hơn trên thang đo này, nếu người ta giả sử phân phối nhị thức âm cho các số đếm. Một mô hình tuyến tính phù hợp sẽ không thiên vị theo các giả định lý thuyết thông thường cổ điển. Tôi đã tìm thấy sự thiên vị đáng kinh ngạc khi lần đầu tiên tôi tạo ra những gì thực chất là biểu đồ trên! Một đường cong sẽ phù hợp với dữ liệu tốt hơn, nhưng sự khác biệt nằm trong giới hạn của các tiêu chuẩn thông thường về tính biến thiên thống kê. Mô hình tuyến tính mạnh mẽ phù hợp làm một công việc kém cho số đếm ở mức thấp của thang đo.

Lưu ý --- Các nghiên cứu với Dữ liệu RNA-Seq: So sánh hai kiểu mô hình đã được quan tâm để phân tích dữ liệu đếm từ các thí nghiệm biểu hiện gen. Bài viết sau đây so sánh việc sử dụng mô hình tuyến tính mạnh mẽ, hoạt động với log (đếm + 1), với việc sử dụng khớp nhị thức âm (như trong cạnhR của gói Bioconductor ). Hầu hết các tính toán, trong ứng dụng RNA-Seq chủ yếu trong tâm trí, đủ lớn để mô hình log-linear cân nặng phù hợp hoạt động rất tốt.

Luật, CW, Chen, Y, Shi, W, Smyth, GK (2014). Voom: trọng số chính xác mở khóa các công cụ phân tích mô hình tuyến tính cho số lần đọc RNA-seq. Sinh học bộ gen 15, R29. http://genomebiology.com/2014/15/2/R29

NB cũng là bài báo gần đây:

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). Cần bao nhiêu bản sao sinh học trong một thí nghiệm RNA-seq và bạn nên sử dụng công cụ biểu hiện khác biệt nào? RNA http://www.rnajournal.org/cgi/doi/10.1261/rna.053959.115

Điều thú vị là mô hình tuyến tính phù hợp với việc sử dụng gói limma (như edgeR , từ nhóm WEHI) đứng lên rất tốt (theo nghĩa hiển thị ít bằng chứng về sai lệch), liên quan đến kết quả với nhiều lần lặp lại, vì số lần lặp lại là giảm.

Mã R cho biểu đồ trên:

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"))    

2
Cảm ơn bình luận của bạn, ông Maindonald. Trong hai năm qua cũng có thêm một số bài báo (tập trung nhiều hơn vào kiểm tra giả thuyết, sau đó là thiên vị): Ives 2015, Warton et al 2016, Szöcs 2015.
EDi

có lẽ đó là một điểm khởi đầu tốt để thảo luận, ngay cả khi điểm đặc biệt này có vấn đề? (Tôi sẽ tranh luận chung hơn rằng đây là một lý do không tập trung vào thiên vị quá nhiều, mà là để xem xét một cái gì đó như RMSE ... [từ chối trách nhiệm, tôi đã đọc lại các bài báo này gần đây và tôi chỉ đọc tóm tắt về tờ Warton ...]
Ben Bolker

1
Điểm của Warton et al (2016), rằng các thuộc tính dữ liệu nên là căn cứ để lựa chọn, là rất quan trọng. Các lô lượng tử - lượng tử là một cách tốt để so sánh các chi tiết của sự phù hợp. Cụ thể, sự phù hợp ở một hoặc một hoặc cả hai thái cực có thể quan trọng đối với một số ứng dụng. Các mô hình không thổi phồng hoặc vượt rào có thể là một sàng lọc hiệu quả để có được số không đúng. Ở thái cực trên, bất kỳ mô hình nào đang được thảo luận có thể bị xâm phạm nghiêm trọng. Warton et al làm, đáng khen ngợi, có một ví dụ. Tôi muốn xem các so sánh trên một loạt các bộ dữ liệu sinh thái.
John Maindonald

Nhưng không phải trong các bộ dữ liệu sinh thái, các loài ở phần dưới (= loài quý hiếm) có thú vị không? Không nên quá khó để biên dịch một số bộ dữ liệu sinh thái và so sánh ...
EDi

Trên thực tế, đối với cấp thấp của loại thiệt hại mà mô hình nhị thức âm tính dường như, đối với dữ liệu tử vong do bão, là ít thỏa đáng nhất. Gói gamlss của R có chức năng giúp dễ dàng so sánh phần trăm phân phối được trang bị với phần trăm dữ liệu:
John Maindonald

6

Bài viết gốc phản ánh bài báo của Tony Ives: Ives (2015) . Rõ ràng là kiểm tra ý nghĩa cho kết quả khác nhau để ước tính tham số.

John Maindonald giải thích lý do tại sao các ước tính là sai lệch, nhưng sự thiếu hiểu biết của ông về nền tảng là gây phiền nhiễu - ông chỉ trích chúng tôi cho thấy rằng một phương pháp mà tất cả chúng ta đồng ý là thiếu sót. Rất nhiều nhà sinh thái học thực hiện chuyển đổi một cách mù quáng và chúng tôi đã cố gắng chỉ ra những vấn đề khi thực hiện điều đó.

Có một cuộc thảo luận nhiều sắc thái hơn ở đây: Warton (2016)

Ives, AR (2015), Để kiểm tra tầm quan trọng của các hệ số hồi quy, hãy tiếp tục và dữ liệu đếm chuyển đổi log. Phương pháp Ecol Evol, 6: 828 trừ835. doi: 10.111 / 2041-210X.12386

Warton, DI, Lyons, M., Stoklosa, J. và Ives, AR (2016), Ba điểm cần xem xét khi chọn xét nghiệm LM hoặc GLM cho dữ liệu đếm. Phương pháp Ecol Evol. doi: 10.111 / 2041-210X.12552


Chào mừng đến với CV. Mặc dù hữu ích, phản hồi này chủ yếu là câu trả lời kiểu "chỉ liên kết". Liên kết làm thay đổi và hủy liên kết. Sẽ hữu ích hơn cho CV nếu bạn giải thích những điểm chính trong mỗi bài.
Mike Hunter

Cảm ơn vì sự trả lời. Tôi nghĩ rằng bài báo của Warton et al. tiền xu hiện trạng thảo luận.
EDi

Cảm ơn Chào đón! Tôi đã tự do thêm các tài liệu tham khảo đầy đủ.
Scortchi - Phục hồi Monica

1
Vui lòng phác thảo các điểm chính đang được thực hiện trong các tài liệu tham khảo mới, và ý nghĩa của nó, cũng liên quan chúng đến câu hỏi ban đầu. Đây là một đóng góp có giá trị nhưng hiện tại gần với nhận xét về một câu trả lời khác hơn là một câu trả lời cho câu hỏi ( ví dụ nên cung cấp ngữ cảnh cho các liên kết ). Một vài câu bổ sung của bối cảnh sẽ giúp bài đáng kể.
Glen_b -Reinstate Monica

3
Cụ thể, ý kiến ​​của tôi đề cập đến điểm 4 trong bài báo của O'Hara và Kotze: "Chúng tôi thấy rằng các phép biến đổi hoạt động kém, ngoại trừ. .. Các mô hình nhị phân tiêu cực và nhị phân ... [cho thấy] ít sai lệch." Các mô phỏng là một nhận xét về so sánh giữa giá trị trung bình dự kiến ​​trên thang đo y (số đếm), so với giá trị trung bình dự kiến ​​trên thang đo log (y + c), đối với phân phối lệch rất tích cực, không có gì hơn. Tham số nhị thức âm lambda không thiên vị theo thang đo y, trong khi giá trị trung bình của log là không thiên vị (theo quy tắc trên thang đo đó) theo thang đo log (y + c).
John Maindonald
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.