Sử dụng lmer để dự đoán


18

Xin chào Tôi có hai vấn đề nghe có vẻ giống như các ứng cử viên tự nhiên cho các mô hình đa cấp / hỗn hợp, mà tôi chưa bao giờ sử dụng. Đơn giản hơn, và một điều mà tôi hy vọng sẽ thử làm phần giới thiệu, như sau: Dữ liệu trông giống như nhiều hàng của biểu mẫu

x y innergroup outergroup

Trong đó x là một số đồng biến số mà tôi muốn hồi quy y (một biến số khác), mỗi y thuộc về một nhóm bên trong và mỗi nhóm bên trong được lồng trong một nhóm bên ngoài (nghĩa là tất cả y trong một nhóm bên trong nhất định thuộc về cùng một nhóm bên ngoài) . Thật không may, nhóm bên trong có rất nhiều cấp độ (nhiều nghìn) và mỗi cấp độ có tương đối ít quan sát về y, vì vậy tôi nghĩ loại mô hình này có thể phù hợp. Câu hỏi của tôi là

  1. Làm thế nào để tôi viết loại công thức đa cấp này?

  2. Một khi lmer phù hợp với mô hình, làm thế nào để đi dự đoán từ nó? Tôi đã phù hợp với một số ví dụ đồ chơi đơn giản hơn, nhưng chưa tìm thấy hàm dự đoán (). Hầu hết mọi người dường như quan tâm đến suy luận nhiều hơn là dự đoán với loại kỹ thuật này. Tôi có vài triệu hàng, vì vậy các tính toán có thể là một vấn đề, nhưng tôi luôn có thể cắt nó xuống khi thích hợp.

Tôi sẽ không cần phải làm lần thứ hai một thời gian, nhưng tôi cũng có thể bắt đầu nghĩ về nó và chơi xung quanh nó. Tôi có dữ liệu tương tự như trước đây, nhưng không có x và y bây giờ là biến nhị thức có dạng . y cũng thể hiện rất nhiều sự quá mức, ngay cả trong các nhóm bên trong. Hầu hết không quá 2 hoặc 3 (hoặc ít hơn), do đó, để lấy ước tính tỷ lệ thành công của mỗi tôi đã sử dụng công cụ ước tính độ co rút nhị thức beta , trong đó và(n,n-k)nyTôi(α+ki)/(α+β+ni)αβđược ước tính bởi MLE cho từng nhóm bên trong riêng biệt. Điều này đã được phần nào đầy đủ, nhưng sự thưa thớt dữ liệu vẫn làm tôi khó chịu, vì vậy tôi muốn sử dụng tất cả các dữ liệu có sẵn. Từ một khía cạnh, vấn đề này dễ dàng hơn vì không có đồng biến, nhưng từ khía cạnh khác, bản chất nhị thức làm cho nó khó khăn hơn. Có ai có bất kỳ hướng dẫn cấp cao (hoặc thấp!)?


Vui lòng xác minh rằng các dấu ngoặc đơn tôi chèn vào công thức thu nhỏ là nơi bạn dự định đặt chúng.
whuber

1
Không phải phần 2 của câu hỏi của bạn (với một biến nhị phân) có phải là một câu hỏi riêng biệt không?
chl

Câu trả lời:


17

Biểu thị các yếu tố mối quan hệ bằng cách sử dụng các công thức R theo ký hiệu của Wilkinson, trong đó '*' biểu thị sự giao thoa và '/' lồng nhau, nhưng có một số đặc thù trong cách thức công thức cho các mô hình hiệu ứng hỗn hợp, hoặc nói chung là các hiệu ứng ngẫu nhiên, được xử lý. Ví dụ, hai hiệu ứng ngẫu nhiên chéo có thể được biểu diễn dưới dạng (1|x1)+(1|x2). Tôi đã giải thích mô tả của bạn như là một trường hợp lồng nhau, giống như các lớp được lồng trong các trường học (lồng trong các tiểu bang, v.v.), vì vậy một công thức cơ bản lmersẽ trông giống như (trừ khi có quy định khác, một gaussiangia đình được sử dụng theo mặc định):

y ~ x + (1|A:B) + (1|A)

trong đó A và B tương ứng với các yếu tố bên trong và bên ngoài của bạn. B được lồng trong A và cả hai được coi là các yếu tố ngẫu nhiên. Trong gói nlme cũ hơn , điều này sẽ tương ứng với một cái gì đó như lme(y ~ x, random=~ 1 | A/B). Nếu A được coi là một yếu tố cố định, công thức nên đọc y ~ x + A + (1|A:B).

Nhưng đáng để kiểm tra chính xác hơn các thông số kỹ thuật của D. Bates cho gói lme4 , ví dụ như trong sách giáo khoa sắp tới của anh ấy, lme4: Mô hình hiệu ứng hỗn hợp với R hoặc nhiều tài liệu có sẵn trên cùng một trang web. Đặc biệt, có một ví dụ cho quan hệ làm tổ như vậy trong Lắp tuyến tính Mixed-Hiệu ứng Models, gói lme4 trong R . Hướng dẫn John Maindonald cũng cung cấp một cái nhìn tổng quan tốt đẹp: Giải phẫu một phân tích mẫu hỗn hợp, với lme4 Gói R . Cuối cùng, phần 3 của họa tiết R về cải tiến lme4 bao gồm một ví dụ về phân tích cấu trúc lồng nhau.

Không có predict()chức năng trong lme4(hàm này hiện tồn tại, xem bình luận bên dưới) và bạn phải tự tính toán các giá trị riêng lẻ dự đoán bằng các hiệu ứng cố định (xem ?fixef) và ngẫu nhiên (xem ?ranef), nhưng cũng xem chủ đề này về việc thiếu chức năng dự đoán trong lme4 . Bạn cũng có thể tạo một mẫu từ phân phối sau bằng cách sử dụng mcmcsamp()hàm. Đôi khi, nó có thể đụng độ, mặc dù. Xem danh sách gửi thư sig-me để biết thêm thông tin cập nhật.


3
Để cập nhật: lme4bây giờ bao gồm chức năng dự đoán bên trong-r.org/packages/cran/lme4/docs/predict.mermod
Bar

Tài liệu cho dự đoán.merMod hiện có sẵn tại đây: rdocumentation.org/packages/lme4/versions/1.1-12/topics/ Kẻ
DirtStats

10

Các ez gói chứa ezPredict () chức năng, mà có được dự đoán từ các mô hình lmer nơi dự đoán được dựa trên chỉ ảnh hưởng cố định. Nó thực sự chỉ là một trình bao bọc xung quanh cách tiếp cận chi tiết trong wiki glmm .


5

Tôi sẽ sử dụng chức năng "logit.mixed" trong Zelig , đây là một trình bao bọc cho vôi4 và làm cho nó rất thuận tiện để thực hiện dự đoán và mô phỏng.


Dường như không có phương thức precit () cho logit.mixed trong zelig ..
nassimhddd

3

Phiên bản phát triển của lme4 có chức năng dự đoán tích hợp (dự đoán.merMod). Nó có thể được tìm thấy trên https://github.com/lme4/lme4/ .

Mã để cài đặt "Các nhị phân phát triển gần như cập nhật từ kho lưu trữ lme4 r-forge" có thể được tìm thấy trên trang trên và là:

install.packages("lme4", repos=c("http://lme4.r-forge.r-project.org/repos", getOption("repos")["CRAN"]))

1
lưu ý đây không còn là phiên bản phát triển, predictđã có sẵn từ vài năm nay rồi.
Ben Bolker

1

Stephen Raudenbush có một chương sách trong Sổ tay phân tích đa cấp về " Nhiều nhóm nhỏ ". Nếu bạn chỉ quan tâm đến các hiệu ứng của x trên y và không quan tâm đến các hiệu ứng cấp cao hơn, đề xuất của anh ta chỉ đơn giản là ước tính một mô hình hiệu ứng cố định (nghĩa là một biến giả cho tất cả các nhóm cấp cao hơn có thể).

Tôi không biết làm thế nào có thể áp dụng được đối với dự đoán, nhưng tôi sẽ tưởng tượng một số những gì anh ấy viết là áp dụng cho những gì bạn đang cố gắng thực hiện.

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.