Control Variates
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
Trước tiên, hãy đọc cách triển khai hiện có của posterior object và summarise_draws, sau đó so sánh với các cách triển khai Python ControlVariates và R ZVCV được dẫn chiếu. Xác định cách lưu trữ gradient, cách cung cấp các số đo tóm tắt của control-variate và cách phép ước lượng chuyển sang phương án dự phòng khi không có gradient; được xem là hoàn tất khi các bản tóm tắt mới hoạt động với gradient đã được điền và bảo toàn hành vi hiện có trong các trường hợp khác.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
It would be really great if posterior had a capacity to have reduced the standard errors associated with the expectations it can produce (eg mean, var and sd). Recent work [1] has shown that, if we use the score function as a control variate, we can reduce such standard errors and do so in a way that is effective in the context of constrained variables (as often considered in applications of interest in the context of, for example, estimating volatility or a frequency).
Based on initial discussion, we think the approach to adopt is to augment posterior with the capacity to accept, alongside the samples, the gradient of the log posterior of mapped parameters with respect to those mapped parameters (these mapped parameters are unconstrained but are nonlinear functions of the constrained variables). The implementation then decomposes into three components:
* Storage: we will need to use protected variables (called something like .grad_log_p_unconstrained) within the posterior object itself to pass the samples and gradients around the code such that anything we contribute is compatible with existing functionality.
* Interface: We would sensibly subtly augment the functionality of summarise_draws such that it has additional measures such that the user can use (eg summarise_draws(x, "mean_control_variates",”sd_control_variates”), where "mean_control_variates" calculates the mean using control variates and “sd_control_variates” does the same for the standard deviation).
* Estimation: writing the functions to calculate the estimates themselves in such a way that, for example, mean__control_variates fails gracefully (eg by calling mean, without control variates) when .grad_log_p_unconstrained is not populated. These functions are likely to be based heavily on a combination of the code written (in Python here: https://github.com/zhouyifan233/ControlVariates) for [1] and a pre-existing R repo (here: https://github.com/LeahPrice/ZVCV).
We would welcome advice on how to progress towards a pull-request associated with this issue.
[1] S Maskell, Y Zhou and A Mira. Control Variates for Constrained Parameters. IEEE Signal Processing Letters. Vol 29, pp. 2333-2337. 2022
- Ngôn ngữ chính
- R
- Star
- 172
- Fork
- 27
- Merge trung bình
- 5 ngày 12 giờ
- Pull request đã merge (30 ngày)
- 5
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của stan-dev/posterior
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
-
Use testthat 3eCó thể đã có người làm @mcol đã nhận 7 ngày trước. Đang mởgood first issue test
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 65/100
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
Tất cả issue của stan-dev/posterior
Issue tương tự
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 68/100
cran-task-views/Spatial#127 · 1 bình luận ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Add two cautions to the `simulate_dyad_responses()` helpCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởdocumentation priority: low
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
Pascal-Kueng/dyadMLM#179 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Consider changesĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
OHDSI/OmopSketch#618 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
GSK-Biostatistics/tfrmt#854 ·