試験の合格基準は6割です

MikuHatsune2013-02-02

バイオインフォマティクス技術者認定試験に合格した。
この試験は、6割の得点率で合格らしい。
問題は80問からなり、すべて4つの選択肢から1つ解答を選ぶ形式である。
 
Q_s個の試験問題のうちA_n個の問題は間違えることなく正答を得ることができ、わからない残りの問題Q_s - A_n個は適当に答えるとする。1問につきC_n個選択肢があって、そのうち1つだけが答えとすると、適当にやって正答を得る確率は1問につき\frac{1}{C_n}である。これをQ_s - A_n回やれば二項分布になる。
確率分布の使い方を参考にして、設定した合格基準で果たしてどれほど正解した人が試験を合格することになるのかを考える。
 

library(binom)
Qs <- 80 #試験問題数
Cn <- 4 #1問あたりの選択肢数
alpha <- 0.95 #有意水準
pass <- 0.6 #試験合格基準
passQn <- floor(Qs * pass) #試験合格基準を満たす問題数

An <- 40 #40問は絶対に正解できるとして
dbinom(0:(Qs - An), size = Qs - An, prob = 1/Cn)
plot(dbinom(0:(Qs - An), size = Qs - An, prob = 1/Cn), type="o", xlab="No. correct answer", ylab="dは確率密度", main="d...")
plot(pbinom(0:(Qs - An), size = Qs - An, prob = 1/Cn), type="o", xlab="No. correct answer", ylab="pは累積確率", main="p...")



累積確率で0.95になるところが欲しければ、確率点を使う。

qbinom(alpha, size = Qs - An, prob = 1/Cn)
[1] 15

ということで、これを使いながら、A_n={0, \hspace{3}1, \hspace{3}2, \dots,\hspace{3}Q_s}まで全部やる。

An_alpha <- rep(0, Qs + 1)
for(An in 0:Qs){
	An_alpha[An] <- qbinom(alpha, size = Qs - An, prob = 1/Cn)
}
An_alpha + 0:Qs

plot((0:Qs) / Qs, (An_alpha + 0:Qs) / Qs, xlim=c(0, 1), ylim=c(0, 1), xlab="% correct answers", ylab=paste("maximum answers on exam, probability <", alpha))
abline(h = pass, lty=2)

問題のうち4割までしか理解しておらず、自信を持って答えた問題数が4割以下で、あとは適当にやった人は95%の確率で試験上、正答数が6割を超えない。