Có cách nào dễ dàng để kết hợp hai mô hình glm trong R không?


9

Tôi có hai mô hình hồi quy logistic trong R được thực hiện với glm(). Cả hai đều sử dụng cùng một biến, nhưng được tạo bằng các tập con khác nhau của ma trận. Có một cách dễ dàng để có được một mô hình trung bình cung cấp các phương tiện của các hệ số và sau đó sử dụng mô hình này với hàm dự đoán () không?

[xin lỗi nếu loại câu hỏi này nên được đăng trên một trang web lập trình cho tôi biết và tôi sẽ đăng nó ở đó]

Cảm ơn


1
Bạn có thể tìm thấy một số thông tin hữu ích trong chuỗi liên quan tại stats.stackexchange.com/q/8502/919 .
whuber

Trong R, caretgói có một số tính năng thú vị để kết hợp các mô hình.
screechOwl

Câu trả lời:


2

Bạn có muốn lấy trung bình của xác suất dự đoán, hoặc trung bình của các hệ số? Họ sẽ đưa ra các kết quả khác nhau, bởi vì hồi quy logistic liên quan đến một biến đổi phi tuyến của bộ dự báo tuyến tính.

Một chức năng để làm hoặc là một cái gì đó như thế này. Đặt avgđể "prob"lấy cái trước, hoặc cái gì khác cho cái sau.

pred_comb <- function(mod1, mod2, dat, avg="prob", ...)
{
    xb1 <- predict(mod1, dat, type="link", ...)
    xb2 <- predict(mod2, dat, type="link", ...)
    if(avg == "prob")
        (plogis(xb1) + plogis(xb2))/2
    else plogis((xb1 + xb2)/2)
}

@Hong Ooi: Cảm ơn! Mã này thực sự hữu ích và sẽ thực hiện được mẹo, nhưng điều tôi chủ yếu nhắm đến là một chức năng sẽ đưa ra một mô hình R mới mà sau đó tôi có thể đưa vào dự đoán () trong quy trình làm việc. Tuy nhiên, tôi nghĩ rằng chức năng của bạn khá thanh lịch và giống như cách bạn có thể thiết lập nó để đưa ra xác suất.
Andrew

@Andrew bạn có thể tận dụng lập trình hướng đối tượng của R cho việc này. Đặt hai mô hình của bạn vào một danh sách, và cho nó một lớp, nói glm_2. Gọi hàm trên predict.glm_2và sau đó bạn có thể sử dụng predict()trên đối tượng của mình theo yêu cầu.
Hong Ooi

2
Tại sao tính trung bình các hệ số thích hợp? Nếu hai bộ dữ liệu có kích thước khác nhau, thì chắc chắn ít nhất nên sử dụng một số dạng trung bình có trọng số.
whuber

@ Hồng - cảm ơn, tôi sẽ thử. @whuber - cảm ơn bạn đã chỉ ra điều này. Nếu hai bộ dữ liệu của tôi có cùng kích thước, sẽ gây ra vấn đề (tôi chưa từng nghĩ đến điều này trước đây). Nếu chúng khác nhau, tôi chỉ cân theo tỷ lệ của các kích thước (ví dụ: nếu một cái to gấp đôi, tôi có cho nó gấp đôi trọng lượng không)?
Andrew

@Andrew Điều này đúng với trọng số theo số liệu chỉ khi các giá trị của các biến độc lập giống nhau trong cả hai tập hợp con. Để có cách tiếp cận tốt hơn (cũng có giá trị về mặt lý thuyết), hãy xem chủ đề tôi đã tham chiếu trong một nhận xét cho câu hỏi của bạn.
whuber
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.