Kiểm định số lần chạy (Runs Test / Wald–Wolfowitz runs test) dùng để kiểm tra tính ngẫu nhiên của một dãy nhị phân.
Cho một dãy gồm N ký hiệu, mỗi ký hiệu là 0 hoặc 1. Gọi n1 là số lượng ký hiệu 0, n2 là số lượng ký hiệu 1 (đảm bảo n1≥1 và n2≥1). Một run là một dãy con liên tiếp tối đa gồm các ký hiệu giống nhau. Gọi R là tổng số run trong dãy.
Dưới giả thuyết dãy ngẫu nhiên, kỳ vọng và phương sai của R là: μR=n1+n22n1n2+1,σR2=(n1+n2)2(n1+n2−1)2n1n2(2n1n2−n1−n2)
Thống kê chuẩn hóa: z=σRR−μR. Quy ước: nếu σR=0 (trường hợp suy biến khi n1=n2=1) thì z=0.
Yêu cầu: Đọc dãy, tính R, μR, σR và z.
Ví dụ: Dãy "1 0 0 1 1 1 0": các run là (1)(00)(111)(0), suy ra R=4; n1=3 (số lượng số 0), n2=4 (số lượng số 1). μR=72⋅3⋅4+1≈4.4286. σR2=49⋅62⋅3⋅4⋅(24−7)≈1.3878, σR≈1.1780. z≈1.17804−4.4286≈−0.3638.
Dòng đầu chứa số nguyên N (2≤N≤10000) — độ dài dãy.
Dòng thứ hai chứa N số nguyên, mỗi số là 0 hoặc 1, cách nhau bởi khoảng trắng. Đảm bảo dãy có ít nhất một số 0 và ít nhất một số 1.
In trên một dòng 4 giá trị cách nhau bởi khoảng trắng: R (số nguyên), μR, σR, z (ba số thực, mỗi số làm tròn đến 4 chữ số thập phân). Ví dụ: 4 4.4286 1.1780 -0.3638.
Ví dụ:
Đầu vào:
7
1 0 0 1 1 1 0
Đầu ra:
4 4.4286 1.1780 -0.3638
Đầu vào:
2
0 1
Đầu ra:
2 2.0000 0.0000 0.0000
Đang tải editor...