50 + 60 + 70 + 80) / 4 # 間違い (
[1] 65
大規模学力調査を分析する際には, 標本ウェイト(sampling weight)という 考え方を知っておく必要があります1。 今,生徒数の異なる4つの学校(仮にA校からD校とします)から 20人ずつを抽出したとします(表 8.1)。 抽出された20人の平均点を学校ごとに計算すると, 順に50点・60点・70点・80点だったとしましょう。 ここで,全体の平均点を推定することを考えます。
学校名 | 生徒数 | 平均点 | 抽出確率 | 標本ウェイト |
---|---|---|---|---|
A校 | 150人 | 50点 | \(\frac{20}{150}\) | \(\frac{150}{20}=7.5\) |
B校 | 100人 | 60点 | \(\frac{20}{100}\) | \(\frac{100}{20}=5.0\) |
C校 | 50人 | 70点 | \(\frac{20}{50}\) | \(\frac{50}{20}=2.5\) |
D校 | 20人 | 80点 | \(\frac{20}{20}\) | \(\frac{20}{20}=1.0\) |
全体 | 320人 | ?点 |
単純に4校の成績を平均するのは間違いです。 人数の多いA校も人数の少ないD校も同じように扱ってしまっては, C校やD校の成績が強く反映されてしまい, 実際よりも高めの数値が出てしまうでしょう。
50 + 60 + 70 + 80) / 4 # 間違い (
[1] 65
4校の平均点を計算するという方法の問題点を, 平均の計算式(全員のデータを足して人数で割る)から考えてみましょう。 分子は全員の点数の合計ですから, 50 * 20 + 60 * 20 + 70 * 20 + 80 * 20
になります。 分母は80人ですから80
です。 要するに先ほどの計算は,標本の平均点を計算してしまっているのです。
# 標本の80人の平均点を計算している
50 * 20 + 60 * 20 + 70 * 20 + 80 * 20) / 80 (
[1] 65
全体の平均を推定するには,各学校の生徒数を考慮しなければなりません。 たとえばA校の生徒は150人ですから,そこから選ばれた20名の平均点は, 20人ではなく150人分の情報となります。 同様にB校は100人分,C校は50人分です。 ですから平均を計算する際の分子は, 50 * 150 + 60 * 100 + 70 * 50 + 80 * 20
なのです。 分母は全体の生徒数である320
になります。
50 * 150 + 60 * 100 + 70 * 50 + 80 * 20) / 320 (
[1] 58.125
以上を踏まえたうえで,標本ウェイトの話に入ります。
標本ウェイトとは,標本から得られる情報を 母集団の特性に近づけるために利用される手法です。 標本ウェイトを計算するには,最初に一人ひとりの抽出確率を計算します。 たとえばA校の場合は,150人から20人を選んでいますから, 抽出確率は\(20 \div 150 = \frac{20}{150}\)になります。 同様にC校の場合は,抽出確率は\(20 \div 50 = \frac{20}{50}\)になります。 抽出確率の大きさは,調査に選ばれる可能性を意味します。 A校の生徒は選ばれにくいし,C校の生徒は選ばれやすいということです (そして,D校の生徒は100%選ばれます)2。
ここで標本ウェイトは,抽出確率の逆数になります。 すなわちA校の場合は,\(\frac{20}{150}\)の逆数ですから\(\frac{150}{20}=7.5\)になりますし, C校の場合は,\(\frac{20}{50}\)の逆数で\(\frac{50}{20}=2.5\)になります。 A校の場合は,抽出された1人の点数は7.5人分として考える必要があるし, C校の場合は,抽出された1人の点数は2.5人分として考える必要があるということです。 たとえばA校の平均点(50点)は7.5人分のデータですから, 50 * 7.5
のように7.5倍して利用するのです。 全体の平均の分子は, 50 * 7.5 * 20 + 60 * 5 * 20 + 70 * 2.5 * 20 + 80 * 1 * 20
になります。 分母は7.5 * 20 + 5 * 20 + 2.5 * 20 + 1 * 20 = 320
です。 計算結果は58.125になり,先ほどの計算と一致します。
50 * 7.5 * 20 + 60 * 5 * 20 + 70 * 2.5 * 20 + 80 * 1 * 20) / 320 (
[1] 58.125
LSAにおける標本ウェイトの使い道について,もう少し紹介しておきましょう。 たとえば私立学校と公立学校の学力実態を比べることを考えます。 小学校の場合,私立学校は約200校であり,その割合は 日本の小学校全体(約20000校)の約1%に過ぎません。 ですから母集団から小学校を100校選ぶと,そこに含まれる私立学校の数は せいぜい1〜2校(あるいは0校)になってしまいます。 これでは私立学校の実態を知ることができません。
そこでたとえば公立学校は100校・私立学校は20校を選ぶことにしましょう。 私立学校を過剰に抽出していますので,これを過剰抽出 (oversampling)と呼んだりします。 この場合,公立学校の抽出確率は\(\frac{100}{20000}\)で0.5%ですが, 私立学校の抽出確率は\(\frac{20}{200}\)で10%になります。 これは,「私立学校は公立学校の20倍選ばれやすい」ことを意味します。 当然,私立学校の児童も公立学校の児童の20倍選ばれやすくなります。 この状況で単純に標本で得られた成績のスコアを平均を計算してしまうと, 私立学校の児童の成績を過剰に反映してしまいます。 そこで私立学校の児童には10(0.1の逆数), 公立学校の児童には200(0.005の逆数)のウェイトを与えれば, 母集団の平均を適切に推定できます。
偏ってしまった標本を母集団に近づけるためにウェイトを利用することも可能です。 たとえば標本抽出の結果,まったくの偶然で, 標本は男子が80人・女子が20人になってしまったとしましょう3。 これでは男子の情報を強く反映しすぎる可能性が高いので, 母集団の男女比(おそらく1対1)を考慮して,ウェイトを作成します。 この場合は,80 * 1 = 20 * 4
なので,男子に1・女子に4のウェイトを与えれば, より適切に母集団の状態を把握できると考えられます。
その他,調査では何らかの理由で学校や生徒が調査に参加できないとか, 一部の設問に回答しないとかいった事態は珍しくありませんが, ウェイトはこうした事態(≒データの欠測)の対処にも使えます。 保護者の年収を例に取ると,極端に年収の高い (あるいは低い)人は年収を尋ねる設問には回答しない傾向があるかもしれません。 もしそうであれば,年収の高い人と低い人の標本に高めのウェイトを与えることで, より適切に母集団における保護者の年収を推定できる可能性があります。
以上のように,標本ウェイトにはさまざまな使い道があります。 一般的なLSAのデータセットに含まれている標本ウェイトは, これらさまざまな事情で作成されたウェイトを掛け合わせたウェイトになっています。 普通,ウェイトの作成方法は調査の技術概要書(Technical Report)でその手続きが示されるだけで, 詳細はわからないことが多いようです。 ここには,詳細な手続きを示してしまうと調査対象となった個人や学校が特定されかねない という事情があると思われます。
PISAの場合,個々人のウェイトはW_FSTUWT
という変数に格納されています。 分析の際は,このウェイトを使って推定値を算出する必要があります。 以下では,PISA2012の日本のデータを例に,W_FSTUWT
とその利用法を見てみましょう。
最初に,W_FSTUWT
がどのような変数なのか確認するために, 10人分のウェイトを表示してみます。
<- "https://raw.githubusercontent.com/kawa5902/LSAdata/refs/heads/main/pisa2012stuJPN.csv"
url <- read.csv(url)
jpn2012 $W_FSTUWT[1:10] # 標本ウェイト。最初の10個のみ表示 jpn2012
[1] 179.3596 179.3596 179.3596 188.3276 179.3596 179.3596 179.3596 188.3276
[9] 179.3596 188.3276
順に179.35,179.35・・・と数値が続いているのがわかります。 要は1人目のデータは179.35人分,2人目のデータは179.35人分・・・と解釈していくということです。
ちなみにウェイトを合算すると,PISA調査で対象となった母集団の人数 (約100万人)になります。
sum(jpn2012$W_FSTUWT) # ウェイトを合計すると,日本の15歳の人数になる
[1] 1128179
ウェイトを使って平均を計算する場合は,weighted.mean
関数を利用します。 ここでは,読解リテラシーの平均PV1READ
を計算してみましょう。 参考までにウェイトを利用しない場合の推定値も計算しておきます。
# PV1READの平均
weighted.mean(jpn2012$PV1READ, jpn2012$W_FSTUWT)
[1] 538.1164
# ウェイトなし
mean(jpn2012$PV1READ)
[1] 537.757
PISA2012の日本のデータの場合,ウェイトを利用してもしなくても, それほど大きな差は生じません。 ただ,データによっては大きな差が生じるケースもある4ので, 標本ウェイトは常に利用しておいたほうがよいでしょう。
LSAの分析者が標本ウェイトについて知っておくべきことは,次の2点です。
一つは,分析を行う際は適切なウェイトを利用するということです。 LSAのデータセットには調査設計を反映した複数のウェイトが含まれていることが珍しくありません。 当然ですが,誤ったウェイトを利用すると間違った推定に繋がります。 ですから,個々のウェイトが作成された大まかな経緯と, それぞれのウェイトの使い方を把握しておく必要があります。 こうした情報は,個々のデータセットの利用方法を示した文書に記載されていることが多いので, データを利用する前に目を通しておく必要があります。
もう一つは,適切なソフトウェアを使って分析を行うということです。 世間にはさまざまな統計解析のためのソフトウェアがありますが, そこには標本ウェイトを扱えないものも存在します。 たとえば社会科学で有名なソフトウェアの一つであるSPSSは, Baseパッケージだけでは標本ウェイトを扱えません5。 自身が利用しているソフトウェアが標本ウェイトを扱えるかどうか, 事前に確認しておくことが必要です。
たんにウェイトと呼ばれることもあります。↩︎
実際のLSAでは,所属する子どもの人数に応じて学校の抽出確率が変動する 確率比例抽出(Probabilities Proportional to their Size: PPS)という手法が利用されますので, 個々の生徒の抽出確率はほぼ等しくなります。↩︎
Complex Samplesを利用する必要があります。 なお,Baseパッケージにある「ケースの重み付け」は標本ウェイトを扱うための設定ではありません。↩︎