どのように見つけ、と連続変数のための最適な離散化を評価するために、


9

連続変数とバイナリターゲット変数(0と1)を含むデータセットがあります。

(ロジスティック回帰の)連続変数をターゲット変数に関して離散化する必要があります。また、各区間での観測頻度のバランスをとるように制約されています。Chi Mergeのような機械学習アルゴリズム、決定木を試しました。Chiマージにより、各間隔で非常に不均衡な数の間隔が得られました(3つの観測値を持つ間隔と1000の別の間隔)。決定木は解釈が困難でした。

最適な離散化では、離散化された変数とターゲット変数の間の統計が最大化され、ほぼ同じ量の観測を含む間隔が必要であるという結論に達しました。χ2

これを解決するためのアルゴリズムはありますか?

これはRでは次のようになります(defはターゲット変数、xは離散化される変数です)。私はTschuprowの計算ので、変換され、ターゲット変数間の「相関性」を評価するために、χ 2統計は間隔の数に伴って増加する傾向にあります。これが正しい方法かどうかはわかりません。Tχ2

T

chitest <- function(x){
  interv <- cut(x, c(0, 1.6,1.9, 2.3, 2.9, max(x)), include.lowest = TRUE)
  X2 <- chisq.test(df.train$def,as.numeric(interv))$statistic
  #Tschuprow
  Tschup <- sqrt((X2)/(nrow(df.train)*sqrt((6-1)*(2-1))))
  print(list(Chi2=X2,freq=table(interv),def=sum.def,Tschuprow=Tschup))
}

2
あなたはおそらくこれを知っています。ただし、記録としては、(1)ロジスティック回帰の予測子を離散化する必要はなく、多くの場合は望ましくありません。&(2)応答を使用して予測子を定義すると、モデルの予測パフォーマンスの推定に楽観的なバイアスが生じます。したがって、フィッティング手順全体(つまり、予測変数の作成に使用する方法を含む)を検証することが重要です。
Scortchi-モニカの回復

さて、どのように離散化を検証できますか?これはどのように機能しますか?
シャーロット

たとえば相互検証を使用している場合、各分割で、サンプル全体から決定された予測子の「最適な」離散化を使用してロジスティック回帰を実行するだけでなく、「最適な」離散化も再計算します。
Scortchi-モニカの回復

回答:


8

連続変数を離散化するには多くの可能な方法があります。[Garcia 2013]を参照してください

739ページでは、カイ2乗に基づく少なくとも5つの方法を見ることができました。離散化の最適性は、実際には、離散化変数を使用するタスクによって異なります。この場合、ロジスティック回帰です。また、Garcia2013で説明されているように、タスクが与えられた場合の最適な離散化を見つけることはNP完全です。

ただし、ヒューリスティックはたくさんあります。この論文では、彼らはそれらのうち少なくとも50について議論します。私の機械学習の背景(統計の人々は他のものを好むと思います)を考えると、私はFayyadとIraniの最小記述長(MDL)メソッドに偏っています。Rパッケージの離散化で利用できることを確認します

あなたが言ったように、カイ二乗は多数の間隔に偏っており、(MDLメソッドで使用される情報ゲインとして)他の多くの統計は偏っています。ただし、MDLは、離散化された変数とクラスの情報ゲインと、離散化された変数の複雑さ(間隔の数)の間の適切なトレードオフを見つけようとします。試してみる。


Garcia 2013のリンクが壊れているようです...この記事の詳細を投稿するか、再リンクしますか?
キランK. 2016

2
@KiranK。知らせてくれてありがとうございます。リンクを修正しました。
Simone
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.