Cho mẫu ngẫu nhiên kích thước n (n≥2) với trung bình mẫu xˉ và độ lệch chuẩn mẫu hiệu chỉnh s (đã tính sẵn, cho trực tiếp ở input — không cần tính lại từ dữ liệu thô). Kiểm định giả thuyết H0:μ=μ0 đối H1:μ=μ0 dùng thống kê Student:
t=s/nxˉ−μ0,df=n−1
Yêu cầu: tự cài đặt (không dùng scipy/statsmodels hay bất kỳ thư viện ngoài nào — chỉ dùng module math chuẩn) hàm tính giá trị p hai phía chính xác theo phân phối Student với df bậc tự do, bằng công thức:
p=Idf+t2df(2df,21)
trong đó Ix(a,b) là hàm beta không đầy đủ chính quy hoá (regularized incomplete beta function), có thể tính bằng khai triển phân số liên tục chuẩn (continued fraction) kết hợp math.lgamma. Sau đó kết luận bác bỏ H0 khi p≤α. Quy ước: nếu s=0 thì lấy t=0 và p=1 (không đủ bằng chứng bác bỏ).
Ví dụ: n=16, xˉ=22.5, μ0=20, s=5, α=0.05: t=(22.5−20)/(5/4)=2.0, df=15; tính được p≈0.0639>0.05 nên kết luận Khong bac bo H0.
Một dòng duy nhất gồm 5 giá trị cách nhau bởi khoảng trắng: n xˉ μ0 s α, trong đó n là số nguyên 2≤n≤106, xˉ,μ0 là số thực bất kỳ, s≥0 là số thực (độ lệch chuẩn mẫu), 0<α<1 (số thực).
In ra ba dòng: dòng 1 là t (%.4f); dòng 2 là p-value (%.4f; do p được tính bằng thuật toán số nên sai số tuyệt đối tới 10−3 so với giá trị chuẩn được chấp nhận); dòng 3 in Bac bo H0 nếu p≤α, ngược lại Khong bac bo H0.
Ví dụ:
Đầu vào:
16 22.5 20 5 0.05
Đầu ra:
2.0000
0.0639
Khong bac bo H0
Đầu vào:
2 5 5 0 0.05
Đầu ra:
0.0000
1.0000
Khong bac bo H0
Đang tải editor...