日々の記録簿

日々のできごとの記録

TIMSS

TIMSS報告書で標準誤差はどのように計算されているのか?

投稿日:

TIMSS報告書の標準誤差(PVsを使った場合)は、正規の式による計算ではなく、ショートカット計算になっています。

TIMSSを使った分析をしていて、報告書と数値が合わない・・・となった方の参考になるかもしれません。

TIMSS報告書の標準誤差の計算

PVsを使うとき、最終的な分散は、下記の式で計算される。

  \sigma_{(error)} ^ 2 = \sigma_{\hat{\mu}} ^ 2 + (1.2 \sigma _{(test)} ^ 2)

最終的な分散は、σ(μ)とσ(test)の和である。ここでσ(μ)とσ(test)は、それぞれ次のようになる。

  \sigma _{(test)} ^ 2  = \frac{1}{4}\sum ^ 5_{i=1} (\hat{\mu}_i - \hat{\mu}) ^ 2
まず、σ(test)は、PV1からPV5の推定値の不偏分散である。

Rで計算すると以下のようになる。ここでは、TIMSS2011の日本のデータを用い、小4の科学得点(ASSSCI)の平均値を計算する。

library(foreign)
jp11 <- read.spss("asgjpnm5.sav", use.value.labels=F, to.data.frame=T, use.missings=F)

pv <- paste("ASSSCI0", 1:5, sep="")
se <- sapply(pv, function(i){weighted.mean(jp11[[i]], jp11$TOTWGT)})

var(se) # σ(test)

だいたい、1.35程度の数値になる。続いて、σ(μ)を考える。

  \sigma _{\hat{\mu}} ^ 2 = \frac{1}{5}(\sigma_{(\hat{\mu}_1)} ^ 2 + \sigma_{(\hat{\mu}_2)} ^ 2 + \sigma_{(\hat{\mu}_3)} ^ 2 + \sigma_{(\hat{\mu}_4)} ^ 2 +\sigma_{(\hat{\mu}_5)} ^ 2)
σ(μ)は、PV1からPV5の分散の平均である。

Rで計算すると以下のようになる。

# Replicate Weightを作成し、75回分の平均を計算する関数を作成
jk <- function(x){sapply(1:75, function(i){
             weighted.mean(x,
                           ifelse(jp11[["JKZONE"]]==i,
                                  2 * jp11[["TOTWGT"]] * jp11[["JKREP"]],
                                  jp11[["TOTWGT"]])
                           )
       }
       )
}

rw <- sapply(pv, function(i){jk(jp11[[i]])}) # 75×5回分の計算

v <- mean(sapply(1:5, function(i){sum((rw[,i] - se[i]) ^ 2)})) # σ(μ)

sqrt(v + 1.2 * var(se)) # 正式な値

ところが、この計算では、TIMSSの報告書と値が合わない。

TIMSS報告書では、ショートカットが使用されており、σ(μ)の代用として、PV1のみが使用されているのである。

Rのコードを書くと、次のようになっている。

sum((rw[,1] - se[1]) ^ 2) # これがσ(μ)の代用にされている
sqrt(sum((rw[,1] - se[1]) ^ 2) + 1.2 * var(se)) # 最終的な標準誤差

このショートカット計算は、PISA Data Analysis Manualのp.129にも記載されている。

おそらく、TIMSSが開始された1995年はコンピュータの性能が低く、Replicate Weightsを使ったり、PVsを使ったりすると、計算に時間がかかりすぎるためにショートカットが利用されていたのだろう。

大抵の場合、ショートカットで計算した値は、PV1からPV5を使用したときの標準誤差と、ほとんど変わらないため、大きな問題にはならない。ただ、報告書の値を再現しようとしたときに、このことに気づかないと延々と悩むことになる。

ちなみに、intsvy packageを使った場合は、ショートカット計算の値が適用されるので、報告書の値と一致するはずである。

スポンサーリンク

スポンサーリンク

-TIMSS

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

TIMSSで教員データを使うとサンプルサイズが増えるのはなぜなのか?

11月ころにコメントで質問をいただいていたようで、その解説です。これだけ間が空くと、質問者は既に解決済みかもしれませんが・・・。 TIMSSで教員データを使うとサンプルサイズが増える?! TIMSSで …

RによるTIMSS2011の分析

RによるTIMSS2011の分析方法です。 データの読み込み SPSSデータを読み込むために、foreign packageを読み込みます。 また、RによるTIMSSの分析を可能にするため、intsv …

RによるTIMSS2011の分析(学校・教員ファイルを使う)

RによるTIMSS2011の分析方法(その2)です。今回は、学校・教員ファイルを使った分析を行います。 データの読み込み RによるTIMSSの分析を可能にするため、例によってintsvy packag …

TIMSS2011のTechnical Report

TIMSS2011のTechnical Reportに関するまとめです。量が多いので、要点のみ箇条書きしています。 全文は、Methods and Procedures in TIMSS and PI …

TIMSS2011から公立中学校と国・私立中学校の成績差を見てみる

タイトルのとおりですが、TIMSS2011を利用して、国・私立中学校と公立中学校の成績差を見てみます。 とりあえず、平均点の差を検討する TIMSS2011の学校質問紙や生徒質問紙では、生徒が通ってい …