現在、Rで描きたい複雑な関数に苦労しています。基本的には分布と他の従属確率の組み合わせなので、正規分布を修正する必要があります。
最終的な式は次のようになります。
どうすればRで描くことができますか?
現在、Rで描きたい複雑な関数に苦労しています。基本的には分布と他の従属確率の組み合わせなので、正規分布を修正する必要があります。
最終的な式は次のようになります。
どうすればRで描くことができますか?
積分は正規分布の累積PDFであるため(正規化係数の欠落を除く)、を使用して計算できますpnorm
。
sf <- 1
mf <- 0
f <- function(x) 1/(2*sf^2*pi)*exp(-.5*((x-mf)/sf)^2) *
(1 - sf*sqrt(2*pi)*pnorm(x, mf, sf))
curve(f, from=-2, to=2)
要因は、sf*sqrt(2*pi)
欠落している正規化を補うことです。数学が正しいかどうかは100%確信できませんので、自分でも確認してください。
編集:Ben Bolkerが指摘したように、の最初の部分はでf
簡略化できdnorm
、コードを読みやすくします。
f <- function(x) dnorm(x, mf, sf)/(sqrt(2*pi)*sf) *
(1 - sf*sqrt(2*pi)*pnorm(x, mf, sf))
あなたは方程式を持っているのでstats::integrate
、あなたの定義の定積分項を計算するために使用してくださいf(x)
。次に、例として: plot(0:1000, f(0:1000),t='l')
。