[問題] R中數值積分函數誤差項來源

看板R_Language作者 (MING)時間9年前 (2015/06/15 23:40), 9年前編輯推噓0(0013)
留言13則, 2人參與, 最新討論串1/1
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 大家好! 有一個關於數值分析的問題想不通,想請教一下。 使用數值積分的時候, 如果我們知道真實積分值的時候, 可以計算 absolute error=| true answer - approximation | 來看實際上誤差遞減程度與理論是否相同。 但,那都是我們知道 true answer 時候才能計算, 因此,在我們不知道 true answer 時候,應該就不會有 absolute error 出現才對。 但是我最近使用 R 語言中的積分函數 integrate( ) 他都有參數是有關誤差的容忍 rel.tol : relative accuracy requested. abs.tol : absolute accuracy requested. (https://stat.ethz.ch/R-manual/R-devel/library/stats/html/integrate.html) (http://www.hep.by/gnu/r-patched/r-exts/R-exts_143.html#SEC143) 甚至 output 也會給我 abs.error : estimate of the modulus of the absolute error. 所以我有點想不通,如果他不知道真實函數,他要如何才能計算出absolute error呢? 麻煩各位了! [程式範例]: > integrate(dnorm, -1.96, 1.96) 0.9500042 with absolute error < 1e-11 [環境敘述]: > sessionInfo() R version 3.1.0 (2014-04-10) Platform: x86_64-w64-mmw32/x64 (64-bit) locale: [1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 [3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C [5] LC_TIME=English_United States.1252 attached base packages: [1] stats graphics grDevices utils datasets methods base loaded via a namespace (and not attached): [1] tools_3.1.0 [關鍵字]: 數值積分 絕對誤差 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.35.170.70 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1434382857.A.161.html ※ 編輯: ming790925 (114.35.170.70), 06/15/2015 23:48:52

06/16 00:11, , 1F
不可能知道沒錯,但R只是給你一個誤差的上限。
06/16 00:11, 1F

06/16 00:13, , 2F
這個上限是可以知道的。例如積一個遞增函數,
06/16 00:13, 2F

06/16 00:14, , 3F
用矩形法求數值積分,一個會是上限,另一個會是下限。
06/16 00:14, 3F

06/16 00:15, , 4F
已知切幾個矩形,你就能知道上限、下限,這差距就一定
06/16 00:15, 4F

06/16 00:16, , 5F
誤差還小了。不知道這樣說你了不了解?
06/16 00:16, 5F

06/16 00:18, , 6F
實際使用的方法我並不清楚,只是提供一個例子說明。
06/16 00:18, 6F

06/16 00:40, , 7F
所以是計算上界,那請問abs.tol參數是改變切多細嗎?
06/16 00:40, 7F

06/16 00:41, , 8F
使之達到足夠小的誤差bound嗎
06/16 00:41, 8F

06/16 00:43, , 9F
我不確定,但可能也和浮點數精確度有關係。
06/16 00:43, 9F

06/16 00:44, , 10F
要改切多細可以調subdivisions看看。
06/16 00:44, 10F

06/16 00:47, , 11F
所以他才會寫estimate of the modulus of the absolut
06/16 00:47, 11F

06/16 00:47, , 12F
te error, 有點像是說error的估計值<
06/16 00:47, 12F

06/16 00:48, , 13F
我這樣想法應該沒錯吧? 感謝a大
06/16 00:48, 13F
文章代碼(AID): #1LVl895X (R_Language)
文章代碼(AID): #1LVl895X (R_Language)