我正在尋找一種算法(最好在C++中使用一個庫)或一些想法來告訴我,統計數據是否以統一的方式分佈在一個區間中。想象一下,我有兩個字符串:第一個沒有錯誤,第二個在某些點上有一些錯誤。我想檢查字符串中錯誤的位置是否具有統計意義。如何測試一些數字是否沿間隔均勻分佈?
考慮下面的例子。在第一種情況下,錯誤是均勻分佈的,第二種情況下,它們都在字符串的末尾,我的算法應該給出一些警告。
error-free string: 0110110101010110101 (3 errors occur at pos:5,12,15)
erroneous string : 0110010101000100101
sedond例如:
error-free string: 0110110101010110101 (3 errors occur at pos:17,18,19)
erroneous string : 0110110101010110010
我可以說在第一數據中的錯誤是正常的,但不是在第二個。
到目前爲止,我已經完成了這個想法:我想將字符串拆分爲相等的bin,假設字符串長度爲100.我選擇10個bin大小爲10.然後,我查看我們可以假設爲10的字符串。我希望在每個bin中看到1個錯誤。現在我計算我的預期距離統計有多遠。任何人有任何想法,如果這種方法是正確的?如果有效,每個垃圾箱應該有多大。它是否也取決於錯誤的數量?
查看http://math.stackexchange.com/questions/2435/is-there-a-simple-test-for-uniform-distributions – Bathsheba
查找卡方檢驗。請記住,根據其性質,統計測試可能有誤報和漏報。 – Peter
直方圖+該歷史圖上常數的最小二乘擬合如何? Chi-square會告訴你你的分佈有多好,因爲它模擬了一個常數。 –