Có phải stan làm hậu thế dự đoán?


9

Liệu stan (đặc biệt là rstan) có các cơ sở tích hợp để tạo phân phối dự báo sau?

Không khó để tạo phân phối từ stan fit, nhưng tôi không muốn phát minh lại bánh xe.


2
Có một phần số lượng được tạo ở cuối được cho là có thể xử lý mô phỏng, nhưng tài liệu (kể từ câu 1.3, nhưng câu 2 sẽ sớm ra) không giải thích chi tiết về cách thực hiện điều này. Bạn có thể xem xét yêu cầu danh sách gửi thư.
Giăng

Câu trả lời:


4

Theo Hướng dẫn sử dụng Stan v2.2.0 (trang 361 Lỗi362):

Trong Stan, mô phỏng sau có thể được tạo theo hai cách. Cách tiếp cận đầu tiên là coi các biến dự đoán là tham số và sau đó xác định phân phối của chúng trong khối mô hình. Cách tiếp cận thứ hai, cũng hoạt động cho các biến rời rạc, là tạo dữ liệu nhân rộng bằng cách sử dụng các trình tạo số ngẫu nhiên trong khối lượng được tạo.

Tôi thường sử dụng sau này.


3

Sau đây không phải là một câu trả lời thấu đáo, nhưng hy vọng nó tốt hơn là không có câu trả lời. Trong các ứng dụng của riêng tôi, tôi áp dụng kiểm tra dự báo sau để kiểm tra dự đoán mô hình cho một biện pháp phụ thuộc duy nhất được tạo ra từ mô hình tuyến tính. Điều này là đơn giản trong JAGS, nhưng hơi mờ hơn ở Stan.

data{
    int<lower=1> N; // no. rows
    real x[N]; // predictor
    real y[N]; // dependent variable
}
parameters{
    real alpha; // int.
    real beta; // slope
    real<lower=0> sigma_e; // resid. var.
    real y_tilde[N]; // post. pred.
}
model{
    real mu[N];
    for(i in 1:N){
        mu[i] <- alpha + beta*x[i];
    }

    y ~ normal(mu,sigma_e); //lik
    y_tilde ~ normal(mu,sigma_e);

    alpha ~ normal(0,5);
    beta ~ normal(0,5);
    sigma_e ~ cauchy(0,5);
}
generated quantities{
    real minimum;
    real maximum;
    minimum <- min(y_tilde);
    maximum <- max(y_tilde);
}

Phải có một cách tốt hơn để làm điều này, vì vậy ai đó xin vui lòng gửi một câu trả lời tốt hơn. Nhưng đoạn mã trên tạo ra N phân phối dự báo sau, một cho mỗi quan sát. Tôi làm điều này để có thể tìm thấy phân phối dự đoán của extrema, nhưng nếu bạn chỉ quan tâm đến số lượng dự đoán sau, y_tildebạn có thể làm mà không cần tất cả chúng. Đối với các tập dữ liệu lớn, giải pháp trên rõ ràng là quá tốn dung lượng.

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.