“泊松化”功能是一种有用的方法吗?

机器算法验证 回归 数据转换 套索 正常化 泊松回归
2022-04-19 10:39:54

使用线性 LASSO 回归时,对特征进行归一化是明智的;例如,通过减去特征的样本均值并除以样本标准差:

X=XX¯s

其中 X 是特征列;X¯是该列的平均值,并且s是标准差。由于残差被假定为线性最小二乘回归的高斯X因此转化为XN(0,1).

但现在让我们说我们正在使用泊松回归。我通过实验发现减去平均值没有用。如果我们假设残差具有泊松分布,那么特征列的真实均值和真实方差应该相等。那我们要XPoiss(1),这是通过以下方式实现的:

X=XX¯.

从我的角度来看,这是我正在执行的回归分析的有效“泊松化”;因为当使用这种变换处理特征时,泊松 LASSO 比未变换和归一化的特征提供了更好的结果。

但我试图找到这种转换的一些用途,但我在任何地方都看不到它。我想引用一个在文学中使用这种转换的人;或者解释为什么这是一个坏主意。

1个回答

从技术上讲,听起来您的方法正在尝试“解压”数据。

您通常不会按照您的建议看到回归量的变量变化。这有几个原因:1)您不需要正态分布的回归器,您只需要居中/缩放的回归器,因此 L1-penalty 是在效果大小方面比较苹果与苹果 2)X/X¯没有样本外效度,因为X¯是主观的。3)方差稳定变换 X众所周知,它可以从泊松值中生成更多“正态分布”数据。4) 对数变换类似于平方根,但具有更容易获得的解释。

也就是说,你没有理由不能使用X¯作为方差的插件估计。但是,“中心尺度”变量意味着除以标准误差,而不是方差,所以我建议改为以下转换:

X*=X-X¯X¯

或者,您可以将泊松样本的分位数映射到标准正态分位数上。

就评估您的想法而言,记住一种方法总是好的。这是一个模拟,显示了 Shapiro-Wilk 测试的拒绝率X/X¯相对X在泊松值的样本中。

set.seed(123)
p <- replicate(1e5, {
  x <- rpois(100, 10)
  c(
    'xbarx' = shapiro.test(x/mean(x))$p.value,
    'sqrtx'= shapiro.test(sqrt(x))$p.value
  )
})
rowMeans(p < 0.05)

> rowMeans(p < 0.05)
  xbarx   sqrtx 
0.45866 0.34166 

你可以看到X34% 的时间拒绝空值,而X/X¯46% 的时间拒绝空值:即在 100 个样本中,有更多的统计证据表明X/X¯ is non-normal than the X, putting aside some known issues with the test.

In summary X/X¯ doesn't make the regressor more normal as you say, and normality isn't necessary to begin with.