TOELEやTOEICは世界的(後者は日本国内で主流)な英語能力の検定試験の一種です。大学入試や留学,就活などでこれら検定試験のスコアが活用されることもあります。
ところで,TOEICって,そのスコアのレンジ(範囲)が10点〜990点になるように 統計的な処理 が施されています。その理由はいくつかありますが,大きなものとしては「複数回受験した場合でも,能力を比較可能な形で表現するため」だったり,「異なる回を受験した,異なる受験者のスコアをなるべく平等に比較するため」だったりします。
この統計的な処理については様々な憶測がありますが,よくあるのは「素点をもとに偏差値的な処理をする」というなんとも腑に落ちないものです。公式問題集には素点とスコアのざっくりとした対応表がついており,そこから,「50門正答したら,大体hoge点 ~ fuga点の間」ということがわかるようですが,やはり,そのスコアリングについては触れられていません。
「TOEIC スコア 計算」などで検索すると,上記のようなことを説明してくれる不親切なまとめサイトがゴロゴロある一方で,みんなが口を揃えて言う統計的な処理については殆ど触れられていません。それもそのはずで,TOEICのテストを運用,スコアリングしているETSという非営利団体は,このスコアの計算方法を詳細に公開していないからです(のちに触れますが,これは決して受験者に意地悪しているのではなく,公平なテスト運用に欠かせないのです)。
TOEICのスコアリングの方法は,実際のところETSが公開していないので,わかりません。これにつきます。Examinee Handbook (直PDF)によれば,
とだけ記されています。つまり,正答数をなんらかの変換を施したものがスコアであり,そのスコア算出にはequatingという処理が施されている,ということです。
よく「TOEICにはIRT(項目反応理論)が使われている」と言われるのですが,そう予想されているだけです(私もそうだと思っていて,まず間違いなくIRTを使っていると思っています。その理由については後述)。
## TOEFLのスコアリングに用いる統計処理について TOEFLに関しては,IRTが使われていることが明言されています。たとえばこの論文の初っ端に「IRTの3PLMっての使ってるで」って書いてあります。
項目反応理論とは,一言でいうと,「個人の能力レベルと項目ごとの難しさなどを考慮して,個人が特定の項目に正答できる確率をモデル化したもの」です。具体的には,
$$ P(\theta) = \gamma + \frac{1-\gamma}{1 + exp(\alpha(\theta - \beta))} $$このようなモデルに基づいています。$\alpha, \beta, \gamma$はそれぞれ項目の識別力,困難度,当て推量のパラメタであり,$\theta$が受験者の能力値を表しています。この$\theta$に基づいてTOEFLのスコアは計算されています。IRTではこの反応確率を$\theta$の関数とみなしたものをICC(Item Characteristic Curve)と呼んでいます。
この$\theta$が重要で,理論上は$[-\infty, \infty]$の区間の任意の値を取ります。しかも困ったことに,$\theta$と$\beta$を線形変換すると,パラメタは異なるのに正当確率が全く同じという組み合わせが無限にできてしまいます。これを尺度の不定性などと呼びます。この尺度の不定性を解決するために,IRTでは一般に「$\theta$の平均を0,標準偏差を1」に固定して,すべてのパラメタを推定します。そうすると,受験者集団の$\theta$が標準正規分布に従っていれば,プラスマイナス4標準偏差の範囲に,ほぼ100%の受験者のスコアが入ってくることになります。すべてのパラメタが推定し終わった後に,$\theta$を任意の平均と標準偏差になるように線形変換すると,TOEFLのような0から1000点満点といったスコアが計算できるのです。
using Interact, Plots, StatsFuns, CSSUtil, ORCA
gr()
@manipulate for α = 0:0.01:3, β = -4:0.01:4, γ = 0:.01:1
θ = [-4:0.001:4;]
prob = γ .+ (1-γ).*logistic.((θ.-β)*α)
plot(θ, prob,
label = "ICC",
xlabel = "theta", ylabel = "Correct probability",
xlims = (-4, 4), ylims = (0, 1))
end
TOEFLのガイドに戻ってみると,統計的な処理=等化(equating)を行っていると書かれています。この等化とは「異なるテスト得点や問題の難易度を比較可能な形に変換すること」です。等化には大きく二種類あり,素点に基づく等化とIRTに基づく等化があります。
そして結論から言うと,等化の精度(precison)は,後者のほうが高い場合がほとんどなのです。なぜならIRTは素点よりもより多くの統計的な仮定をしいており,それが成り立つという条件下で非常に柔軟な等化が実現できるからです。この等化の原理についてかんたんに説明します。
等化の特徴は「線形変換」です。つまり,あるテストのパラメタ$\beta$を$A\beta+K$という風に変換することです。あるいは$\alpha$を$\frac{1}{A}\alpha$と変換する事に当たります。等化の作業ではこの$A$と$K$をなんらかの方法で推定します(たとえばテスト間で共通する$\beta$の平均と標準偏差から推定する)。実はIRTのパラメタは,様々な要因により,完全に同じ項目を異なる集団に実施した場合,異なる数値のパラメタが推定されてしまいます。これでは一見するとパラメタが比較できないようなのですが,このあとで説明する線形変換を利用して,比較可能になるのです。推定方法を説明すると,やや冗長になりますので,ここでは「なぜ線形変換ができるのか」について詳しく説明します。
IRTの$\theta$と$\beta$に関しては以下の性質が成り立ちます。
$$ \theta = A\theta^\ast+K \\ \beta = A\beta^\ast+K $$また,$\alpha$に関しては, $$ \alpha = \frac{\alpha^\ast}{A} $$
が成り立ちます。したがって,この3つの変換式を同時に施せば,IRTの反応確率は不変です。
gr()
@manipulate for A = -10:0.1:10, K = -10:0.1:10
θ = [-4:0.001:4;]
α = 1
β = 1
γ = 0
prob = γ .+ (1-γ).*logistic.(( (θ*A.+K) .- (β*A.+K)).*α./A)
plot(θ, prob,
label = "ICC",
xlabel = "theta", ylabel = "Correct probability",
xlims = (-4, 4), ylims = (0, 1))
end
# 最初にAのスライダーを少し動かさないと関数が表示されません。
上のプロットでは,先ほどの式変形をいろんなAとKで行って見た場合を実演できます。どんな組み合わせであってもICCは不変な様子がわかると思います。
したがって,テストAとテストBの一部に同じテスト項目が少数(たとえば10項目)含まれていれば,それらのパラメタをもとにAとKを計算し,残りの共通しない項目を線形変換することで,理論上は2つのテストのパラメタを完全に同じパラメタに変換できるのです。
なぜややこしい計算をして,$\theta$なんてスコアに換算する必要があるのでしょうか。それは素点が抱える項目依存性に大きく関係しています。