在进行逻辑回归之前需要标准化吗?


39

我的问题是,在拟合逻辑回归之前,我们是否需要标准化数据集以确保所有变量在[0,1]之间具有相同的标度。公式为:

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

我的数据集有2个变量,它们针对两个通道描述相同的事物,但是数量不同。假设这是两家商店的顾客拜访次数,这里是顾客是否购物。因为客户可以在购物之前访问两个商店,或者两次访问第一家商店,所以第二次访问一次。但是第一家商店的客户访问总次数是第二家商店的10倍。当我适合这个逻辑回归,没有标准化, coef(store1)=37, coef(store2)=13; 如果我将数据标准化,则coef(store1)=133, coef(store2)=11。这样的事情。哪种方法更有意义?

如果我适合决策树模型怎么办?我知道树结构模型不需要标准化,因为模型本身会以某种方式对其进行调整。但是请与大家一起检查。


10
除非对回归进行正则化,否则无需进行标准化。但是,它有时有助于解释,很少受到伤害。
Alex

3
标准化\ frac {x_i- \ bar {x}} {sd(x)}的常用方法不是xix¯sd(x)吗?
彼得·弗洛姆

1
@Peter,这就是我以前的想法,但是我发现了一篇文章benetzkorn.com/2011/11/data-normalization-and-standardization / ... >,看来规范化和标准化是不同的事情。一种是使均值0方差为1,另一种是重新缩放每个变量。那就是我感到困惑的地方。感谢您的回复。
user1946504

7
对我而言,标准化使解释变得更加困难。
Frank Harrell 2013年

2
为了澄清@alex所说的内容,缩放数据意味着最佳正则化因子会C发生变化。因此,您需要C在数据标准化后进行选择。
akxlr

Answers:


37

逻辑回归不需要标准化。标准化功能的主要目标是帮助优化技术的融合。例如,如果使用Newton-Raphson来使可能性最大化,则对特征进行标准化可以使收敛更快。否则,您可以运行逻辑回归,而无需对功能进行任何标准化处理。


感谢您的回复。这是否意味着首选标准化?由于我们确实希望模型收敛并且当我们有数百万个变量时,在建模管道中实施标准化逻辑比按需对变量进行逐一调整要容易得多。我理解正确吗?
user1946504

4
这取决于分析的目的。现代软件可以处理非常极端的数据而无需标准化。如果每个变量都有一个自然单位(年,欧元,公斤等),那么我会犹豫要进行标准化,尽管我会随时将单位从公斤更改为例如吨或克,只要这样更有意义。
Maarten Buis 2014年

19

@Aymen是正确的,您无需标准化数据即可进行逻辑回归。(有关更多一般信息,可能有助于通读此CV线程:何时应将数据居中和何时进行标准化?;您可能还注意到,转换通常被称为“规范化”,请参见:如何验证分布是否被归一化?)让我解决问题中的其他问题。

在这里值得注意的是,在逻辑回归中,您的系数表明预测变量中的一个单位变化对“成功”的对数几率的影响。转换变量(例如通过标准化或规范化)的作用是在模型的上下文中更改我们所谓的“单元”。您的原始数据在原始指标中跨一定数量的单位而变化。标准化后,数据范围为到。也就是说,现在改变一个单位意味着从最低价值的观察到最高价值的观察。对数成功几率的增加量没有改变。根据这些事实,我怀疑您的第一个变量()跨度x01store1133/373.6原始单位,而您的第二个变量(store2)仅跨原始单位。 11/130.85


17

如果将Logistic回归与LASSO或ridge回归一起使用(如Weka Logistic类所做的那样),则应该这样做。正如Hastie,Tibshirani和Friedman指出的(pdf的第82页或本书的第63页):

脊解决方案在输入的缩放比例下不是等变的,因此通常在解决之前先标准化输入。

同时线程执行。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.