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