難以使用迭代對數定律
假設您有無限多個 iid Bernouilli 變量 X1,X2,⋯ 參數的 p=12 . 例如,隨機數的二進制數字。讓 Sn=X1+⋯Xn .
迭代對數定律(見這裡)指出 limn→∞supSn−np√2np(1−p)loglogn=1.
無論我做什麼,我都無法通過模擬來複製這種行為。維基百科顯示了一張圖表,解釋了為什麼 loglogn 公式中需要(見這裡)但不確定它基於什麼數據:它一直到 n=∞ ,如果它包含無限數量的觀測值,它就不可能是真實數據。在我所有的測試中, loglogn 使 limsup 趨向於 0,而不是 1。
現在讓 Zn=√n⋅(Snn−p)=Sn−np√n.
這裡 p=12 . 當然 Zn 是漸近正態的 N(0,pq) . 所以技術上 Zn 可能是任意高,極高,而且這種情況經常發生,這表明 limsupZn=∞ . 這符合迭代對數定律。然而基於模擬 n=1010 和一個非常好的隨機發生器,所有證據都表明 limsupZn 以一個相當小的常數為界,小於 1。這似乎與迭代對數定律相矛盾。
下面是圖表 Zn 基於 100 億次觀測。
它是使用以下隨機生成器生成的: Yk+1=3Yk−⌊3Yk⌋ 和 Y1=√2 和 Xk=⌊2Yk⌋∈0,1 . 這個隨機生成器是非週期性的,並具有其他不錯的功能。在這種情況下 p=12 .
我的問題
我在這裡想念什麼?為什麼我的結果(以上是許多測試之一)似乎與迭代對數定律相矛盾?是不是連續的事實 Zn 高度相關?但這也是迭代算法定律中的假設,對吧?或者沒有正確理解迭代算法的規律或概念 limsup ?
關於上述隨機發生器的注意事項
序列 Yn 由於誤差(由機器精度引起)從一次迭代到下一次迭代呈指數快速傳播,因此在大約 45 次迭代後完全錯誤。但這不是問題,這就像每 40 次左右迭代就開始一個新種子一樣。這不是問題,因為順序 Yn 是遍歷的。
理想情況下我想使用 Yk+1=2Yk−⌊2Yk⌋ 但是在我使用的編程語言(Perl)中,由於計算機完成計算的方式,迭代在 45 次迭代後錯誤地達到零。的計算 2Yk 可以在基數 2 中非常有效地進行,它只是移動二進制數字。
如果替換,生成器實際版本中的計算速度會顯著提高(一個數量級) 3Yk 經過 Yk+Yk+Yk 在源代碼中。
您正在查看一個真正微小的模擬。 這是一個出去 n=21000≈1.07×10301:
(為了繪製它,我將步行縮小到 999 值水平間隔相等,並用線段連接它們。當然,實際模擬比此處顯示的要詳細得多:-)。)
顯然,這種步行反复擊中(並略微超過) ±1 閾值。迭代對數定律說,這種行為將無限期地持續*下去,*超過這個閾值的偏移越來越少。
範圍從 n=108 到 n=1010, 這基本上是在你的情節中可見的,以淺藍色線條左右為界。在整體情況下,我們很難期望縮放的隨機遊走在如此狹窄的區間內變化很大。
關鍵是該定律要求您在索引的對數(甚至對數)軸上繪製縮放的標準化隨機遊走 n.