对 log(y) 建模时的反向变换回归结果

机器算法验证 回归 反向转换
2022-01-20 13:01:38

我正在拟合回归log(y). 通过取幂来回溯变换点估计(和置信/预测区间)是否有效?我不相信,因为E[f(X)]f(E[X])但想听听别人的意见。

我下面的示例显示了与反向转换的冲突(.239 与 .219)。

set.seed(123)

a=-5
b=2

x=runif(100,0,1)
y=exp(a*x+b+rnorm(100,0,.2))
# plot(x,y)

### NLS Fit
f <- function(x,a,b) {exp(a*x+b)} 
fit <- nls(y ~ exp(a*x+b),  start = c(a=-10, b=15)) 
co=coef(fit)
# curve(f(x=x, a=co[1], b=co[2]), add = TRUE,col=2,lwd=1.2) 
predict(fit,newdata=data.frame(x=.7))
[1] 0.2393773

### LM Fit
# plot(x,log(y))
# abline(lm(log(y)~x),col=2)
fit=lm(log(y)~x)
temp=predict(fit,newdata=data.frame(x=.7),interval='prediction')
exp(temp)
        fit       lwr       upr
1 0.2199471 0.1492762 0.3240752
1个回答

这取决于你想在另一端获得什么。

转换参数的置信区间转换得很好。如果它在对数尺度上具有标称覆盖率,由于变换的单调性,它将在原始尺度上具有相同的覆盖率。

未来观察的预测区间也可以很好地转换。

对数刻度上的平均值间隔通常不是原始刻度平均值的合适间隔。

但是,有时您可以从对数尺度上的模型准确或近似地得出原始尺度上的平均值的合理估计值。

但是,需要小心,否则您最终可能会生成具有一些令人惊讶的属性的估计值(例如,可能会生成本身不具有总体均值的估计值;这不是每个人都认为的好东西)。

例如,在对数正态的情况下,当你取回指数时,你有一个很好的估计exp(μi),您可能会注意到总体均值是exp(μi+12σ2), 所以你可能会想改进exp(μi^)通过对它的一些估计进行缩放exp(12σ2).

只要人们能够一致地估计调整,至少应该能够通过斯卢茨基定理(特别是乘积形式)获得一致的估计和一些分布渐近线。连续映射定理说,如果你能估计,你就可以σ2始终如一……就是这样。

所以只要σ^2是一致的估计量σ2, 然后 exp(μi^)exp(12σ^2)收敛于分布exp(μi^)exp(12σ2)(然后通过检查将是渐近对数正态分布的)。自从μi^将是一致的μi, bu 连续映射定理,exp(μi^)将是一致的exp(μi),因此我们对原始尺度的平均值有一个一致的估计。

这里

一些相关的帖子:

MLR 模型的反向变换

反向变换

反向转换置信区间