アプリ版:「スタンプのみでお礼する」機能のリリースについて

Stataを使った計量分析をしています。

ある基本となるデータシートAに、追加的に別のシート(B, C, D, ...)をjoinbyコードを使って接合しながら分析をしています。

サンプル数を仮に1,000とします。

基本となるデータシートAには、世帯ID、個人ID、性別の3種類の情報が入っているとします。

世帯ID  個人ID  性別
1     1     1      (1人目)
1     2     2     (2人目)
1     3     1      (3人目)
2     1     1     (4人目)


250     4     1      (1,000人目)

これとデータBをjoin byコードを使って接合するとします。データBには、世帯IDと個人ID、年齢、最終学歴年数が入っているとします。世帯IDと個人IDを使ってjoinするとします。(join by hhid personid データ名) ただし、年齢には欠損値があって、仮に250人の年齢は欠損しているとします。教育は1,000人分あるとします。

世帯ID  個人ID  性別  年齢  教育
1     1     1     45     10     (1人目)
1     2     2     #     7     (2人目)
1     3     1     12     5     (3人目)
2     1     1     39     8     (4人目)


250     4     1     #     6     (1,000人目)

つまり、世帯1個人2さんのように欠損している(#マーク)人が250人と考えます。

もしここで教育年数を、年齢と性別で説明する回帰モデルを考えたとします。

Y=a+b(年齢)+c(性別)+u

そうすると、説明変数の「性別」と被説明変数の「教育」は1,000人フルにあるのに対し、説明変数の「年齢」は750人しかいないために、この回帰分析はn=750になり、250人分のデータが使えずに死んでしまい、データを非効率に使っていることになります。

もし、「年齢」が欠損が250人いたとしても、それ以外の情報はそろっているとしたら、不完全ながらもその250人を回帰分析に使い、サンプルnを1,000人のままにしたいと考えます。

このような場合、年齢についてはどのような処理をしたらいいでしょうか?

A 回答 (1件)

欠測値に適当な値を代入して完全データにする、という手法があることはありますが、あまりにmissingが多すぎるので個人的には勧めたくはないですね。


missing data regressionなどというキーワードを使うといろいろ出てきます。

参考URLも見てください。Multiple Imputationは最近はSASのような統計ソフトでも実装されている手法で、その意味では多重代入法は実用化されていると考えても良いとは思いますが、欠測がランダムであるか、など事前の検討は欠かせません。

MCAR (Missing Completely At Random), MAR (Missing At Random) などの言葉もキーにして調べると良いと思います。

参考URL:http://en.wikipedia.org/wiki/Imputation_(statist …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!