Нужна ли стандартизация перед установкой логистической регрессии?

39

Мой вопрос заключается в том, нужно ли нам стандартизировать набор данных, чтобы убедиться, что все переменные имеют одинаковую шкалу, между [0,1], до подбора логистической регрессии. Формула:

ximin(xi)max(xi)min(xi)

В моем наборе данных есть 2 переменные, они описывают одно и то же для двух каналов, но громкость отличается. Скажем, это количество посещений покупателя в двух магазинах, а вот, покупает ли покупатель. Потому что клиент может посетить оба магазина или два раза первый магазин, один раз второй магазин, прежде чем совершить покупку. но общее количество посещений клиентов в первом магазине в 10 раз больше, чем во втором. Когда я подхожу эту логистическую регрессию, без стандартизации coef(store1)=37, coef(store2)=13; если я стандартизирую данные, тогда coef(store1)=133, coef(store2)=11. Что-то вроде этого. Какой подход имеет больше смысла?

Что если я подгоняю модель дерева решений? Я знаю, что модели древовидной структуры не нуждаются в стандартизации, так как сама модель будет как-то ее корректировать. Но проверяю всех вас.

user1946504
источник
10
Вам не нужно стандартизировать, если ваш регресс не регуляризован. Тем не менее, иногда это помогает интерпретируемости и редко вредит.
Алекс
3
Разве это не обычный способ стандартизировать ? xix¯sd(x)
Питер Флом - Восстановить Монику
1
@Peter, это то, что я думал раньше, но я нашел статью benetzkorn.com/2011/11/data-normalization-and-standardization/… >, кажется, что нормализация и стандартизация - это разные вещи. Один - сделать среднее значение 0 дисперсией, другой - изменить масштаб каждой переменной. Вот где я запутался. Спасибо за ваш ответ.
user1946504
7
Для меня стандартизация делает интерпретацию намного сложнее.
Фрэнк Харрелл
2
Чтобы уточнить, что сказал @alex, масштабирование ваших данных означает изменение оптимального коэффициента регуляризации C. Так что вам нужно выбрать Cпосле стандартизации данных.
akxlr

Ответы:

37

Стандартизация не требуется для логистической регрессии. Основная цель стандартизации функций состоит в том, чтобы помочь сближению техники, используемой для оптимизации. Например, если вы используете Ньютона-Рафсона для максимизации вероятности, стандартизация функций ускоряет конвергенцию. В противном случае вы можете запустить свою логистическую регрессию без какой-либо стандартизации обработки функций.

Aymen
источник
Спасибо за ваш ответ. Означает ли это, что стандартизация предпочтительнее? Поскольку мы определенно хотим, чтобы модель сходилась, и когда у нас есть миллионы переменных, проще реализовать логику стандартизации в конвейере моделирования, чем настраивать переменные одну за другой по мере необходимости. Я правильно понимаю?
user1946504
4
это зависит от цели анализа. Современное программное обеспечение может обрабатывать довольно экстремальные данные без стандартизации. Если для каждой переменной есть естественная единица измерения (годы, евро, кг и т. Д.), Я бы не стал стандартизироваться, хотя я могу сменить единицу измерения с кг на, например, тонны или граммы всякий раз, когда это имеет больше смысла.
Мартен Буис
19

@ Аймен прав, вам не нужно нормализовать свои данные для логистической регрессии. (Для получения более общей информации, это может помочь прочитать эту ветку CV: когда вы должны центрировать свои данные и когда вы должны стандартизировать?; Вы также можете заметить, что ваше преобразование чаще называют «нормализацией», см. Как проверить распределение нормализовано? ) Позвольте мне обратиться к некоторым другим пунктам в вопросе.

x01store1133/373.6store211/130.85

Gung - Восстановить Монику
источник
17

Если вы используете логистическую регрессию с LASSO или гребневую регрессию (как Weka Logistic делает класс ), вам следует это сделать. Как указывают Хасти, Тибширани и Фридман (стр. 82 PDF-файла или стр. 63 книги):

Решения гребней не являются эквивалентными при масштабировании входных данных, и поэтому обычно стандартизируют входные данные перед решением.

Также эта тема делает.

Eracle
источник