У меня есть набор данных с непрерывной переменной и двоичной целевой переменной (0 и 1).
Мне нужно дискретизировать непрерывные переменные (для логистической регрессии) по отношению к целевой переменной и с ограничением, что частота наблюдений в каждом интервале должна быть сбалансирована. Я пробовал алгоритмы машинного обучения, такие как Chi Merge, деревья решений. Чи слияние дало мне интервалы с очень несбалансированными числами в каждом интервале (интервал с 3 наблюдениями и еще один с 1000). Деревья решений было трудно интерпретировать.
Я пришел к выводу, что оптимальная дискретизация должна максимизировать статистику между дискретизированной переменной и целевой переменной и должна иметь интервалы, содержащие примерно одинаковое количество наблюдений.
Есть ли алгоритм для решения этой проблемы?
Вот как это может выглядеть в R (def - целевая переменная, а x - переменная, подлежащая дискретизации). Я вычислил Чупрова, чтобы оценить «корреляцию» между преобразованной и целевой переменной, потому что статистика χ 2 имеет тенденцию к увеличению с числом интервалов. Я не уверен, что это правильный путь.
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))
}
Ответы:
Существует много возможных способов дискретизации непрерывной переменной: см. [Garcia 2013]
На странице 739 я мог видеть как минимум 5 методов, основанных на хи-квадрат. Оптимальность дискретизации на самом деле зависит от задачи, в которой вы хотите использовать дискретную переменную. В вашем случае логистическая регрессия. И, как обсуждалось в Garcia2013, поиск оптимальной дискретизации для заданной задачи является NP-полным.
Хотя есть много эвристик. В этой статье они обсуждают по крайней мере 50 из них. Учитывая мой опыт машинного обучения (я думаю, что люди в статистике предпочитают другие вещи), я часто склоняюсь к методу Файяда и Иранской минимальной длины описания (MDL). Я вижу, что это доступно в дискретизации пакета R
Как вы сказали, хи-квадрат смещен в сторону большого количества интервалов, как и многие другие статистические данные (как прирост информации, используемый в методе MDL). Однако MDL пытается найти хороший компромисс между выигрышем информации дискретизированной переменной и классом и сложностью (числом интервалов) дискретизированной переменной. Попробуйте.
источник