具有对数转换结果的多级模型的替代方案

机器算法验证 回归 状态 多层次分析 对数
2022-04-06 03:47:05

我正在使用 Stata 中的线性混合效应模型。数据集包含三个级别的 100k 观测值,嵌套在 500 个区域中,嵌套在 70 个区域中。

目前我的建模策略是使用 lev2 和 lev3 随机截取的三级模型(lev2 嵌套在 lev3 中):

mixed y i.x1 i.x2 || lev3: || lev2:

我的结果 y 被对数转换以使其更加正常(成本数据严重倾斜)。

但是,数据集包含约 2% 的观察结果,其中结果为零且无法进行对数转换。

为了能够处理零结果,我还可以使用什么其他解决方案?


更新 1:在Stata 博客上的这篇文章之后,可能可以使用泊松模型:

meglm y i.x1 i.x2 || lev3: || lev2:, family(poisson) link(log) vce(robust)

但是,此解决方案可能不适用于多级框架。


更新 2:重新审视这个问题,我遇到了几篇使用负二项式回归分析成本的论文。示例可以在这里找到(更多关于PubMed

Langton JM、Reeve R、Srasuebkul P、Haas M、Viney R、Currow D 等。(2016) 有癌症病史的老年死者生命最后 6 个月的健康服务使用和费用:从健康支付者的角度进行的综合分析。Br J 癌症杂志,114(11):1293–302。http://dx.doi.org/10.1038/bjc.2016.75

2个回答

这是反双曲正弦变换 [1]、[2] 的一个很好的用例:

log(y+y2+1)

除了非常小的 y 值外,反正弦值大约等于 log(2yi) 或 log(2)+log(yi),因此它可以以与标准对数因变量完全相同的方式解释。...但与对数变量不同,反双曲正弦定义为零。

  1. http://chrisblattman.com/2011/11/15/if-you-know-what-ln1income-is-and-why-its-a-headache-you-should-read-this-post
  2. http://worthwhile.typepad.com/worthwhile_canadian_initi/2011/07/a-rant-on-inverse-hyperbolic-sine-transformations.html

,在获取变量之前将变量偏移一个常量并不少见。

例如,您可以将变量的所有观测值偏移 1,因此有一个对数转换的变量是一个正数。原始数据集中所有为 0 的观察结果将变为 您可以在此相关问题中找到对此问题的详尽描述。log(0+1)=0