Как найти и оценить оптимальную дискретизацию для непрерывной переменной с критерием

9

У меня есть набор данных с непрерывной переменной и двоичной целевой переменной (0 и 1).

Мне нужно дискретизировать непрерывные переменные (для логистической регрессии) по отношению к целевой переменной и с ограничением, что частота наблюдений в каждом интервале должна быть сбалансирована. Я пробовал алгоритмы машинного обучения, такие как Chi Merge, деревья решений. Чи слияние дало мне интервалы с очень несбалансированными числами в каждом интервале (интервал с 3 наблюдениями и еще один с 1000). Деревья решений было трудно интерпретировать.

Я пришел к выводу, что оптимальная дискретизация должна максимизировать статистику между дискретизированной переменной и целевой переменной и должна иметь интервалы, содержащие примерно одинаковое количество наблюдений.χ2

Есть ли алгоритм для решения этой проблемы?

Вот как это может выглядеть в R (def - целевая переменная, а x - переменная, подлежащая дискретизации). Я вычислил Чупрова, чтобы оценить «корреляцию» между преобразованной и целевой переменной, потому что статистика χ 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 я мог видеть как минимум 5 методов, основанных на хи-квадрат. Оптимальность дискретизации на самом деле зависит от задачи, в которой вы хотите использовать дискретную переменную. В вашем случае логистическая регрессия. И, как обсуждалось в Garcia2013, поиск оптимальной дискретизации для заданной задачи является NP-полным.

Хотя есть много эвристик. В этой статье они обсуждают по крайней мере 50 из них. Учитывая мой опыт машинного обучения (я думаю, что люди в статистике предпочитают другие вещи), я часто склоняюсь к методу Файяда и Иранской минимальной длины описания (MDL). Я вижу, что это доступно в дискретизации пакета R

Как вы сказали, хи-квадрат смещен в сторону большого количества интервалов, как и многие другие статистические данные (как прирост информации, используемый в методе MDL). Однако MDL пытается найти хороший компромисс между выигрышем информации дискретизированной переменной и классом и сложностью (числом интервалов) дискретизированной переменной. Попробуйте.

Симона
источник
Ваша ссылка Garcia 2013, похоже, не работает ... Не могли бы вы опубликовать более подробную информацию об этой статье или пересылать ссылки?
Киран К.
2
@KiranK. Спасибо, что дали мне знать. Я исправил ссылку.
Симона