1

合計カウントとベータ分布を使用して事前確率を定式化しようとしています。

私は次のように書いています:

quantile(df$row, probs=c(0.00001, 0.5, 0.99999))

quantile1 <- list(p=0.5, x=8)
quantile2 <- list(p=0.99999, x=10)
quantile3 <- list(p=0.00001, x=1)

library("LearnBayes")
findBeta <- function(quantile1,quantile2,quantile3)

quantile1_p <- quantile1[[1]]; quantile1_q <- quantile1[[2]]
quantile2_p <- quantile2[[1]]; quantile2_q <- quantile2[[2]]
quantile3_p <- quantile3[[1]]; quantile3_q <- quantile3[[2]]

priorA <- beta.select(list(p=0.5, x=8), list(p=0.99999, x=10))

そして、beta.select関数を使用してpriorAを計算しようとすると、次のエラーが発生します:

Error in if (p0 < p) m.hi = m0 else m.lo = m0 : 
  missing value where TRUE/FALSE needed
In addition: Warning message:
In pbeta(x, K * m0, K * (1 - m0)) : NaNs produced

エラーを取り除くことができず、これ以上アプローチする方法がわかりません。緊急に助けが必要です。

4

1 に答える 1

1

私はあなたがパーセンテージを扱っていると(完全に薄い空気から)推測しています。どのような場合に使用しますかx/100

beta.select(list(p=0.5, x=.08), list(p=0.9, x=.10))
#  [1]  28.02 318.74

いずれにせよbeta.select、より適切なエラー メッセージをスローする (というか、そこでエラー チェックを行う) のは良いことですが、問題の根本は、xが範囲外にあることです。(@Didzis が指摘したように、ベータ分布の間隔は[0, 1])

于 2013-03-25T06:28:24.203 に答える