文書の過去の版を表示しています。


モーメント法・最尤法

データの与え方。

X.raw <- c(1,0,1,0,0,1,1,1,0,1,0,1,1,0,1,0,0,0,1,1,0,0,1,1,1,0,0,1,0,0,1,0)

点推定と区間推定。

n <- length(X.raw)
p.hat <- sum(X.raw)/n
var.p.hat <- p.hat*(1-p.hat)/n
cat("\n", "Point Estimate of p:", p.hat, "\n", 
    "Sample Variance Estimate of p:", var.p.hat, "\n", 
    '95% Confidence Interval:', p.hat-pnorm(1-0.25)*sqrt(var.p.hat), 
    "<=p<=", p.hat-pnorm(0.25)*sqrt(var.p.hat), "\n", "\n")

ベイズ法

データの与え方。

DATA list {n=32, x=c(1,0,1,0,0,1,1,1,0,1,0,1,1,0,1,0,0,0,1,1,0,0,1,1,1,0,0,1,0,0,1,0)

モデルと事前分布と初期値の指定。

MODEL model {
  for ( i in 1:n ) {
    x[i] ~ dbin(p,1)
  }
  p ~ dgamma(2,3) # objective prior 
  # p ~ dgamma(1,1)  # flat prior
}
INIT list {p=0.5}

ここから先の手順はこのマニュアルに頼る。

ブートストラップ法

点推定は、モーメント法・最尤法と同じ。データの与え方も同じ。信頼区間の作り方は、

n <- length(X.raw)
B <- 100000
p.boot <- NULL
for( b in c(1:B) ) {
  X.boot <- sample(X.raw,size=n, replace=TRUE)
  p.boot <- append(p.boot, sum(X.boot)/n)
}
hist(p.boot)
quantile(p.boot, probs=c(0.025, 0.975))
cat("\n", "Point Estimate of p:", p.hat, "\n", 
    "Bootstrap Variance Estimate of p:", var(p.boot), "\n", 
    '95% Bootstrap Confidence Interval:', quantile(p.boot, probs=0.025), 
    "<=p<=", quantile(p.boot, probs=0.975), "\n", "\n")