- 関連記事など(こちら)
- 条件とデータが与えられたときに、知りたい変数の値を推定したい
- 最尤推定
- 最も尤もらしい値を推定する(最尤推定値)
- 推定したい変数の尤度関数
- 観察データから尤度関数の値を求める
- 最尤推定値は、尤度関数の最大値を与える変数値。微分できる?→微分する
- 尤もらしい範囲を推定する
- 尤度に基づくありそうな値とありそうもない値とがわかる
- 尤もらしい値を範囲で選ぶとしたらどうしたいか
- Rの信頼区間(こちら)
- メモ
p<- seq(0,1,0.00001)
pp<- rep(0,length(p))
for(i in 1:length(p)){
pp[i]<- dbinom(4,15,p[i])
}
plot(pp)
a<- pp/sum(pp)
a_order<- order(a,decreasing=TRUE)
a_ordered<-a[a_order]
cumsum_a_ordered<-cumsum(a_ordered)
plot(cumsum_a_ordered)
closest<-which(abs(cumsum_a_ordered-0.95)==min(abs(cumsum_a_ordered-0.95)))
abline(v=closest)
abline(h=0.95)
plot(pp,type="l")
thres<-a[a_order[closest]]
mores<-which(a>thres)
lessANDeq<-which(a<=thres)
sum(a[mores])
sum(a[lessANDeq])
CI<-qbeta(c(1-0.95)/2,1-(1-cirange)/2),4+1,15-4+1)
abline(v=CI*length(p),col=2)
abline(v=a_order[closest])
abline(v=a_order[closest-1])
N<-15
k<-4
p<-seq(from=0,to=1,by=0.001)
v<-dbeta(p,k+1,N-k+1)
v<-v/sum(v)
plot(p,v,type="l")
abline(v=k/N)
cirange<-0.95
ci1<-qbeta(c((1-cirange)/2,1-(1-cirange)/2),k+1,N-k+1)
abline(v=ci,col=2)
lesses<-which(p<ci1[1])
mores<-which(p>ci1[2])
a_order<- order(v,decreasing=TRUE)
a_ordered<-v[a_order]
cumsum_a_ordered<-cumsum(a_ordered)
closest<-which(abs(cumsum_a_ordered-0.95)==min(abs(cumsum_a_ordered-0.95)))
thres<-v[a_order[closest]]
mores2<-which(v>thres)
lesss2<-which(v<thres)
col<-rep(0,length(p))
col[mores2]<-2
col[lesss2]<-3
par(new=TRUE)
plot(p,v,col=col,cex=0.1)
abline(h=thres,col=3)
sum(v[c(lesses,mores)])
sum(v[-c(lesses,mores)])
sum(v[c(lesss2)])
sum(v[c(mores2)])
- dbinom()はp引数がベクトル対応なのでループがはしょれるらしい(こちら)