为什么我可以根据线性回归的百分比变化来解释对数转换的因变量?

机器算法验证 回归 回归系数 对数 百分比 转换
2022-04-07 18:45:27

查看诸如thisthis之类的资源,您会看到如下声明

“将系数取幂,从这个数字中减去一个,然后乘以 100。这给出了自变量每增加一个单位时响应的百分比增加(或减少)。示例:系数为 0.198。(exp(0.198 ) – 1) * 100 = 21.9。自变量每增加一个单位,我们的因变量就会增加约 22%”。

这个将系数转换为百分比变化的公式似乎是凭空出现的。我不明白为什么这会计算百分比变化。

考虑这个问题,最重要的答案只是陈述了以下结果,它似乎以不同的方式计算相同的东西:

log(DV) = Intercept + B1 * IV + Error 

“IV 增加一个单位与 DV 增加 (B1 * 100)% 相关。”

此外,这个问题有一个答案说

“请记住,将“单位对数变化”解释为“百分比变化”是局部近似值。”

这让我更加困惑。为什么这些公式只产生一个近似值?

所有这些都引出了一个问题……为什么我可以根据线性回归的百分比变化来解释对数转换的因变量?(为什么它只是一个近似值?)

1个回答

假设我们有一个这样的模型:

logy^=β0+β1x

自从exp是的反函数log, 我们做得到:

y^=f(x)=exp(β0+β1x)

现在,当x增长1?f(x)乘以exp(β1)

f(x+1)=exp[β0+β1(x+1)]=exp(β0+β1x)exp(β1)=f(x)exp(β1)

好的,现在多少钱f(x)按百分比增长

(f(x+1)f(x)1)100=(exp(β1)1)100

这解释了将系数转换为百分比变化的公式。直到这里,我们没有使用近似值。现在,如果x是一个足够小的数字,我们可以近似exp(x)1+x. 这种近似称为一阶泰勒展开式exp(x)大约x=0. 如果您将这个近似值替换为coefficientspercent change我们之前发现,你得到:

percent change100β1

那么,当β1是一个很小的数字,您可以直接将其解释为百分比变化 - 但请记住,这只是一个近似值。