[問題] 常態分布在數值計算上的應用

看板Statistics作者 (Allons-y!)時間13年前 (2012/03/23 07:28), 編輯推噓0(003)
留言3則, 1人參與, 最新討論串1/1
在下不是學統計出身,最近有個問題卡關很久TAT,想請教各位 是不是我數學觀念有問題 我的目標是用高斯分布G(0,d) = exp(-0.5*x^2/d^2)/Ng, Ng = sqrt(2*pi)*d 在電腦上計算一個積分 int{ f(x)G(0,d) },從負無限大積到正無限大 但是在數值上我只能做出一堆遵循G(0,d)的隨機變數 就把這個積分改成 Sum{ f(x)G(0,d) }/Sum{ G(0,d) } 想說這樣就可以normalize我的答案,可是等我做了測試以後,發現結果很奇怪 在數學上,如果把f(x)定為x^2,就會是很常見的高斯積分 答案會是G的變異數(variance),int{ x^2*G(0,d) }=d^2 我在程式裡用ziggurat這個方法跑出一堆遵循G(0,1)的隨機變數(最多到10^7) 想說Sum{ x^2*G(0,d) }/Sum{ G(0,d) }的答案應該會是1^2 結果答案是0.5 然後做x^4 Sum{ x^4*G(0,d) }/Sum{ G(0,d) } = 0.75 我有測試過sample variance,算那堆變數的Sum_i{ x^2_i }/N-1 答案非常接近1,精確度很高 所以我在想是不是從int --> sum這邊的觀念有問題 想請教各位我這樣處理有沒有問題,如果沒有就要回頭再好好檢查我的程式... 謝謝 ps.也發現了一個巧合 如果把x放大為sqrt(2)倍,G不變,Sum的答案就會跟int一樣 -- まだ始まったばかりです!いくらでもやり直せます! よろしいですか。よろしいですか? 例え、例えですね、明日死ぬとしても、やり直しちゃいけないって、 誰が決めたんですか?誰が決めたんですか? まだまだこれからです。 (古畑任三郎) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 74.110.53.160 ※ 編輯: hereafter 來自: 74.110.53.160 (03/23 07:34)

03/27 21:44, , 1F
你的亂數既然是依循 G(0,d) 產生的, Σf(x_i)/n 即是
03/27 21:44, 1F

03/27 21:45, , 2F
在 G(0,d) 之下的 E[f(X)] 之推估值, 不需再用 G(x_i;0,d)
03/27 21:45, 2F

03/27 21:46, , 3F
加權.
03/27 21:46, 3F
文章代碼(AID): #1FQxM2bz (Statistics)