Random-Number-Generator
NIST 測試套件某些結果的解釋
我在 PRNG 上使用 NIST 測試套件,並且對某些特定結果感到困惑。以下是部分結果:
RESULTS FOR THE UNIFORMITY OF P-VALUES AND THE PROPORTION OF PASSING SEQUENCES C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 P-VALUE PROPORTION STATISTICAL TEST 0 0 0 0 1 2 3 3 15 76 0.000000 * 100/100 BlockFrequency
我的問題是,當塊頻率測試的 p 值為 0.0 但比例顯示 100/100 測試序列通過了測試時,上述結果的意義是什麼,我應該認為這個測試是通過還是失敗?我檢查了有關 NIST 測試套件的其他問題,但他們沒有回答這個特定的查詢。
隨機性是令人討厭的,並且可以在樣本之間起起伏伏。這就是為什麼沒有一種特定的分類測試可以驗證 IID 序列的原因。您需要在統計上將幾個(可能是相互矛盾的)組合在一起以獲得更廣闊的視野。C1 至 C10 列中的 P 值分佈為:-
每列是一個寬度為 0.1 的 P 值。所以似乎發生的事情是你所有的個人 P 值都下降了 0.4 < P < 0.99,這是 NIST 0.01 的顯著性水平。所以他們單獨通過,因此是 100/100。
但是當你繪製這個 P 值的分佈時,它看起來不太可能。測試套件的設計使得所有 P 分數在 is-random 零假設下以 0 - 1 均勻分佈。當您計算這些分數隨機發生的機率時(通過 Chi 測試),您的 P = 0.000000(加上星號!)。所以你沒有通過測試。糟糕:-(
特別出版物 800-22文件的第 5 節中有更多解釋性內容。關於您的 PRNG,我不會再多說,因為這個問題的資訊有限。