Khoảng tin cậy cho mô hình GAM


14

mgcv::gamTrang trợ giúp của việc đọc :

khoảng tin cậy / đáng tin cậy có sẵn cho bất kỳ số lượng dự đoán bằng cách sử dụng một mô hình được trang bị

Tuy nhiên tôi không thể tìm ra cách để thực sự có được một. Tôi nghĩ rằng predict.gamsẽ có một type=confidencevà một leveltham số nhưng nó không. Bạn có thể giúp tôi về cách tạo ra nó?

Câu trả lời:


32

Theo cách thông thường:

p <- predict(mod, newdata, type = "link", se.fit = TRUE)

Sau đó lưu ý rằng pcó chứa một thành phần $se.fitcó lỗi tiêu chuẩn của các dự đoán cho các quan sát trong newdata. Sau đó, bạn có thể hình thành CI bằng cách nhân SE với một giá trị phù hợp với mức độ mong muốn của bạn. Ví dụ: khoảng tin cậy xấp xỉ 95% được hình thành như sau:

upr <- p$fit + (2 * p$se.fit)
lwr <- p$fit - (2 * p$se.fit)

t

Lưu ý rằng tôi sử dụng type = "link"như bạn không nói nếu bạn có GAM hoặc chỉ là AM. Trong GAM, bạn cần hình thành khoảng tin cậy theo thang đo của bộ dự báo tuyến tính và sau đó chuyển đổi nó thành thang đo của phản ứng bằng cách áp dụng nghịch đảo của chức năng liên kết:

upr <- mod$family$linkinv(upr)
lwr <- mod$family$linkinv(lwr)

Bây giờ lưu ý rằng đây là những khoảng rất gần đúng. Ngoài ra, các khoảng này là điểm sáng cho các giá trị dự đoán chúng không tính đến thực tế là lựa chọn độ mịn đã được thực hiện.

Một khoảng tin cậy đồng thời có thể được tính toán thông qua mô phỏng từ phân phối sau của các tham số. Tôi có một ví dụ về điều đó trên blog của tôi .

Nếu bạn muốn một khoảng tin cậy không có điều kiện dựa trên các tham số làm mịn (tức là một tham số có tính đến mà chúng ta không biết, nhưng thay vào đó ước tính, các giá trị của các tham số độ mịn), sau đó thêm unconditional = TRUEvào predict()cuộc gọi.

Ngoài ra, nếu bạn không muốn tự làm điều này, hãy lưu ý rằng các phiên bản mới hơn của mgcvplot.gam()chức năng trả về một đối tượng với tất cả dữ liệu được sử dụng để tạo ra các lô của độ mịn và khoảng tin cậy của chúng. Bạn chỉ có thể lưu đầu ra từ plot.gam()trong một obj

obj <- plot(model, ....)

và sau đó kiểm tra obj, đó là một danh sách với một thành phần trên mỗi mịn. Thêm seWithMean = TRUEvào plot()cuộc gọi để có được khoảng tin cậy không có điều kiện theo tham số độ mịn.


Làm CI đồng thời và bootstrap tham số có liên quan nhiều hơn với mã để nếu bạn có thể nhận được chỉ với các khoảng thời gian theo chiều lớn. Nếu không tôi có thể cung cấp thêm ví dụ cho từng người.
Phục hồi Monica - G. Simpson

+1 cho câu trả lời. Thực sự bài viết trên blog ấn tượng, tôi sẽ nghiên cứu nó một thời gian để cải thiện kỹ năng đồ họa của mình.
cung thủ

Có cách nào để tôi có thể truy cập vào bài đăng blog ấn tượng đó ( ucfagls.wordpress.com/2011/06/12/ mẹo ) không? Hiện tại blog yêu cầu đăng nhập.
genorama

@geneorama Tôi đã chuyển blog của mình khỏi Wordpress và trong một năm đã trả tiền cho các chuyển hướng sang một cái mới cho tất cả các URL nhưng tôi đã để điều đó mất hiệu lực gần đây. Xin lỗi vì điều đó. Tôi đã chỉnh sửa trong liên kết mới và không yêu cầu đăng nhập. (Việc đăng nhập là để tránh hai bản sao của cùng một bài đăng và tôi đã quá lười để xóa các trang khỏi trang Wordpress.)
Tái lập lại Monica - G. Simpson

Bài đăng blog ban đầu (xem lịch sử chỉnh sửa của Hỏi & Đáp này) có một lỗ hổng cơ bản trong cách tạo khoảng thời gian đồng thời. Liên kết trong phiên bản hiện tại (kể từ tháng 12 năm 2016) của Câu trả lời sẽ tính toán khoảng thời gian đồng thời một cách chính xác.
Phục hồi Monica - G. Simpson

5

Nếu bạn chỉ muốn vẽ đồ thị cho chúng, thì plot.gamhàm sẽ tô mặc định các khoảng tin cậy bằng cách sử dụng đối số bóng. Cũng xem gam.vcompđể có được khoảng thời gian.


5

Gói mgcv(mới hơn gam) sẵn sàng vẽ các khoảng đáng tin cậy. Cách tiếp cận Bayes này khác với các khoảng tin cậy, nhưng kết quả gần như giống nhau, như mô phỏng số đã chỉ ra (xem phần bài viết của Marra và Wood được liên kết bằng mgcv).


2
+1 Một kết quả chính của bài báo của Marra & Wood là họ phát triển sự hiểu biết / giải thích của Nychka về lý do tại sao các khoảng tin cậy theo kinh nghiệm của Bayes cũng có cách diễn giải / hành vi thường xuyên khá phi thường khi được xem là khoảng tin cậy "xuyên suốt chức năng". Bạn có thể xử lý các khoảng theo cách Bayes hoặc thường xuyên và thuộc tính bảo hiểm được ngụ ý bởi1-αkhoảng thời gian giữ, khoảng.
Phục hồi Monica - G. Simpson
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.