Cho biến ngẫu nhiên X∼N(μ,σ2). Với mỗi xác suất p∈(0,1) cho trước, hãy tìm phân vị xp sao cho P(X≤xp)=p (tức nghiệm của phương trình F(x)=p với F là hàm phân phối tích lũy của X).
Vì thư viện chuẩn của Python không cung cấp hàm nghịch đảo của hàm sai số (inverse erf) hay hàm phân vị chuẩn có sẵn, hãy cài đặt phương pháp chia đôi (bisection) trên hàm
F(x)=21(1+erf(σ2x−μ)),
tìm kiếm trên đoạn [μ−20σ, μ+20σ] với ít nhất 100 vòng lặp chia đôi để đảm bảo sai số tuyệt đối không vượt quá 10−6.
Ví dụ: μ=0,σ=1,p=0.5 → xp=0 (vì phân phối chuẩn đối xứng quanh μ).
k dòng, mỗi dòng là giá trị xpi tương ứng, làm tròn 6 chữ số thập phân.
Ví dụ:
Đầu vào:
0 1
1
0.5
Đầu ra:
0.000000
Đầu vào:
0 1
3
0.025
0.5
0.975
Đầu ra:
-1.959964
0.000000
1.959964
Đang tải editor...