660 likes | 946 Views
行動計量学演習II 統計手法アラカルト 2002 欠測値データの分析. 行動計量学研究分野 B 3 松田淑美. 今日の流れ. 欠測値について 分析方法 SPSSで分析 SASで分析 付録. 欠測(値). データがない ‐ missing(value)、 欠損 実験や調査では欠測はつきもの 無回答 トランケーション 打ち切り … etc. 欠測のメカニズム. M issing C ompletely A t R andom (MCAR) どの値が欠測するかは完全にランダム M issing A t R andom (MAR)
E N D
行動計量学演習II統計手法アラカルト2002欠測値データの分析行動計量学演習II統計手法アラカルト2002欠測値データの分析 行動計量学研究分野 B3 松田淑美
今日の流れ • 欠測値について • 分析方法 • SPSSで分析 • SASで分析 • 付録 欠測値データの分析
欠測(値) • データがない‐missing(value)、欠損 • 実験や調査では欠測はつきもの • 無回答 • トランケーション • 打ち切り…etc 欠測値データの分析
欠測のメカニズム • Missing Completely At Random(MCAR) • どの値が欠測するかは完全にランダム • Missing At Random(MAR) • どの値が欠測するかはデータに依存してもよいが、欠測値には依存しない • Nonignorable Missing • どの値が欠測するかは欠測した値(自身に)に依存 欠測値データの分析
で、 分析しようとするとき... • MCARのときは問題ない • 始めからなかったものとして分析しても結論に違いがない→「無視可能」 • NonignorableとMARのときが大変 • Nonignorableはとっても難しい • とりあえずは、MAR • 欠測がある場合の分析は容易ではない 欠測値データの分析
Test of MCAR • Little&Rubin(1987) 「欠測のない個体の第j変量の値Yjの周辺分布」と「欠測のある個体のYjの周辺分布」とを比較. ⇒2つに有意差があれば、MCARの仮定は棄却される. • χ2検定 • 欠測のある個体が少ないときには使えない(使いにくい) • MARの確認はできない 欠測値データの分析
主な分析方法 • 欠測があるデータは取り除き完全データとして分析(Complete-Case Analysis) • 得られたデータを使って分析(Available-Case Analysis) • 欠測に値を代入して完全データの手法を適用(Imputation or Fill-in) • 欠測はそのままモデル化して分析(Direct) • それぞれに長所・短所がある 欠測値データの分析
胸囲・肺活量・身長の全てが観測されているケースをつかう.胸囲・肺活量・身長の全てが観測されているケースをつかう. 一箇所でも欠測のあるケースは無視(削除) -Listwisedeletion Complete-Case Analysis① • 全変数が観測されているケース(個体)を使う 欠測値データの分析
Complete-Case Analysis② • 最も簡単で説得力がある • SAS、SPSSはほとんどこの方法 例外:CORR procedure でもね、 • 分析に使えるデータが減る(もったいない) • 欠測のメカニズムがMCARでないと結論に偏りが生じる ⇒簡単にこの方法を使うのは間違い 欠測値データの分析
利用できる最大限の情報をつかう 各変量ごとの平均などを求める際には得られているデータすべてを使う 2変量間の関係を調べるときは、その2変量がともに得られているケースのデータを使う. ‐Pairwise deletion Available-Case Analysis① 欠測値データの分析
Available-Case Analysis② • 相関係数の問題 • 相関係数の推定に平均や分散を計算しなおす必要 • 相関行列が正定値でなくなる可能性 • n×nの実対称行列Aとx≠0である任意のn×1実ベクトルに対し xTAx>0 となるとき,Aは正定値であるという.(全ての実固有値が正) • 欠測のメカニズムがMCARでないと結論に偏りが生じる ⇒簡単にこの方法を使うのは間違い 欠測値データの分析
Imputation • 欠測箇所に値を代入 ・単一値代入法(single imputation) • 一つの値を代入(平均値など) ・多重代入法、多重補完法(multiple imputation=MI) • 複数個の値を代入し、擬似的な完全データセットを複数個作成 • SASVersion8.1からPROC MI、PROC MIANALYZEで実行可能. • SPSSでも頑張ればできそう... 欠測値データの分析
単一値代入法① • 平均値 • 欠測がMCARでないと平均値自身が偏りをもつ • 平均、分散を過小評価 • Hot Deck法 • 背景データの似ている個体を同じデータセット内から探し、対応する値を用いる • 欠測のメカニズムはどうでもいい • 似たデータを探すのは難しい 欠測値データの分析
単一値代入法② • 回帰による推定値 • 観測データから重回帰式を求め欠測値を回帰予測 • 欠測のメカニズムはMARでよい • 分散を過小評価 • EMによる推定値 • EMアルゴリズムにより最尤推定値をもとめる • 欠測のメカニズムはMARでよい ほかにも いろいろ あります. 欠測値データの分析
単一値代入法→多重代入法 ○単一値代入法 • 推定量のバラツキを過小評価 • 代入された値を実際に観測された値であるとみなして分析 ○多重代入法 • ある一つの欠測値に対して複数回の補完を行うことにより、この不確実性を考慮 欠測値データの分析
3段階から成る 欠測箇所にM個の異なる値を代入し、M個擬似的なデータセットを生成 M個のデータセットそれぞれに、完全データセット用の手法を適用して分析 M種類の分析結果を一つに統合 分析 統合 多重代入法(MI) 欠測値データの分析
Combining Inference① • M個の擬似的な完全データセットを作成し、各データセットから推測対象であるパラメータθの推定値 およびそれらの標本分散U1,…. , UMが得られたとする.このときθの点推定値は算術平均 で与えらる. 欠測値データの分析
Combining Inference② このとき、 標本分散Tは代入内分散(within-imputation variance) および代入間分散(between-imputation variance) を用いて と計算される. 欠測値データの分析
Direct • 欠測値は欠測のまま扱い、モデル化により分析する • 欠測が無視可能でない場合にはそうせざるを得ないことが多い • Mixed Model(混合モデル) 欠測値データの分析
SPSSのお話し できること 方法 出力
SPSS • Missing Value Analysis(MVA)という オプションで欠測データの分析が可能 • できること • 欠測パターンの要約、記述統計 • 欠測の下での基本統計量の算出 • 欠測箇所への代入 などなど... 欠測値データの分析
例:中古車価格のデータ • を欠測値として分析 • 価格が90以上のときの走行距離を欠測に(MAR) 欠測値データの分析
ここ!! どこ??? 欠測値データの分析
[欠損値分析]ダイアログボックス ・変数の選択 ・推定方法の選択 ・EM、回帰による推定方法の細かな指定 欠測値データの分析
① ② ③ 欠測パターンの要約① • 欠損値分析ダイアログボックスの[パターン]をクリック • [続行]→[OK] 欠測値データの分析
欠測パターンの要約‐出力 ① ③ ② 欠測値データの分析
① ② ③ 記述統計① • 欠損値分析ダイアログボックスの[記述統計]をクリック • [続行]→[OK] 欠測値データの分析
記述統計‐出力① 非欠損値数 ① ② 欠測値データの分析
記述統計‐出力② ③ 「車検と走行距離がともに観測されているときの車検の平均値(有効)」と、「車検は観測されているが走行距離が観測されていないときの車検の平均値(欠損)」のt検定 欠測値データの分析
基本統計量の算出① • [欠損値分析]ダイアログボックスで推定方法を選択. • リストごと、ペアごと、EM、回帰. • 選択された手法で基本統計量を推定 • [基本] 平均,共分散,相関係数 • ペアごと:[基本]+度数,標準偏差 • EM:[基本]+LittleのMCAR検定の結果 欠測値データの分析
基本統計量の算出② • 仮定 • この仮定が成立しないときには推定結果が偏ることがある. ・リストごと、ペアごとの推定 →欠測のメカニズムはMCAR ・回帰、EMによる推定 →欠測のメカニズムはMAR 欠測値データの分析
基本統計量の算出③‐EMの場合‐ データ分布についての仮定を指定 指定した回数に達すると収束していなくても終了 今回の場合は50回 欠測値データの分析
基本統計量の算出④‐回帰の場合‐ 回帰法により、回帰推定にランダムな成分を追加 推定過程で使用する独立変数の最大数を設定 欠測値データの分析
LittleのMCAR検定の結果 基本統計量の算出‐出力(EMの場合) 欠測値データの分析
欠測箇所への代入① • 欠測値を回帰、EMの各手法による推定値に置き換える. →新規データファイルに保存[完了データの保存] →今後の分析に使用 欠測値データの分析
欠測箇所への代入② [回帰の場合] ・推定調整-残差 欠測値データの分析
欠測箇所への代入③ [EMの場合] ・データ分布-正規 欠測値データの分析
SASのお話し 多重代入法 PROCMI; PROCMIANALYZE;
SAS • 多重代入法を実行できる • ただし、Version8.1から • MI procedureとMIANALYZE procedure • proc mi; • 複数個の完全データセットを生成 • 欠測メカニズムはMARを仮定 欠測値データの分析
つづき • proc mianalyze; • proc miで生成された擬似的な完全データセットで通常の分析を行った結果をもとに、妥当な統計的推測結果を出力 • ⇒スライド18~20 • オプションいっぱい • 今日は簡単にご紹介 欠測値データの分析
DATAステップ スライド22のデータ DATA missing; INFILE “sample.txt”; INPUT x1 x2 x3 x4; RUN; *x1=価格、x2=走行距離、x3=乗車年数、x4=車検 *欠測には「.(ピリオド)」を入力 sample.txt 89 4.3 5 24 99 . 4 18 128 . 2 23 98 . 3 4 ・・・・・・・・・・ 欠測値データの分析
PROCステップ① PROC MI DATA=missingOUT=miout; VAR x1 x2 x3 x4; RUN; *代入値を生成し、欠測箇所を埋める(補完) →欠測を埋めたデータmiout • default:5個 *代入値の生成方法は3種類 • default:MCMC (Markov Chain Monte Carlo) 欠測値データの分析
NIMPUTE= 幾つのデータを作成するか SEED= 乱数の初期値 MAXIMUM= 代入値の最大値 MINIMUM= 代入値の最小値 EM MAXITER= 最大反復回数 などなど オプションs • ★注意点 • logファイルをきちんと見よう • ひっそりとERRORがでていたりします • 特にEM algorithm 欠測値データの分析
出力 • Model Information • 多重代入の計算の詳細 • Missing Data Patterns Group x1 x2x3 x4 Freq Percent 1 X X X X 5 75.00 2 X . X X 7 25.00 欠測値データの分析
PROCステップ② *ちゃんとデータが読み込まれてるか *補完されたデータを確認 • なくても問題はなし PROC PRINT DATA=miout; RUN; 欠測値データの分析
出力 Obs _Imputation_ x1x2x3 x41 1 89 4.30000 5 242 1 99 7.031524 183 1 128 5.271932 134 1 98 6.533233 45 1 52 4.00000 6 156 1 47 4.80000 8 247 1 40 8.70000 7 3 (中略) ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ 60 5 23 7.20000 8 24 欠測値データの分析
PROCステップ③ PROC REG DATA=miout OUTEST=outreg COVOUT; MODEL x1=x2 x3 x4; BY _IMPUTATION_; RUN; *補完されたデータ(miout)を使って分析 *どんな分析でも可.とりあえず今回は回帰分析(PROC REG). 欠測値データの分析
PROCステップ④ PROC MIANALYZE DATA=outreg; VAR INTERCEPT x2 x3 x4; RUN; *各分析結果をひとつに統合 • スライド18~20参照 欠測値データの分析
出力される結果(要約) • MI推定値(各推定値の平均) • 代入内分散、代入間分散、標本分散(total variance) • 欠測がMI推定値の変動にどれだけ影響しているか • fraction of missing information about θ • relative increase in variance due to nonresponse • ?? 欠測値データの分析
結果の比較① • Listwisedeletionと多重代入法による結果とを比較 欠測なしデータでの分析結果 欠測値データの分析