この質問は一種の一般的で長々としたものですが、どうかご容赦ください。
私のアプリケーションには、多くのデータセットがあり、各データセットは、最大20,000個のデータポイントと最大50個の機能と1つの従属バイナリ変数で構成されています。正規化されたロジスティック回帰(Rパッケージglmnet)を使用してデータセットをモデル化しようとしています
分析の一環として、次のように残差プロットを作成しました。各機能について、その機能の値に従ってデータポイントを並べ替え、データポイントを100個のバケットに分割し、各バケット内の平均出力値と平均予測値を計算します。これらの違いをプロットします。
残差プロットの例を次に示します。
上記のプロットでは、特徴の範囲は[0,1](1の濃度が濃い)です。ご覧のとおり、特徴値が低い場合、モデルは1出力の可能性を過大評価する方向に偏っているように見えます。たとえば、左端のバケットでは、モデルは確率を約9%過大評価しています。
この情報を活用して、このバイアスを大まかに修正するために、機能の定義を簡単な方法で変更したいと思います。交換などの変更
または
これどうやってするの?人間が50個のプロットすべてをすばやくスクロールして変更できるようにする一般的な方法論を探しています。これをすべてのデータセットに対して実行し、頻繁に繰り返して、データが時間の経過とともに最新の状態に維持されるようにします。
一般的な質問として、これは正しいアプローチですか?Googleが「ロジスティック回帰残差分析」を検索しても、実用的なアドバイスが得られても多くの結果は返されません。彼らは、「このモデルはぴったりだろうか?」という質問に答えることに固執しているようです。Hosmer-Lemeshowのようなさまざまなテストを提供して回答します。しかし、私のモデルが良いかどうかは気にしません。もっと良くする方法を知りたいです!