2

数値積分を行う R の能力を信頼するのに苦労しています。次のコード:

integrand = function(xval) {dnorm(x=xval,mean=0,sd=1)}
integrate(integrand,-Inf,Inf)

絶対誤差 < 9.4e-05 で 1 の出力を正しく生成します。

ただし、単純に分布を定数だけシフトすると、

integrand2 = function(xval) {dnorm(x=xval,mean=370,sd=1)}
integrate(integrand2,-Inf,Inf)

確率分布をうまく統合できません (つまり、積分は 1 でなければなりません)。絶対誤差 < 7.1e-15 で 4.360019e-15 という答えが得られます。

数値積分の手順で分布のこぶを見つけるのが難しいことは理解していますが、R の出力が信頼できるかどうかはどうすればわかりますか?

4

1 に答える 1

1

ご質問ありがとうございます、アダム。このページを読むまで、私はこの問題を知りませんでした。完全な答えではありませんが、この問題について提案します。統合関数は実際にはリストを返し、3 番目の項目 $subdivisions を使用して信頼性を測定できます。

> integrate(integrand,-Inf,Inf)$subdivisions
[1] 3
> integrate(integrand2,-Inf,Inf)$subdivisions
[1] 1

「完璧ではない」と言ったのは、値 3 も小さいからです。したがって、この方法は信頼性の低さを過大評価しています。たぶん、いくつかの警告を表示するために使用できます。詳細は私のブログでご覧いただけます。

于 2013-04-23T13:55:33.147 に答える