→ 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)