Ghi chú: Bài thực hành sử dụng các thư viện sau trong R: tidyverse, brms, tidybayes, ggdist

1 Bước 1: Bài toán và dữ liệu

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

2 Bước 2: Mô hình hồi quy Logistic (pp Bernoulli)

Ở đâ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

\[log⁡it(𝜇 )=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

3 Bước 3: Diễn giải kết quả mô hình

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.