Ghi chú: Bài thực hành sử dụng các thư viện sau trong R: tidyverse, brms, tidybayes, ggdist
Dữ liệu dùng trong thí nghiệm này được trích từ nghiên cứu của Li Lu và cs “Which Factors Are Associated With Reproductive Outcomes of DOR Patients in ART Cycles: An Eight-Year Retrospective Study” công bố năm 2022 trên tạp chí Frontiers in Endocrinology. (doi: 10.3389/fendo.2022.796199).
Bài toán có mục tiêu như sau: Khảo sát mối liên hệ giữa một số đặc điểm cơ bản, bao gồm Tuổi, loại hiếm muộn do nguyên nhân buồng trứng, tiền sử sản khoa, AFC, AMH, nội mạc tử cung ngày trigger của phụ nữ hiếm muộn và kết cục thai lâm sàng (Clinical pregnancy) của chu kì IVF.
Age_F | AMH | FSH | AFC | Endomet_HCG | Inf_Type | Prev_Preg | Prev_Delivery | Clin_Preg |
---|---|---|---|---|---|---|---|---|
43 | 0.02 | 26.05 | 0 | 3 | 1 | 1 | 0 | 0 |
39 | 0.17 | 11.88 | 0 | 11 | 0 | 0 | 0 | 0 |
29 | 0.01 | 25.69 | 3 | 3 | 1 | 1 | 0 | 0 |
38 | 0.90 | 11.09 | 6 | 13 | 0 | 0 | 0 | 0 |
37 | 0.01 | 18.82 | 6 | 10 | 1 | 4 | 1 | 0 |
Ở đây ta có một kết cục nhị phân (có thai lâm sàng hay không), có thể hình dung về nó như một xác suất thành công của 1 thử nghiệm Bernoulli duy nhất (chu kì IVF) cho mỗi cá thể. Như vậy ta có thể áp dụng phân phối Bernoulli, là một trường hợp đặc biệt của phân phối Binomial với N=1 và xác suất thành công \(\mu\).
\[f(y \in \{0,1\}) = {N=1 \choose y} \mu^{y} (1-\mu)^{1 - y}\]
Tham số \(\mu\) được ước lượng bằng một mô hình tuyến tính tổng quát (GLM) với hàm liên kết logit
\[logit(𝜇 )=log(\frac{\mu}{1-\mu})= 𝛽_0+𝛽_1 𝑋_1+𝛽_2 𝑋_2+ … +𝛽_𝑗 𝑋_𝑗\] Thiết lập công thức mô hình Bayes và xem nội dung giả thuyết tiền định (priors) mặc đinh.
# formula for brms model
form <- bf(Clin_Preg ~ Age_F + AFC + AMH +
Inf_Type + Prev_Preg + Endomet_HCG,
family = bernoulli())
mod_priors = get_prior(formula = form,
data = df_mod)
mod_priors%>%knitr::kable()
prior | class | coef | group | resp | dpar | nlpar | lb | ub | source |
---|---|---|---|---|---|---|---|---|---|
b | default | ||||||||
b | AFC | default | |||||||
b | Age_F | default | |||||||
b | AMH | default | |||||||
b | Endomet_HCG | default | |||||||
b | Inf_Type | default | |||||||
b | Prev_Preg | default | |||||||
student_t(3, 0, 2.5) | Intercept | default |
Cuối cùng, ta khớp mô hình với dữ liệu
Kết quả thô của mô hình:
## Family: bernoulli
## Links: mu = logit
## Formula: Clin_Preg ~ Age_F + AFC + AMH + Inf_Type + Prev_Preg + Endomet_HCG
## Data: df_mod (Number of observations: 900)
## Draws: 4 chains, each with iter = 2000; warmup = 1000; thin = 1;
## total post-warmup draws = 4000
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept -0.17 0.78 -1.67 1.39 1.00 5121 3040
## Age_F -0.10 0.02 -0.14 -0.06 1.00 4348 3079
## AFC 0.13 0.06 0.02 0.25 1.00 4982 3100
## AMH 1.49 0.36 0.80 2.21 1.00 4227 2878
## Inf_Type 0.16 0.28 -0.39 0.72 1.00 3401 2941
## Prev_Preg 0.02 0.12 -0.21 0.25 1.00 3585 3280
## Endomet_HCG 0.09 0.04 0.02 0.16 1.00 4566 3043
##
## Draws were sampled using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
Đây là mô hình logistic như ta đã biết. Nó ước lượng xác suất thai lâm sàng, thông qua hàm liên kết logit, do đó kết quả ước lượng đang là log(odds), lưu ý: odds là tỉ lệ giữa 2 xác suất (p và 1-p), ta có thể chuyển về thang đo odds bằng hàm exponential, hoặc chuyển hẳn về xác xuất p bằng hàm plogis.
Khi áp dụng hàm exponential cho hệ số hồi quy, ta tính được Odds-ratio.
Phân phối hậu nghiệm cho OR
.variable | variable | mean | median | sd | 25% | 97.5% |
---|---|---|---|---|---|---|
b_AFC | .value | 1.1412378 | 1.1401087 | 0.0673605 | 1.0950517 | 1.2832299 |
b_Age_F | .value | 0.9029622 | 0.9028801 | 0.0176077 | 0.8907576 | 0.9372163 |
b_AMH | .value | 4.7551877 | 4.4552789 | 1.8058519 | 3.5087698 | 9.1064863 |
b_Endomet_HCG | .value | 1.0907990 | 1.0901082 | 0.0394050 | 1.0639796 | 1.1719189 |
b_Inf_Type | .value | 1.2207078 | 1.1682743 | 0.3502118 | 0.9720816 | 2.0593177 |
b_Prev_Preg | .value | 1.0278671 | 1.0235847 | 0.1199904 | 0.9440469 | 1.2783225 |
Khảo sát trực quan phân phối hậu nghiệm
Khảo sát trực quan hiệu ứng độc lập của mỗi yếu tố
Kết thúc bài thực hành.