行動計量学演習II 統計手法アラカルト2002 欠測値データの分析 行動計量学研究分野 B3 松田淑美 今日の流れ • • • • • 欠測値について 分析方法 SPSSで分析 SASで分析 付録 2002/11/27 欠測値データの分析 2 欠測(値) • データがない‐missing(value)、欠損 • 実験や調査では欠測はつきもの – 無回答 – トランケーション – 打ち切り…etc 2002/11/27 欠測値データの分析 3 欠測のメカニズム 1. Missing Completely At Random(MCAR) – どの値が欠測するかは完全にランダム 2. Missing At Random(MAR) – どの値が欠測するかはデータに依存してもよ いが、欠測値には依存しない 3. Nonignorable Missing – どの値が欠測するかは欠測した値(自身に)に 依存 2002/11/27 欠測値データの分析 4 で、 分析しようとするとき... • MCARのときは問題ない – 始めからなかったものとして分析しても結論に 違いがない→「無視可能」 • NonignorableとMARのときが大変 – Nonignorableはとっても難しい – とりあえずは、MAR • 欠測がある場合の分析は容易ではない 2002/11/27 欠測値データの分析 5 Test of MCAR • Little&Rubin(1987) 「欠測のない個体の第j変量の値Yjの周辺分布」と 「欠測のある個体のYjの周辺分布」とを比較. ⇒2つに有意差があれば、MCARの仮定は棄却さ れる. – χ2 検定 – 欠測のある個体が少ないときには使えない(使いにく い) – MARの確認はできない 2002/11/27 欠測値データの分析 6 主な分析方法 1. 欠測があるデータは取り除き完全データと して分析(Complete-Case Analysis) 2. 得られたデータを使って分析(Available-Case Analysis) 3. 欠測に値を代入して完全データの手法を 適用(Imputation or Fill-in) 4. 欠測はそのままモデル化して分析(Direct) • それぞれに長所・短所がある 2002/11/27 欠測値データの分析 7 Complete-Case Analysis① •全変数が観測されているケース(個体)を使う 被験者 胸囲 1 2 3 4 5 6 7 8 9 10 2002/11/27 68 71 72 72 72 76 77 77 84 90 肺活量 身長 2000 1850 2100 1700 2200 2400 2150 2600 139 136 147 142 150 151 152 • 胸囲・肺活量・身長の全 てが観測されているケー スをつかう. • 一箇所でも欠測のある ケースは無視(削除) -Listwise deletion 欠測値データの分析 8 Complete-Case Analysis② • 最も簡単で説得力がある – SAS、SPSSはほとんどこの方法 例外:CORR procedure でもね、 – 分析に使えるデータが減る(もったいない) – 欠測のメカニズムがMCARでないと結論に偏 りが生じる ⇒簡単にこの方法を使うのは間違い 2002/11/27 欠測値データの分析 9 Available-Case Analysis① • 利用できる最大限の情報をつかう 被験者 胸囲 1 2 3 4 5 6 7 8 9 10 68 71 72 72 72 76 77 77 84 90 2002/11/27 肺活量 身長 2000 1850 2100 1700 2200 2400 2150 2600 139 136 147 142 150 151 152 • 各変量ごとの平均などを 求める際には得られてい るデータすべてを使う • 2変量間の関係を調べる ときは、その2変量がとも に得られているケースの データを使う. ‐Pairwise deletion 欠測値データの分析 10 Available-Case Analysis② • 相関係数の問題 – 相関係数の推定に平均や分散を計算しなお す必要 – 相関行列が正定値でなくなる可能性 • n×nの実対称行列Aとx≠0である任意のn×1実ベ クトルに対し xTAx>0 となるとき,Aは正定値であ るという.(全ての実固有値が正) • 欠測のメカニズムがMCARでないと結論に 偏りが生じる 2002/11/27 ⇒簡単にこの方法を使うのは間違い 欠測値データの分析 11 Imputation • 欠測箇所に値を代入 ・単一値代入法(single imputation) – 一つの値を代入(平均値など) ・多重代入法、多重補完法(multiple imputation=MI) – 複数個の値を代入し、擬似的な完全データセットを複 数個作成 – SASVersion8.1からPROC MI、PROC MIANALYZEで実 行可能. – SPSSでも頑張ればできそう... 2002/11/27 欠測値データの分析 12 単一値代入法① • 平均値 – 欠測がMCARでないと平均値自身が偏りをもつ – 平均、分散を過小評価 • Hot Deck法 – 背景データの似ている個体を同じデータセット内 から探し、対応する値を用いる – 欠測のメカニズムはどうでもいい – 似たデータを探すのは難しい 2002/11/27 欠測値データの分析 13 単一値代入法② • 回帰による推定値 – 観測データから重回帰式を求め欠測値を回帰 予測 – 欠測のメカニズムはMARでよい ほかにも いろいろ – 分散を過小評価 • EMによる推定値 あります. – EMアルゴリズムにより最尤推定値をもとめる – 欠測のメカニズムはMARでよい 2002/11/27 欠測値データの分析 14 単一値代入法→多重代入法 ○単一値代入法 • 推定量のバラツキを過小評価 – 代入された値を実際に観測された値であると みなして分析 ○多重代入法 • ある一つの欠測値に対して複数回の補完 を行うことにより、この不確実性を考慮 2002/11/27 欠測値データの分析 15 多重代入法(MI) • 3段階から成る 1. 欠測箇所にM個の異な る値を代入し、M個擬似 的なデータセットを生成 2. M個のデータセットそれ ぞれに、完全データセッ ト用の手法を適用して 分析 3. M種類の分析結果を一 つに統合 2002/11/27 欠測値データの分析 分析 統合 16 Combining Inference① • M個の擬似的な完全データセットを作成し、 各データセットから推測対象であるパラ メータθの推定値 ˆ1 ,ˆM およびそれら の標本分散U1,…. , UMが得られたとする. このときθの点推定値は算術平均 1 M 2002/11/27 M ˆ m m 1 欠測値データの分析 で与えらる. 17 Combining Inference② このとき、 標本分散Tは代入内分散(within-imputation variance) 1 U M M U m 1 m および代入間分散(between-imputation variance) M 2 1 B (ˆm ) M 1 m1 1 を用いて T U (1 M ) B と計算される. 2002/11/27 欠測値データの分析 18 Direct • 欠測値は欠測のまま扱い、モデル化により 分析する • 欠測が無視可能でない場合にはそうせざ るを得ないことが多い • Mixed Model(混合モデル) 2002/11/27 欠測値データの分析 19 SPSSのお話し できること 方法 出力 SPSS • Missing Value Analysis(MVA)という オプションで欠測データの分析が可能 • できること 1. 欠測パターンの要約、記述統計 2. 欠測の下での基本統計量の算出 3. 欠測箇所への代入 などなど... 2002/11/27 欠測値データの分析 21 例:中古車価格のデータ 番号 1 2 3 4 5 6 7 8 9 10 11 12 価格 89 99 128 98 52 47 40 39 38 48 27 23 2002/11/27 走行距離 4.3 1.9 5.2 5.1 4 4.8 8.7 8.2 3.3 3.9 8.2 7.2 乗車年数 5 4 2 3 6 8 7 7 10 6 8 8 車検 24 18 13 4 15 24 3 6 14 0 24 24 欠測値データの分析 • を欠測値と して分析 • 価格が90以上の ときの走行距離 を欠測に(MAR) 22 どこ??? ここ!! 2002/11/27 欠測値データの分析 23 [欠損値分析]ダイアログボックス ・変数の選択 ・推定方法の選択 ・EM、回帰による 推定方法の細かな 指定 2002/11/27 欠測値データの分析 24 欠測パターンの要約① • 欠損値分析ダイアログボックスの[パター ン]をクリック ① ② ③ • [続行]→[OK] 2002/11/27 欠測値データの分析 25 欠測パターンの要約‐出力 b 欠損パターンa ケース ① 集計された パ ターン 完 了 価 年乗 車 距走 数 格 数車 検 離行 ② デ ー タ ハ ゚ター ン (す べての ケース) 欠 損 数 欠 損 % ケースの数 9 9 3 X 12 1% 未満のケースを もつパターン (0 以下) は表示されません。 a. 変数は欠損パターンを もとに並べ替えられています 。 b. このパターンで欠損している 変数 (X とマークされ てい る ) が使用されない場合に完了する ケースの数。 ③ 欠損値と極値のパタ ーン 価 距走 年乗 車 格 離行 数車 検 % ケース 1 0 .0 欠損パ ターン ( 欠損 値を も つ ケー ス) 2 1 25.0 S 3 1 25.0 S 4 欠損値と極値のパタ 1 25.0 S 欠 欠 ーン a 5 0 .0 損 損 6 数 0 .0 価 年乗 車 距走 7 格 数 車 検 離 行 0 .0 ケース 8 0 .0 2 1 25.0 S 9 3 0 .0 1 25.0 S 4 10 1 25.0 S 0 .0 - は最低値を 示すのに対し、+ は最高値を 示します。使用される 範 11 0 .0 囲は (Q1 - 1. 5*IQR, Q3 + 1.5*IQR)です。 12 0 .0 a. ケースと変数は欠損パターンを もとに並べ替えられてい ます。 - は最低値を 示すのに 対し、+ は最高値を 示します。使 )です。 2002/11/27 欠測値データの分析用される 範囲は (Q1 - 1.5*IQR, Q3 + 1. 5*IQR26 記述統計① • 欠損値分析ダイアログボックスの[記述統 計]をクリック ① ② ③ • [続行]→[OK] 2002/11/27 欠測値データの分析 27 記述統計‐出力① 非欠損値数 ① 1 変量 の統計量 極値の数a 欠損 ケースの数 平均値 標準偏差 度数 価格 12 60.6667 33.8240 0 走行距離 9 5.8444 2.1858 3 乗車年数 12 6.1667 2.3290 0 車検 12 14.0833 9.0399 0 a. 範囲外のケース の数 (Q1 - 1.5*IQR, Q3 + 1.5*IQR). ② パーセント .0 25.0 .0 .0 低 高 0 0 0 0 0 0 0 0 指示変 数の不一致 のハ ゚ーセ ン ト 。a ,b 離距行走 走行距離 25.00 対角要素は欠損している パーセントで、対角要素以外は指示変 数の不一致な組合せのパー セントです。 a. 変数は欠損パターンにより並べ替えられます。 b. 5% 未満の欠損値のあ る指示変数は表示されません。 2002/11/27 欠測値データの分析 28 記述統計‐出力② ③ 個別分 散の t 検定a 格価 離距行走数年車乗 検車 t値 -5.4 . 5.6 .6 自由度 3.9 . 5.3 4.9 有効数 9 9 9 9 走 欠損数 3 0 3 3 行 距 平均値(有効) 44.7778 5.8444 7.2222 14.8889 離 平均値(欠損) 108.3333 . 3.0000 11.6667 各量的変数には、グループのペアが指示変数(有効、欠損)によって形 成されます。 a. 5% 未満の欠損のある 指示変数は表示されません。 2002/11/27 欠測値データの分析 「車検と走行距離がと もに観測されていると きの車検の平均値(有 効)」と、「車検は観測さ れているが走行距離 が観測されていないと きの車検の平均値(欠 損)」のt検定 29 基本統計量の算出① • [欠損値分析]ダイアログボックスで推定 方法を選択. – リストごと、ペアごと、EM、回帰. • 選択された手法で基本統計量を推定 – [基本] 平均,共分散,相関係数 – ペアごと:[基本]+度数,標準偏差 – EM:[基本]+LittleのMCAR検定の結果 2002/11/27 欠測値データの分析 30 基本統計量の算出② • 仮定 ・リストごと、ペアごとの推定 →欠測のメカニズムはMCAR ・回帰、EMによる推定 →欠測のメカニズムはMAR • この仮定が成立しないときには推定結果 が偏ることがある. 2002/11/27 欠測値データの分析 31 基本統計量の算出③‐EMの場合‐ データ分布につ いての仮定を指 定 指定した回数に 達すると収束して いなくても終了 今回の場合は 50回 2002/11/27 欠測値データの分析 32 基本統計量の算出④‐回帰の場合‐ 回帰法により、回帰 推定にランダムな 成分を追加 推定過程で使用 する独立変数の 最大数を設定 2002/11/27 欠測値データの分析 33 基本統計量の算出 ‐出力(EMの場合) E M 共分散a 格価 離距行走数年車乗 検車 価格 1144.0606 走行距離 -60.1539 6.5008 乗車年数 -71.7576 3.0525 5.4242 車検 -25.8788 .2280 5.1667 81.7197 a. Little の MCAR 検定: カイ 2 乗 = 8.105, 自由 度 = 3, 確率 = .044 LittleのMCAR 検定の結果 E M 相関係 数a E M 平均値 a 格価 離距行走数年車乗 検車 価格 1.000 走行距離 -.698 1.000 乗車年数 -.911 .514 1.000 車検 -.085 .010 .245 1.000 a. Little の MCAR 検定: カイ 2 乗 = 8.105, 自由 度 = 3, 確率 = .0 44 2002/11/27 格価 離距行走数年車乗 検車 60.6667 5.0498 6.1667 14.0833 a. Little の MCAR 検定: カイ 2 乗 = 8.105, 自由度 = 3, 確率 = .044 欠測値データの分析 34 欠測箇所への代入① • 欠測値を回帰、EMの各手法による推定 値に置き換える. →新規データファイルに保存[完了データ の保存] →今後の分析に使用 2002/11/27 欠測値データの分析 35 欠測箇所への代入② [回帰の場合] ・推定調整-残差 2002/11/27 番号 1 2 3 価格 89 99 128 走行距離 4.3 4 4.3 4 5 6 7 8 9 10 11 12 98 52 47 40 39 38 48 27 23 4.3 4 4.8 8.7 8.2 3.3 3.9 8.2 7.2 欠測値データの分析 乗車年数 5 4 2 3 6 8 7 7 10 6 8 8 車検 24 18 13 4 15 24 3 6 14 0 24 24 36 欠測箇所への代入③ [EMの場合] ・データ分布-正規 2002/11/27 番号 1 2 3 4 5 6 7 価格 89 99 128 98 52 47 40 走行距離 4.3 2.94 1.47 3.58 4 4.8 8.7 8 9 10 11 12 39 38 48 27 23 8.2 3.3 3.9 8.2 7.2 欠測値データの分析 乗車年数 5 4 2 3 6 8 7 7 10 6 8 8 車検 24 18 13 4 15 24 3 6 14 0 24 24 37 SASのお話し 多重代入法 PROC MI; PROC MIANALYZE; SAS • 多重代入法を実行できる – ただし、Version8.1から – MI procedureとMIANALYZE procedure • proc mi; – 複数個の完全データセットを生成 – 欠測メカニズムはMARを仮定 2002/11/27 欠測値データの分析 39 つづき • proc mianalyze; – proc miで生成された擬似的な完全データ セットで通常の分析を行った結果をもとに、 妥当な統計的推測結果を出力 – ⇒スライド18~20 • オプションいっぱい – 今日は簡単にご紹介 2002/11/27 欠測値データの分析 40 DATAステップ DATA missing; INFILE “sample.txt”; INPUT x1 x2 x3 x4; RUN; スライド22のデータ sample.txt 89 4.3 5 24 99 . 4 18 128 . 2 23 98 . 3 4 ・・・・・・・・・・ *x1=価格、x2=走行距離、x3=乗車年数、x4=車検 *欠測には「.(ピリオド)」を入力 2002/11/27 欠測値データの分析 41 PROCステップ① PROC MI DATA=missing OUT=miout; VAR x1 x2 x3 x4; RUN; *代入値を生成し、欠測箇所を埋める(補完) →欠測を埋めたデータmiout – default:5個 *代入値の生成方法は3種類 2002/11/27 欠測値データの分析 – default:MCMC (Markov Chain Monte Carlo) 42 オプションs • NIMPUTE= – 幾つのデータを作成 するか • SEED= – 乱数の初期値 • MAXIMUM= – 代入値の最大値 • MINIMUM= – 代入値の最小値 2002/11/27 • EM MAXITER= – 最大反復回数 などなど ★注意点 •logファイルをきちんと見 よう –ひっそりとERRORがで ていたりします –特にEM algorithm 欠測値データの分析 43 出力 • Model Information – 多重代入の計算の詳細 Data Set Method WORK.MISSING MCMC (以下略) • Missing Data Patterns Group x1 x2 x3 x4 1 X X X X 2 X . X X 2002/11/27 Freq 5 7 Percent 75.00 25.00 欠測値データの分析 44 PROCステップ② PROC PRINT DATA=miout; RUN; *ちゃんとデータが読み込まれてるか *補完されたデータを確認 – なくても問題はなし 2002/11/27 欠測値データの分析 45 出力 Obs _Imputation_ x1 x2 x3 x4 1 1 89 4.30000 5 24 2 1 99 7.03152 4 18 3 1 128 5.27193 2 13 4 1 98 6.53323 3 4 5 1 52 4.00000 6 15 6 1 47 4.80000 8 24 7 1 40 8.70000 7 3 (中略) ・ 60 2002/11/27 ・ ・ 5 ・ ・ ・ ・ 23 7.20000 欠測値データの分析 ・ ・ ・ ・ 8 24 46 PROCステップ③ PROC REG DATA=miout OUTEST=outreg COVOUT; MODEL x1=x2 x3 x4; BY _IMPUTATION_; RUN; *補完されたデータ(miout)を使って分析 *どんな分析でも可.とりあえず今回は回帰分析 (PROC REG). 2002/11/27 欠測値データの分析 47 PROCステップ④ PROC MIANALYZE DATA=outreg; VAR INTERCEPT x2 x3 x4; RUN; *各分析結果をひとつに統合 – スライド18~20参照 2002/11/27 欠測値データの分析 48 出力される結果(要約) • MI推定値(各推定値の平均) • 代入内分散、代入間分散、標本分散(total variance) • 欠測がMI推定値の変動にどれだけ影響してい るか – fraction of missing information about θ – relative increase in variance due to nonresponse – ?? 2002/11/27 欠測値データの分析 49 結果の比較① • Listwise deletionと多重代入法による結果 とを比較 欠測なしデータでの分析結果 Variable intercept x2 x3 x4 2002/11/27 Parameter T for H0: Estimate Parameter=0 Prob>|T| 152.67723 11.20 <.0001 -3.61226 -1.96 0.0856 -12.67218 -7.15 <.0001 0.40053 0.91 0.3902 欠測値データの分析 50 結果の比較② 多重代入法 by SAS Variable intercept x2 x3 x4 Parameter T for H0: Estimate Parameter=0 Prob>|T| 152.428 10.38 <.0001 -4.122 -2.09 0.037 -12.328 -5.97 <.0001 0.462 1.09 0.2747 Listwise deletion Variable intercept x2 x3 x4 2002/11/27 Parameter T for H0: Estimate Parameter=0 Prob>|T| 126.916 5.10 0.0038 -3.922 -1.9 0.1161 -8.904 -2.88 0.0345 0.342 0.74 0.4951 欠測値データの分析 51 結果の比較③ ○結論 • 多重代入法による分析結果のほうが Listwiseによる分析結果よりも欠測なし データでの分析結果に近い 2002/11/27 欠測値データの分析 52 まとめると... ●SPSS versus SAS 欠損値分析に関しては、 • SPSSは – 「敵を知る」ための道具 – 欠測の状況を正確に把握 • SASは – 多重代入法を自由自在に 2002/11/27 欠測値データの分析 53 参考文献 • 岩崎学 不完全データの解析-基礎と実際-応用統 計学会チュートリアルセミナー用資料 • 岩崎学 2002 不完全データの統計解析 エコノミスト社 • R.J.A.Little&D.B.Rubin STATISTICAL ANALYSIS WITH MISSING DATA 1987 John Wiley&Sons,Inc. • SAS OnlineDoc、Version8(Chapter8,9) • SPSS Missing Value Analysis 7.5 と 7.5J 1997 SPSS Inc. 2002/11/27 欠測値データの分析 54 付録 EM algorithm SAS(代入値の生成方法) などなど EM algorithm① • 不完全データの尤度関数を直接最大化す る代わりにEステップ(Expectation Step)と Mステップ(Maximization step)とよばれる 各ステップの反復により最尤推定値をもと める方法. • 各ステップを収束するまで交互に繰り返す. 2002/11/27 欠測値データの分析 56 EM algorithm ② [手続き] • パラメータの初期値θ(0) を適当に定める. – 初期値はComplete,Availableなど簡便な方法 を用いて決定すればよい • Eステップ(Expectation step) – アルゴリズムをt回繰り返して得られたパラ メータベクトルθ(t) を与えたもとで、完全なデー タの対数尤度関数の期待値を計算 2002/11/27 欠測値データの分析 57 EM algorithm ③ • Mステップ(Maximization step) – Eステップで得られた完全なデータに対する対数 尤度関数Q(θ|θ(t)) を最大にするθ(t+1)を求める – 形式的には全てのθに対して Q(θ (t+1) |θ(t)) ≧Q (θ|θ(t)) が成立 • ただし、 – 一般に収束が遅く、精度に関する推定量を直接 得ることができない. 2002/11/27 欠測値データの分析 58 代入値の計算法(SAS) • MCMC method • defaultはこれ – マルコフチェーン+モンテカルロ法 – マルコフチェーンを利用して目的とする確率 分布からの乱数を生成する一般的な方法論 2002/11/27 欠測値データの分析 59 つづき 欠測が単 調ならこれ らの方法も • Regression method 可 • MONOTONE METHOD=REG(RESSION) • 回帰モデルに基づき補完 • Propensity method • MONOTONE METHOD=PROPENSITY • ロジスティック回帰+propensity score+近似的 ベイズ・ブートストラップ法 2002/11/27 欠測値データの分析 60 monotoneな欠測 • 単調(monotone) なパターンの欠測 – 各個体において、第j変量Yjが観測されていれ ば、第k変量Ykも観測されている.(k<j) – 非単調(non-monotone) • 欠測のパターンが単調だと、いろいろと便 利. 2002/11/27 欠測値データの分析 61 要するに • 前が欠測だったら後ろも欠測 番号 1 2 3 4 5 ・・・ Y1 ○ ○ ○ ○ ○ ・・・ Y2 Y3 ・・・ Yp ○ ○ ○ ○ ・・・ 2002/11/27 ○ ○ ○ ○ ○ ○ ・・・ ・・・ ・・・ ⇒ 番号 2 5 4 3 1 ・・・ 欠測値データの分析 Y1 ○ ○ ○ ○ ○ ・・・ Y2 ○ ○ ○ ○ Y3 ・・・ ○ ○ ○ ○ ○ Yp ○ ・・・ ・・・ ・・・ ・・・ 62 !注意! • 代入値の生成方法 METHOD=REGRESSION; Version8.1では、常に間違った結果になっ ています。Version8.2で、このバグは修正さ れている。 2002/11/27 欠測値データの分析 63 SASにおける欠測の今後 • マニュアルのページ数も増加傾向 – 46ページ(Version8.1)→ 72ページ(Version8.2) • V8.2までは、MIとMIANALYZEは「評価版」 → V8.2の次Versionでは、プロダクト版(予定) – 機能もいろいろ追加されるらしい(V8.2) これからは欠測の時代なのでは... 2002/11/27 欠測値データの分析 64 Version8.1のドキュメント • MI procedure – http://www.sas.com/service/techsup/faq/st at_proc/miproc.html • MIANALYZE procedure – http://www.sas.com/service/techsup/faq/st at_proc/mianalyzeproc.html – PDF形式です.英語です. 2002/11/27 欠測値データの分析 65 おわり
© Copyright 2024 ExpyDoc