2つの世界が衝突:複雑な調査データにMLを使用


14

私は一見簡単な問題に見舞われていますが、数週間は適切な解決策が見つかりませんでした。

私は、重み、層別化、特定のルーティングなどを備えた複雑に設計された調査と呼ばれるものから来る、非常に多くの世論調査/調査データ(数万の回答者、データセットごとに50kなど)を持っています 各回答者には、人口統計(年齢、地域など)などの数百の変数があり、ほとんどがバイナリ(最大でカテゴリ)変数です。

私はコンピュータサイエンス/機械学習のバックグラウンドから来ており、古典的な調査統計と方法論について多くを学ぶ必要がありました。次に、これらのデータに古典的な機械学習を適用します(たとえば、回答者のサブ​​セットの欠損値の予測-基本的に分類タスク)。しかし、見つめて、私はそれを行う適切な方法を見つけることができません。これらのストラタ、重み、またはルーティングをどのように組み込む必要がありますか(例:質問1がオプション2で答えた場合、質問3を尋ね、そうでなければスキップします)?

モデル(ツリー、ロジスティック回帰、SVM、XGBoost ...)を単純に適用することは、データが単純なランダムサンプルまたはiidからのものであると通常想定しているため、危険なようです(ほとんどの場合失敗します)。

多くのメソッドには少なくとも重みがありますが、あまり役に立ちません。さらに、層別化については言及せず、調査の定義によって与えられた不均衡なクラスと重みをどのように組み合わせるべきかは不明です。さらに、結果モデルは適切に調整する必要があります-予測される分布は元の分布に非常に近いはずです。ここでは、予測の良好なパフォーマンスだけが基準ではありません。これも考慮に入れて最適化メトリックを変更し(真の分布からの予測分布の距離 +精度/ MCCなど)、いくつかのケースで、他のパフォーマンスを損なう理由に役立ちました。

この問題に対処する標準的な方法はありますか?それは私にとって非常に過小評価されている研究分野のようです。IMOの多くの調査はMLの力の恩恵を受けることができますが、情報源はありません。これらのように、相互作用しない2つの世界があります。

私がこれまでに見つけたもの:

関連するCVの質問ですが、これに対処するための有用な答えが含まれていません(答えがない、私が求めているものではなく、誤解を招く推奨事項を提示しています):


ほとんどの場合失敗する」とはどういう意味ですか?この現在の設定でモデルの成功をどのように判断しますか?
usεr11852が復活モニック言う

それらは元のディストリビューションに近くないか、それらを実行することは無意味に思えます(たとえば、ルーティングが含まれている場合)。
kotrfa 16

回答:


3

更新:複雑な調査データを使用した「最新」のMLメソッドに関する作業はまだあまりありませんが、Statistical Scienceの最新号にはいくつかのレビュー記事があります。特にBreidt and Opsomer(2017)、「Model-Assisted最新の予測手法による調査の推定」

また、あなたが言及したTothとEltingeの論文に基づいて、複雑な調査データ用のCARTを実装するRパッケージrpmがあります。

次に、これらのデータに古典的な機械学習を適用します(たとえば、回答者のサブ​​セットの欠損値の予測-基本的に分類タスク)。

私はあなたの目標について完全に明確ではありません。あなたは、他の誰かに与えるための「完全な」データセットを得るために、主に欠落している観測値を補完しようとしていますか?または、すでに完全なデータがあり、新しい観測の応答を予測/分類するモデルを構築したいですか?モデルで回答する特定の質問がありますか、それともデータマイニングをより広く行っていますか?

どちらの場合でも、複雑なサンプル調査/調査加重ロジスティック回帰は合理的で、かなりよく理解されている方法です。3つ以上のカテゴリの順序回帰もあります。これらは層と調査の重みを考慮します。これより手の込んだMLメソッドが必要ですか?

たとえばsvyglm、Rのsurveyパッケージで使用できます。Rを使用していない場合でも、パッケージの作成者であるThomas Lumleyは、調査のロジスティック回帰と欠損データの両方をカバーする有用な書籍「Complex Surveys:A Guide to Analysis Using R」を執筆しました。

(代入については、データの欠落に関する一般的な問題に既に慣れていることを望みます。そうでない場合は、代入ステップが推定/予測にどのように影響するかを説明するのに役立つ複数代入のようなアプローチを検討してください。)

質問のルーティングは確かに追加の問題です。どのように対処するのが最善かわからない。代入のために、ルーティングの「ステップ」を一度に1つ代入することができます。たとえば、グローバルモデルを使用する場合、最初に「あなたは何人の子供がいますか?」に対する全員の答えを暗示します。次に、関連する部分母集団(子供が0人を超える人)で新しいモデルを実行して、「あなたの子供は何歳ですか?」の次のステップを実行します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.