在线性回归中,什么时候使用自变量的对数代替实际值合适?


164

我是否正在为所讨论的自变量寻找更好的行为分布,还是为了减少离群值的影响?


1
您是否在问如何减少离群值的影响或何时使用某些变量的对数?
本杰明·班尼尔

23
我认为OP在说“我听说有人在使用输入变量登录:他们为什么这样做?”
Shane

为什么只是日志?这个问题不应该适用于任何可用于最小化与mx + b相关的残差的数据转换技术吗?
AsymLabs 2013年

1
@AsymLabs-日志在回归中可能是特殊的,因为它是将乘积转换为求和的唯一函数。
概率

12
对读者的警告:该问题询问有关转换IV的问题,但一些答案似乎是在谈论转换DV的原因。不要误以为这些都是改变IV的原因-有些可以,有些当然不是。特别是,IV的分布通常不相关(实际上,DV的边际分布也不是)。
Glen_b

Answers:


168

我总是很犹豫地跳入一个线程,得到如此多的出色响应,但令我惊讶的是,几乎没有答案提供任何理由更喜欢对数而不是“挤压”数据的其他转换,例如根或倒数。

在此之前,让我们以更一般的方式概括现有答案中的智慧。 当以下任一情况适用时,将指示因变量的一些非线性重新表达:

  • 残差分布偏斜。变换的目的是获得近似对称分布的残差(当然约为零)。

  • 残差的扩散会随因变量的值(“异方差”)系统地变化。转换的目的是消除传播中的系统变化,从而获得近似的“同调”。

  • 使关系线性化。

  • 当科学理论表明时。例如,化学方法通常建议将浓度表示为对数(给予活性或什至是众所周知的pH值)。

  • 当更模糊的统计理论建议残差反映“随机误差”时,它们不会累加累积。

  • 简化模型。例如,有时对数可以简化“交互”项的数量和复杂性。

(这些指示可能会相互冲突;在这种情况下,需要进行判断。)

那么,什么时候专门指定对数而不是其他转换呢?

  • 残差具有“强烈”的正偏分布。John Tukey在其有关EDA的书中提供了基于残差的秩统计来估计转换(在Box-Cox族或幂转换之内)的定量方法。确实可以归结为以下事实:如果采用对数对称使残差对称,则这可能是正确的重新表达形式。否则,需要其他一些重新表达。

  • 当残差的SD与拟合值成正比时(而不与拟合值的某些幂成正比)。

  • 当关系接近指数时。

  • 当残差被认为反映了乘积误差。

  • 您确实想要一个模型,其中解释变量的边际变化根据因变量的乘性(百分比)变化来解释。

最后,使用表达式的一些原因

  • 使异常值看起来不像异常值。离群值是不适合数据的简约,相对简单描述的数据。更改描述以使异常值看起来更好通常是对优先级的错误逆转:首先获得对数据具有科学上有效,统计学上良好的描述,然后再探索任何异常值。不要让偶然的异常值决定如何描述其余数据!

  • 因为软件是自动完成的。(说够了!)

  • 因为所有数据都是肯定的。(正性通常意味着正偏度,但不一定如此。此外,其他转换可以更好地工作。例如,根通常对计数的数据最有效。)

  • 要使“不良”数据(也许质量低劣)表现良好。

  • 为了能够绘制数据。(如果需要进行变换才能绘制数据,则可能由于已经提到的一个或多个良好原因而需要进行变换。如果真正地进行变换的唯一原因是进行绘制,请继续进行下去,但只能绘制出数据。不对数据进行转换以进行分析。)


1
诸如某个地区的人口密度,每个学区的儿童教师比例或人口中每千人中的凶杀人数之类的变量又如何呢?我已经看到教授们把这些变量记录下来。我不清楚为什么。例如,凶杀率已经不是一个百分比吗?日志会改变百分比的比率吗?为什么首选儿童教师比例的对数?当没有关于真实函数形式的基础理论时,是否应该对每个连续变量进行对数变换?
user1690130

1
@JG小比率往往具有偏斜的分布;对数和根可能会使它们更加对称。我不理解您与百分比有关的问题:也许您正在混淆百分比的不同用法(一种表示整体的比例,另一种表示相对变化)?我不相信我写过任何提倡始终使用对数的东西-远非如此!所以我不明白你最后一个问题的依据。
Whuber

2
“当残差被认为反映了乘积误差时。” 我在解释这句话时遇到了麻烦。可以用另外一两个句子充实一下吗?您指的是什么积累?
Hatshepsut

@ user1690130,用于比率和密度,通常应将其作为泊松族分布来拟合计数,并应抵消暴露量。例如,人数是计数,而偏移量是该区域的面积。看到这个问题的一个很好的解释- stats.stackexchange.com/questions/11182/...
迈克尔·巴顿

2
@Hatshepsut乘积误差的一个简单例子是体积作为因变量,而每个线性尺寸的测量误差。
abalter

73

我总是告诉学生,采用自然对数来转换变量的三个原因。记录变量的原因将决定您是要记录独立变量还是因变量或两者。为了清楚起见,我正在谈论采用自然对数。

首先,如其他海报所指出的那样,提高模型拟合度。例如,如果您的残差不是正态分布的,那么采用偏斜变量的对数可以通过更改比例并使变量更“呈正态”分布来改善拟合。例如,收入被截断为零,并且经常表现出正偏斜。如果变量具有负偏斜,则可以先取变量,然后再取对数。我在这里特别考虑的是作为连续变量输入的李克特量表。虽然这通常适用于因变量,但您有时会遇到因自变量引起的残差(例如,异方差)问题,有时可以通过取该变量的对数来进行校正。例如,当运行一个模型来解释一组讲师的讲师评估并与班级进行协变量时,变量“班级规模”(即讲课的学生人数)的异常值会导致异方差,因为讲师评估中的方差较小,而较大队列比较小的队列。记录学生变量将有所帮助,尽管在此示例中,计算稳健标准误差或使用加权最小二乘可能会使解释更容易。

在模型中记录一个或多个变量的第二个原因是为了解释。我称此为便利原因。如果同时记录因变量(Y)和自变量(X),则回归系数()将具有弹性,解释将如下所示:X增加1%将导致ceteris paribus% Y的增加(平均)。仅记录回归“方程式”的一侧将导致如下所述的其他解释:ββ β

Y和X-X的单位增加将导致增加/减少β

对数Y和对数X-X增加1%将导致%增加/减少Yβ

对数Y和X-X增加一个单位将导致%增加/减少β100

Y和Log X-X增加1%将导致增加/减少β/100

最后,这样做可能有理论上的原因。例如,我们要估计的一些模型是可乘的,因此是非线性的。采用对数可以通过线性回归估计这些模型。很好的例子包括经济学中的Cobb-Douglas生产函数和教育中的Mincer方程。Cobb-Douglas生产函数解释了如何将输入转换为输出:

Y=ALαKβ

哪里

Y是某个实体(例如公司,农场等)的总生产或产出。

A是总要素生产率(不是由投入(例如,技术变化或天气)引起的输出变化)

L是劳动投入

K是资本投入

βα&是输出弹性。β

取这个的对数可以使函数易于使用OLS线性回归估算,如下所示:

log(Y)=log(A)+αlog(L)+βlog(K)

5
“日志Y和X - X中一个单位的增加将导致Y上β* 100%增加/减少”:我认为这仅适用于β较小,这样EXP(β)≈1 +β
伊达

1
很清楚,谢谢!一个问题,您如何解释对数Y和X情况下的截距?通常我对如何报告对数转换的回归感到困惑...
Bakaburg 2014年

2
我很想回答包含经济学示例的答案[“您在' Cobb-Douglas生产函数 '中让我着] ....不过,有一件事:您应该将第二个等式中的截距项更改为log(A ),使其与第一个方程式保持一致。
史蒂夫·S

100×(eβ1)

21

有关whuber关于将对数优先于某些其他变换(例如,根或倒数)的原因的更多观点,但着重于与其他变换相比,对数变换所产生的回归系数具有独特的可解释性,请参见:

奥利弗·基恩(Oliver N. 日志转换很特殊。1995年医学统计学;14(8):811-819。DOI:10.1002 / sim.4780140810。(可疑合法性PDF可以在http://rds.epi-ucsf.org/ticr/syllabus/courses/25/2009/04/21/Lecture/readings/log.pdf上找到)。

如果将变量x记录 到基数b,则可以将回归系数(和CI)解释为因变量yx b倍增长的变化。(因此,以2为底的对数通常很有用,因为它们对应于xx加倍的y的变化,或者如果x改变许多数量级,则以10为底的对数。)其他转换(例如平方根)没有这种简单的解释。

如果您记录变量y(不是原始问题,而是先前几个答案已经解决的问题),那么我会发现蒂姆·科尔(Tim Cole)的“符号”(Sympercents)概念对于呈现结果很有吸引力(我什至在论文中都使用过一次),尽管它们似乎尚未广泛流行:

蒂姆·科尔(Tim J Cole)。对称百分数:100 log(e)刻度上的对称百分数差异简化了对数转换数据的表示。医学统计学 2000;19(22):3109-3125。DOI:10.1002 / 1097-0258(20001130)19:22 <3109 :: AID-SIM558> 3.0.CO; 2-F [我很高兴Stat Med停止使用SICI作为DOI ...]


1
感谢您的参考和非常好的意见。感兴趣的问题是此问题是否适用于所有转换,而不仅是日志。对我们来说,统计数据/概率是有用的,因为它可以进行有效的性能预测或有效的标准/指导。多年以来,我们一直在使用幂变换(另一个名字的对数),多项式变换和其他方法(甚至是分段变换)来尝试减少残差,收紧置信区间并通常根据给定的数据集提高预测能力。现在我们说这是不正确的吗?
AsymLabs

1
@AsymLabs,布雷曼的两种文化(大致是预测者和建模者)有多分开?cf. 两种文化 -有争议的。
denis 2014年

15

通常,使用输入变量的对数来缩放它并更改分布(例如,使其呈正态分布)。但是,不能盲目地做到这一点。您在进行任何缩放时都必须小心,以确保结果仍可解释。

大多数介绍性统计文本中都对此进行了讨论。您也可以阅读安德鲁·盖尔曼(Andrew Gelman)的论文“通过除以两个标准差缩放回归输入”,对此进行了讨论。在“使用回归和多级/层次模型进行数据分析”的开头,他也对此进行了非常漂亮的讨论。

记录日志不是处理不良数据/异常值的适当方法。


12

当残差有问题时,您倾向于记录数据日志。例如,如果您针对特定协变量绘制残差并观察到增加/减少的模式(漏斗形状),则进行转换可能是合适的。非随机残差通常表示您的模型假设是错误的,即非正常数据。

某些数据类型会自动进行对数转换。例如,在处理浓度或年龄时,我通常会记录日志。

尽管转换并不是主要用于处理离群值,但它们确实有帮助,因为获取日志会挤压数据。


1
但是,仍然使用对数更改模型-对于线性回归,它是y〜a * x + b,对于线性回归,它是y〜y0 * exp(x / x0)。

1
我同意-以log更改您的模型。但是,如果您必须转换数据,则意味着您的模型最初并不适合。
csgillespie 2010年

2
@cgillespie:专心,是的;但是年龄?真奇怪
ub

@whuber:我想这是非常依赖数据的,但是我使用的数据集,您会发现10到18岁之间有很大的差异,而20到28岁之间有很小的差异。即使对于幼儿,0-1岁之间的差异也不等于1-2岁之间的差异。
csgillespie 2010年

1
@landroni简短地说。我不会说它很差,除非它可能是用“例如”代替“ ie”,但我理解“随机”是指“独立且均匀分布”,这确实是最假定的假设。 OLS。在某些情况下,人们还认为该共同的基础分布是正态的,但在实践或理论上并不是严格必须的:所有必要的是相关统计数据的抽样分布接近正态。
ub

10

XXX

XXX3rmsXx

require(rms)
dd <- datadist(mydata); options(datadist='dd')
cr <- function(x) x ^ (1/3)
f <- ols(y ~ rcs(cr(X), 5), data=mydata)
ggplot(Predict(f))  # plot spline of cr(X) against X

X3X


E[Y|X]=f(X)

9

我想回答user1690130的问题,该问题留给了12年10月26日第一个答案的注释,内容如下:“关于某个地区的人口密度或每个学区或学校的儿童师资比等变量,该如何处理?每千人口中的凶杀案数量是多少?我看过教授们采用这些变量的对数。我不清楚为什么。例如,凶杀率已经不是一个百分比吗?对数是否会改变百分比?比率?为什么偏爱儿童教师比率的对数?”

我当时想回答一个类似的问题,并希望分享我的旧统计资料手册(JeffreyWooldridge。2006年。《计量经济学概论-一种现代方法》,第4版。第6章多元回归分析:更多问题,191页)。Wooldridge建议:

以比例或百分比形式显示的变量,例如失业率,退休金计划的参与率,通过标准化考试的学生百分比以及所报告的犯罪的逮捕率- 可以原始形式或对数形式显示, 尽管有以等级形式使用它们的趋势。这是因为任何涉及原始变量的回归系数(无论是因变量还是自变量)都将具有百分比变化解释。如果我们在回归中使用log(unem),其中unem是失业人数的百分比,那么我们必须非常小心地区分百分比变化和百分比变化。请记住,如果unem从8上升到9,这增加了一个百分点,但比最初的失业率增加了12.5%。使用对数意味着我们正在查看失业率的百分比变化:log(9)-log(8)= 0.118或11.8%,这是实际增长12.5%的对数近似值。

基于此,并piggy积Whuber先前对user1690130问题的评论,我将避免使用密度或百分率变量的对数以使解释保持简单,除非使用对数形式会产生重大折衷,例如能够减少密度的偏度或速率变量。


常为百分比(即在(0,1),一分对数是用来变换这是因为比例的数据经常违反残差的正态性假设,在某种程度上比例对数变换不会正确。
科林

3

Shane认为采用日志来处理不良数据的观点是正确的。正如科林(Colin)关于正态残差的重要性一样。在实践中,我发现如果输入和输出变量也相对正常,则通常可以得到正常残差。在实践中,这意味着关注转换后的和未转换的数据集的分布,并确保自己变得更加正常和/或进行正态性检验(例如Shapiro-Wilk或Kolmogorov-Smirnov检验),并确定结果是否更正常。相互影响和传统也很重要。例如,在认知心理学中,通常使用反应时间的对数变换,但是至少对我而言,对对数RT的解释尚不清楚。此外,


2
答案将根据投票进行重新排序,因此请尽量不要参考其他答案。
Vebjorn Ljosa

4
正常性测试通常过于严格。通常它足以获得对称分布的残差。(在实践中,残差往往具有很强的峰值分布,部分原因是我怀疑是估计的假象,因此,无论人们如何重新表达数据,残差都将被测试为“显着”非正态。)
笨蛋

@whuber:同意。这就是为什么我指定“变得更加正常”。目的应该是关注测试统计数据的变化,而不是基于测试的p值的接受/拒绝决定。
russellpierce

应该总是酌情参考其他答案!
abalter

@abalter吗?我不懂
拉塞尔皮尔斯
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.