サーベイキャリブレーションの基礎とレーキングアルゴリズム
サーベイ調査において、回収されたサンプルデータが必ずしも調査対象とする母集団の構成比率と一致するとは限りません。このようなサンプルの偏りを補正し、統計的な推定精度を高めるための手法がサーベイキャリブレーション(重み付け調整)です。
本ツール「サーベイウェイト計算ツール」は、レーキング(反復比例適合法:Iterative Proportional Fitting)アルゴリズムを用いて、回答者の個人データを既知の母集団マージン(周辺分布)に適合させます。ユーザーが回答者データと目標とする母集団の割合(%)を入力すると、アルゴリズムが各回答者のウェイトを自動的に調整し、サンプルの周辺分布を目標値に一致させます。
レーキングと事後層化の比較
サンプルの調整手法には、大きく分けて「レーキング」と「事後層化」があります。
- 事後層化(Post-Stratification): 「性別 × 年代 × 地域」のように、すべての変数を掛け合わせた交差セル(セル)ごとに目標値を設定し、一括でウェイトを調整します。しかし、変数の数やカテゴリ数が増えると、サンプル数が0になるセル(空セル)が発生しやすく、計算が破綻する原因になります。
- レーキング(Raking): 各変数のマージン(周辺分布、例えば「性別単独」「年代単独」「地域単独」のそれぞれの割合)のみをターゲットとして使用します。アルゴリズムは、1つの変数マージンを調整した後に次の変数マージンを調整するというサイクルを、すべてのマージンが許容誤差内に収束するまで繰り返します。これにより、交差セルのサンプル数が少ない場合でも、安定してウェイトを算出できます。
基準ウェイトとアウトカムの役割
キャリブレーションを行う際、各回答者の初期値となる「基準ウェイト」を指定できます。
- 基準ウェイト列: 抽出確率の逆数や、事前の無回答調整などを反映した無次元の初期ウェイトです。この列を指定しない場合、すべての回答者の初期ウェイトはデフォルト値の
1として処理されます。 - アウトカム列: キャリブレーション前後の数値変化を比較するための任意の数値列です。アウトカム列を指定すると、「初期ウェイト付き平均値」と「最終ウェイト付き平均値」、およびその「変化量」が算出され、ウェイト調整が主要な調査結果に与えた影響を直接確認できます。
Kishのウェイト効果と有効サンプルサイズ
ウェイト調整はサンプルの偏り(バイアス)を減少させますが、同時に回答者間のウェイトのばらつきを大きくするため、統計的な分散(標準誤差)を増加させるというトレードオフがあります。この精度損失を評価するための指標が「Kishウェイト効果」です。
本ツールでは、以下の数式に基づいて計算を行います。
- 「
‹variable›/‹category›: ファクター = 目標合計 ÷ 現在の合計 =‹target›÷‹current›=‹factor›」 - 「最終ウェイトの平均値が 1 になるように正規化し、その合計が回答者数と等しくなるようにします:Σw = n =
‹count›。」 - 「Kishウェイト効果 = n·Σw² ÷ (Σw)² =
‹count›·‹sumSquares›÷‹sum›² =‹effect›。」 - 「有効サンプルサイズ = (Σw)² ÷ Σw² =
‹sum›² ÷‹sumSquares›=‹effective›。」
「これらのウェイトは、指定されたマージンのみに一致し、指定されていない変数には一致しません。Kishの診断指標はウェイトの不均一性のみを反映しており、クラスター化、層化、または調査全体の分散推定は含まれません。」
データの準備と入力制限
ツールを正しく動作させるためには、以下のフォーマット規則と制限に従ってデータを準備する必要があります。
回答者データ
- フォーマット: ヘッダー行を含み、1行に1回答者のデータを配置したテーブル形式。区切り文字はタブ、セミコロン、またはCSVのカンマに対応しています。
- 制限: 最大 20,000 行、2,000,000 文字まで。ヘッダーに空欄がなく、すべての列名が一意である必要があります。
母集団マージン (%)
- フォーマット: 「変数」「カテゴリ」「目標パーセンテージ」のちょうど3つの列で構成されるテーブル形式。
- 制限: 最大 500 行、最大 6 変数、1変数あたり最大 100 カテゴリまで。各変数の目標パーセンテージの合計は、ちょうど 100% になる必要があります。また、個々の目標値は 0% から 100% の範囲内で指定します。
エラーと警告の診断
計算実行時、データの不整合やアルゴリズムの挙動に応じて、以下のメッセージが表示されます。
- データ構造のエラー: 入力データに不備がある場合、「回答者テーブルには、空欄のないヘッダーを持つ少なくとも2つの名前付き列が必要です。」や「
‹line›行目のセル数は‹actual›個です。ヘッダーは‹expected›個です。」などのエラーが表示されます。 - 「‹variable› / ‹category›」のターゲットは正の値ですが、使用可能なサンプルウェイトがないため、有限の解が存在しません。
- 収束未達成: 設定された「最大反復回数」に達しても「相対許容誤差」を下回らなかった場合、「収束する前に反復上限(
‹iterations›)に達しました。最終ウェイトは診断用に表示されており、キャリブレーションされた結果ではありません。」と表示されます。 - 極端なウェイト: 計算自体は成功しても、ウェイトの最大値と最小値の比率が大きすぎる場合は、「マージンは一致しましたが、最大ウェイトが最小ウェイトの
‹ratio›倍に達しています。使用する前に有効サンプルサイズを確認してください。」という警告が表示されます。
プライバシーとデータ処理
本ツールに入力された回答者データ、母集団ターゲット、および計算されたウェイトなどの情報は、すべてユーザーが使用しているウェブブラウザ内部でローカルに処理されます。データが外部のサーバーに送信またはアップロードされることはありません。
よくある質問 (FAQ)
レーキングとは何ですか?また、マージンが1つだけの場合は事後層化と同じですか?
レーキングは、既知の母集団マージンを一度に1つずつ調整し、後の調整を行った後でも前のマージンが一致するようになるまで、それらを循環的に繰り返します。カテゴリ変数を1つだけ指定した場合は1サイクルで十分であり、各カテゴリは「目標シェア ÷ 現在のシェア」というおなじみの調整を受けます。複数のマージンを指定しても、リストにないそれらの交差組み合わせ(クロス集計)まで強制的に一致させるわけではありません。
基準ウェイトには何を使用すべきですか?
母集団キャリブレーションを行う前のウェイトを使用します。一般的には、調査で必要となる事前の無回答調整を行った後の、各回答者の最終抽出確率の逆数です。確率ウェイトがない場合は、このフィールドを空欄にして全員を 1 から開始してください。これによりキャリブレーションウェイトは作成されますが、便宜的サンプル(有意抽出)が確率サンプルに変換されるわけではありません。
Kishのウェイト効果は、調査設計効果(デフ)のすべてを表していますか?
いいえ。これはウェイトの不均一性に伴う精度損失のみを測定するものです。ウェイトが均一であれば 1 になり、ウェイトのばらつきが大きくなるほど有効サンプルサイズは減少します。クラスター化、層化、有限母集団修正、およびアウトカムとキャリブレーション変数との関連性は、すべて実際の分散を変化させます。標準誤差や信頼区間の算出には、完全な標本設計を認識できるソフトウェアを使用してください。
ターゲットに解が存在しなかったり、収束しなかったりするのはなぜですか?
サンプル回答者が存在しないカテゴリに対して、正のターゲットを設定することはできません。複数の変数がある場合、観察された組み合わせによって、一見問題なさそうなマージン同士が矛盾してしまうこともあります。また、反復上限が極端に少なかったり、開始ウェイトが極端であったりすると、要求された許容誤差に達する前に処理が停止します。ターゲット監査と最悪ターゲットのログで、どこに不一致が残っているかを確認できます。これらの最終ウェイトはキャリブレーションされたものとして扱わないでください。