看板 Visual_Basic 關於我們 聯絡資訊
這個問題轉去統計版後 有大大解答了 所以轉回來給大家參考一下 請看後面的推文 基本上就是說 我那樣的精確度其實是合理的 是我想太多了 ※ [本文轉錄自 Statistics 看板] 作者: meto000 (陽貨欲見孔子) 看板: Statistics 標題: [VB6 ] 亂數真的夠亂嗎? 時間: Thu Jun 25 00:08:28 2009 這個問題原先是貼在 VB 版的 不過我想它跟統計應該有點關係 或許這邊的先進會有不同的看法也說不定 所以也貼來這邊請教一下 ps: 我用EXCEL驗證過它的RAND指令 每次計算一行65535個亂數的平均和12倍變方 五次的結果如下 0.499098904 0.999599624 0.499093231 0.997547013 0.501684552 1.003165544 0.496511423 0.995069681 0.500108072 0.998571983 看來EXCEL的亂數好像也只能收斂到兩位小數的樣子 ※ [本文轉錄自 Visual_Basic 看板] 作者: meto000 (陽貨欲見孔子) 看板: Visual_Basic 標題: [VB6] 亂數真的夠亂嗎? 時間: Thu Jun 25 00:01:45 2009 [原文恕刪,請看後面的推文討論...] -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.140.18.156
yhliu:Var(Xbar) = Var(X)/n = (1/12)/65535 = 0.000001272 06/25 00:37
yhliu:sd(Xbar) = 0.00113. 就 "平均數" 結果來看沒有問題. 06/25 00:38
yhliu:不過, "是否夠亂" 有許多需要 test 的. 06/25 00:39
yhliu:另, 在你的 VB 程式中, 計算的捨入誤差當 n 大時可能重要. 06/25 00:44
meto000:感謝回答,我也想過是不是四捨五入的問題,但倍精度有15位 06/25 00:45
yhliu:以 X 的累加來說,因小數點對準,後面累加的數字會損失精確度. 06/25 00:46
meto000:小數,而平均從80萬之後就已經收斂在0.5001xx了,好怪 06/25 00:46
yhliu:而 X^2 的累加精確度損失更嚴重. 06/25 00:48
yhliu:VB 結果 mean 幾乎都在 0.5 之上可能與 VB 計算特性有關, 但 06/25 00:50
yhliu:因我沒學過 VB, 因此不知其故. 06/25 00:50
yhliu:哦...你的 VB 計算是累計的, 難怪 mean 幾乎都在 0.5 之上. 06/25 00:52
meto000:感謝,所以我們無法期望由大量取樣而能收斂到小數點很多位 06/25 00:53
meto000:由SD(Xbar)來看頂多兩三位而已, 是不是這樣呢? 06/25 00:54
yhliu:n=10000000, Var(Xbar)=0.8333E-8, SD(Xbar)=0.0000913 06/25 00:54
meto000:所以我取樣1000萬次,就只能有四位的精準度, 是這樣嗎? 06/25 00:55
yhliu:Xbar=0.500137 在合理範圍 (0.5(+/-)2*SD) 06/25 00:56
yhliu:是的, MonteCarlo 計算並不能取得 "很精確" 的結果, 但可以 06/25 00:57
yhliu:"快速" 取得 "尚可" 的結果. 特別適合多變量計算如 R^k 之區 06/25 00:59
yhliu:域上的定積分. 06/25 00:59
meto000:感謝指教,多變量定積分的模擬我也有作過,只是對精確度有點 06/25 01:03
meto000:疑惑,原來不是拿時間跟他拼就能提升多少的,頂多只有 06/25 01:03
meto000:mean±2sd範圍內的精確度而已,我還以為VB的亂數歪掉了說 06/25 01:04
yhliu:要得精確積分值還是數值積分較實在. 但數值積分當 dimension 06/25 01:06
yhliu:提高時所需時間很恐怖! 如一維定積分需分 n 段, k維要分 n^k 06/25 01:08
yhliu:個區塊, 而誤差仍不及一維時. 但 MonteCarlo 方法則與維度 06/25 01:09
yhliu:相關不大. 換言之,一維積分需取 n 點, k維取個 k*n 可能嫌多 06/25 01:11
meto000:了解,montecarlo只是提供難纏問題的另一種思考方向而已 06/25 01:17
clickhere:可以好慮Variance reduction的方法可多個2-3位精準度 06/25 09:01
clickhere: 考 06/25 09:02
meto000:可以麻煩clickhere大大介紹一下作法嗎? 06/25 23:10
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.173.238.200 ※ 編輯: meto000 來自: 218.173.238.200 (06/25 23:16)