« 読了:森脇 (2001) 「生活者」論批判 | メイン | 読了:「わがままちえちゃん」「娘の家出」「鉄楽レトラ」「健康で文化的な最低限度の生活」「いちえふ」「乙嫁語り」「いぬやしき」 »
2015年4月 1日 (水)
消費者調査関連の仕事をしていると、調査データの確率ウェイティング (いわゆる「ウェイトバック集計」)に関する話題が出ることがある。なぜか周期的に巡ってくるような気がする。ものすごく大事なわけではないけどそこそこ大事な話題であり、一般的な話題の割にはきちんとした知識を持つ人が少なく、お金にならない割にはものすごく面倒くさい話題である。
別に専門家になるつもりはないのだけれど(つもりがあっても能力的に無理だ)、それなりの理論武装はしておきたいので、なにか機会があるたびに、適当な関連資料に目を通すことにしている。まとめて読むのはつらい話題だし。
Kalton, G., & Flores-Cervantes, I. (2003) Weighting Methods. Journal of Official Statistics, 19(2), 81-97.
というわけで、誰かがお勧めしていた、ウェイト値の作り方についてのレビュー論文。
ウェイティングには一般に次の3つのステージがある。
- 抽出フレームに照らしたウェイト値の決定。これは単純で、抽出確率の逆数に比例した値であればなんでもよい。この論文のテーマではない。
- 無回答の調整。なんらかの補助情報をつかって、回答者・無回答者を通じて似た人をまとめ、無回答者の分だけ回答者のウェイトを増やす。
- 事後層別。たとえば、性別x年代の既知の分布に調査結果をあわせる、というような。
ステージ2, 3の主目的は非回答・非カヴァレッジによるバイアスの除去である。しかしウェイトの分散が増し推定値の精度が下がってしまう。無回答の場合には、個体$i$のウェイト値を$w_i$として$F=1 + CV(w_i)$を評価することが多い(以下、分散インフレーション・ファクターと呼ぶ)。
さて、無回答の調整や事後層別のためのウェイト値をどうやって作るか。
例として、補助変数A(4水準)とB(3水準)があって、標本の同時分布(AxBのクロス表のことね)と母集団の同時分布がわかっているとしよう。さあいくぞ!歯を食いしばれ!!
- セル・ウェイティング。3x4=12個のセルそれぞれについて、標本と母集団の比を求める。たとえばあるセルのサイズが標本で20, 母集団で80だとしたら、そのセルのウェイトは4.0。
無回答の調整の場合でいえば、この方法の背後には、あるセルの無回答者の値はそのセルの回答者の値で表現されている、という発想がある。回答の生起確率は同一セル内では同じだと思っているわけで、欠損値の分析でいうところのMARを仮定しているわけである。セル・ウェイティングはMARしか仮定していないのが特徴。各セルを通じた無回答の発生確率についてはなんの想定も置いていない点に注目せよ。
この方法の欠点は、いうまでもなく、ウェイト値の分散が大きくなっちゃうという点である。 - レイキング。反復比例フィッティングで周辺分布だけを合わせる。まず標本側の行和を母集団側の行和に合わせ、次に標本側の列和を母集団側の列和に合わせ... というのを収束するまで繰り返すわけである。
無回答の調整の場合でいえば、この方法の背後には、(1)回答確率はセル内では等しい、(2)あるセルの回答確率はその行の効果とその列の効果の積だ、という発想がある。
この手法の良い点は、ウェイト値の分散が小さいという点だが、その代償に(2)の仮定を受け入れているわけで、それがよいことかどうかは良く考える必要がある。[←なるほどー]
なお、ここで述べたのはraking法のひとつであるraking ratio法である。より一般的な定式化についてはDeville et al.(1993 JASA)をみよ。 - 線形ウェイティング。これも補助変数の周辺分布だけを合わせる方法だが、合わせ方がちょっとちがう[詳細は書いてない。上のDeville et al.を読むといいらしい]。負のウェイトが生じてしまうことがあるのが欠点。
- GREGウェイティング(GREGとは一般化回帰推定量の略)。補助変数の分布を合わせるんじゃなくて、なにかの量的変数のウェイティングした標本推定値を母集団に合わせる。たとえば、Aの4水準(A1, A2, A3, A4)の代わりに1,2,3,4という値を持つ量的変数A、Bの3水準(B1,B2,B3)の代わりに1,2,3という値を持つ量的変数Bがあるとしよう。で、標本におけるAのウェイティングしていない平均が2.5, Bのウェイティングしていない平均が2.27となり、いっぽう母集団ではAの平均が2.63, Bの平均が2.24になったとしよう。ウェイティングした平均が2.63, 2.24になるようなウェイトを考えましょう、という発想である。
- ロジスティック回帰ウェイティング。これは無回答調整から生まれた発想で、無回答の確率をA, Bでモデル化し、そのモデルで予測された回答確率の逆数をウェイト値にする。A, Bが両方カテゴリカルだったらレイキングに近いウェイト値になる。でも量的変数も扱えるし、交互作用項をいれるのもレイキングより簡単である。ただし、周辺分布が母集団と一致するとは限らない。
- セル・ウェイティングと他の手法の混合。たとえば、サイズがある閾値より大きなセルについてはセル・ウェイティングし、残ったセルについては大きなセルを取り除いた上でレイキングする、とか。
さて、ウェイト値をつくった結果、分散インフレーションファクター$F$が大きくなっちゃったときはどうすればよいか。
一般には、極端なウェイト値をトリミングしたり(ウェイト値の上限を定め、それを超えたらそれに切り詰める)、セルを併合したりするわけだが、どちらも副作用がある。つくったウェイト値のなかで極端な奴を修正するより、最初から極端な奴がでないようにウェイト値をつくったほうが良い。そういう方法を提案した人がいて(ロジット法とトランケーテッド線形法)、CALMARというSASマクロがある。
補助変数がいっぱいあって、選択したいときにはどうすればいいか。
無回答調整の場合で考えると、要するに、セル間で回答確率が異なりかつ集計対象変数の分布も異なるようなセルがほしいわけである。集計対象の変数はふつう一杯あるから、結局は回答有無を説明するロジスティック回帰なり決定木なりをつくるときにどんな変数を選ぶか、という話に帰着する。
いっぽう事後層別の場合では、そもそも補助変数を選ぼうという話にならない(なんらかの補助変数についての外的な目標分布があって、それに合わせようとするわけだから)。むしろ、集計対象の変数とその補助変数との関係が強いかどうかが問題になる。
後半は事例紹介: 米農業省のNational Food Consumption Surveyと米センサス局のThe Survey of Income and Program Participation. 略。
まとめ。
ウェイティング手法はいろいろ発展しているが、いずれにせよ、非カバレッジが大きい状況で「ウェイティングで目標分布に合わせよう」なんてことをやっていると精度が下がっちゃう。ウェイト値の分散を大きくしないこと。
ウェイト値の作り方はいろいろあるけど、まあどれも似たようなものである。それよか補足変数の選び方のほうが大事だ。さらに、ウェイト値の作り方の背後にある統計モデルに注意しなさい。
推定値の分散について考える際には、ウェイティングの効果を定数だと思わないこと[←おおっと、これはつまりSPSS Data Collection的なやり方に喧嘩を売っているわけね...]。ジャックナイフ推定とかでいちいち検討するように。
勉強になりましたですが... GREGウェイティングっていまいちピンとこないなあ。よっぽど暇になったら勉強しよう。
論文:データ解析(2015-) - 読了:Kalton & Flores-Cervantes (2003) 「ウェイトバック集計」のためのウェイト値のつくりかた