1

ウィキペディアや他のパッケージとinvgamma::dinvgammaは異なる値を与えるようです。

> shape = 1
> scale = 2
> x = 2
> invgamma::dinvgamma(x, shape = shape, scale = scale)
[1] 0.0973501
> scale ** shape / gamma(shape) * x ** (-shape - 1) * exp(-scale / x) # Wikipedia
[1] 0.1839397
> MCMCpack::dinvgamma(x, shape = shape, scale = scale)
[1] 0.1839397

実際、代わりにscaleパラメーター ininvgamma:dinvgammaを呼び出す必要がありrateました。

> invgamma::dinvgamma(2, shape = shape, rate = scale)
[1] 0.1839397
4

1 に答える 1

2
  1. 密度関数のヘルプは、それが実装していると何を言っていますか?

    f(x) = rate^shape/Gamma(shape) x^(-1-shape) e^(-rate/x)
    
  2. それは実装されていますか?

    ええと、あなたがそこに示したものに従うと、それはそれが言うことをするようです.

  3. それはレートパラメータと呼ばれるべきですか?

    いいえ -- パラメータ (ここでは $\theta$ と呼びましょう) は $t(x/\theta)$ の形式で表示されるため、通常の意味でのスケール パラメータであることは明らかです。

要約すると、厳密には、実装されていると言っているものを実装しているように見えるという意味で、計算上間違っているわけではありません。

「スケール」と「レート」の従来の意味を交換するという点で、通常の用語を間違いなく誤用しています。

これは少なくとも気がかりなことであり、おそらく使用上のエラーの原因であると思いますが、彼らが実装したと言っていることに細心の注意を払えば、間違った計算をすることはありません.

[どちらの著者も統計学の博士号を持っているようです。スケールパラメータが何であるかに関する広範な慣習、または少なくとも、それらが行ったこととはまったく逆の用語に関連して広く使用されている慣習の存在について、より大きな認識があることが望まれます(つまり、**Warning**$x/\theta$ という形式の項の出現は、$\theta$ がスケールであることを暗示していると考える人々が、関数の誤用に導かれないように、ヘルプに明確な注意書きが表示されることを願っています)。ただし、実装作業の品質を疑う理由はまったくありません。]

最終的に、ここでの「レート」の意味は、ポアソン過程に由来します。ガンマ分布は「k 番目のイベントまでの時間」であり、「レート パラメータ」はプロセスでイベントが発生するレートを表し、次の形式で表示されます。そのガンマの密度で $\lambda x$ (またはその倍数)。逆ガンマは、そのガンマの逆数 (実際には、k 番目のイベントまでの時間の逆数、一種の速度) として発生しますが、レート パラメーターの意味は変わりません。$\lambda x$ として入力されるパラメータのままです。(どうやってこの2つをひっくり返すようになったのかはわかりませんが、前例が存在することは間違いありません。)

于 2017-09-15T00:13:42.053 に答える