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


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. Спасибо, что дали мне знать. Я исправил ссылку.
Симона
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.