如何为这种奇形分布建模(几乎是反向J型)


25

下面显示的我的因变量不适合我所知的任何股票分布。线性回归会以某种奇怪的方式生成与预测的Y相关的某种非正态,右偏残差(第二个图)。对转换或以其他方式获得最有效结果和最佳预测准确性的任何建议?如果可能,我希望避免将笨拙的分类分为5个值(例如0,lo%,med%,hi%,1)。

在此处输入图片说明

在此处输入图片说明


7
你会过得更好告诉我们这些数据和他们来自:事情已经夹紧分布自然超出区间。您可能使用了一些不太适合您数据的测量方法或统计程序。尝试使用复杂的分布拟合技术,非线性重新表达,合并等来修补此类错误,只会使错误变得更加复杂,因此完全解决该问题将是一个不错的选择。[0,1]
ub

2
@whuber-一个好主意,但是变量是通过一个复杂的官僚体系创建的,不幸的是,它是固定的。我无权透露此处涉及的变量的性质。
rolando2

1
好吧,值得一试。我在想,除了转换数据之外,您可能仍想以ML过程的形式识别钳位机制以进行回归:这类似于将它们视为左向和右向检查的数据。
Whuber

尝试使用参数小于1的beta发行版,en.wikipedia.org
wiki / File:Beta_distribution_pdf.svg

2
这种类型的浴缸或U形分布在杂志读者中很常见,在该杂志中,许多人将阅读一期出版物,例如在医生的办公室中,或者是订阅者,他们看到的每一期出版物之间都有少量读者。一些评论和回应指出beta发行版是一种可能的解决方案。我熟悉的文献指出,β-二项式是更好的选择。
Mike Hunter

Answers:


47

审查回归的方法可以处理这样的数据。 他们假设残差的行为与普通线性回归相同,但已对其进行了修改,以便

  1. (左审查):所有小于下限阈值的值(与数据无关)(但在不同情况下可能有所不同)尚未量化;和/或

  2. (右审查):所有大于高阈值的值都与数据无关(但可能因情况而异),尚未量化。

“未量化”表示我们知道某个值是否低于(或高于)其阈值,仅此而已。

拟合方法通常使用最大似然。当用于响应模型对应于向量X的形式为YX

YXβ+ε

与IID 具有共同分配˚F σ与PDF ˚F σ(其中σ是未知的“多余参数”),然后-在没有审查的-观察的对数似然X ÿ εFσfσσ(xi,yi)

Λ=i=1nlogfσ(yixiβ).

在存在审查的情况下,我们可以将案例分为三类(可能是空的):对于索引n 1y i包含较低的阈值并代表左审查数据。用于索引= Ñ 1 + 1Ñ 2中,ÿ 被量化; 对于其余索引,y i包含较高的阈值并表示已检查的权利i=1n1个yii=n1+1n2yiyi数据。对数似然率的获取方法与之前相同:它是概率乘积的对数。

Λ=i=1n1logFσ(yixiβ)+i=n1+1n2logfσ(yixiβ)+i=n2+1nlog(1Fσ(yixiβ)).

这在数值上是的函数最大化。(β,σ)

以我的经验,在审查少于一半的数据时,这种方法可以很好地工作。否则,结果可能会不稳定。


这是一个R使用censReg软件包的简单示例,说明了即使有大量数据,OLS和审查结果也可能有很大不同。它定性地再现问题中的数据。

library("censReg")
set.seed(17)
n.data <- 2960
coeff  <- c(-0.001, 0.005)
sigma  <- 0.005
x      <- rnorm(n.data, 0.5)
y      <- as.vector(coeff %*% rbind(rep(1, n.data), x) + rnorm(n.data, 0, sigma))
y.cen           <- y
y.cen[y < 0]    <- 0
y.cen[y > 0.01] <- 0.01
data = data.frame(list(x, y.cen))

需要注意的关键参数是:真实斜率是真实截距是0.001真实误差SD是0.0050.0050.0010.005

让我们同时使用lmcensReg来拟合一条线:

fit <- censReg(y.cen ~ x, data=data, left=0.0, right=0.01)
summary(fit)

该审查回归,通过给出的结果print(fit),是

(Intercept)           x       sigma 
  -0.001028    0.004935    0.004856 

0.0010.0050.005

fit.OLS <- lm(y.cen ~ x, data=data)
summary(fit.OLS)

给出的OLS拟合print(fit.OLS)

(Intercept)            x  
   0.001996     0.002345  

summary0.002864

为了进行比较,让我们将回归限制为量化数据:

fit.part <- lm(y[0 <= y & y <= 0.01] ~ x[0 <= y & y <= 0.01])
summary(fit.part)

(Intercept)  x[0 <= y & y <= 0.01]  
   0.003240               0.001461  

甚至更糟!

一些图片总结了这种情况。

lineplot <- function() {
  abline(coef(fit)[1:2], col="Red", lwd=2)
  abline(coef(fit.OLS), col="Blue", lty=2, lwd=2)
  abline(coef(fit.part), col=rgb(.2, .6, .2), lty=3, lwd=2)
}
par(mfrow=c(1,4))
plot(x,y, pch=19, cex=0.5, col="Gray", main="Hypothetical Data")
lineplot()
plot(x,y.cen, pch=19, cex=0.5, col="Gray", main="Censored Data")
lineplot()
hist(y.cen, breaks=50, main="Censored Data")
hist(y[0 <= y & y <= 0.01], breaks=50, main="Quantified Data")

情节

00.01

Y0.00320.0037


好答案(+1)。如果我们要从视觉上删除这两个检查点,对我来说,因变量似乎具有接近指数分布的特性,就好像基础数据是某个过程的长度一样。这是要考虑的事情吗?
user603 2013年

@ user603我用高斯的上臂的一部分模拟了量化值,实际上是:-)。我们在这里必须小心,因为相关的概率模型与残差有关,而与响应变量本身无关。尽管有些棘手,但可以进行残差图甚至概率图的检查,以评估某些假设分布的拟合优度。
whuber

我的观点是有双重审查高斯,他的直方图未经审查的值应该是有点平,但他们似乎轻轻地下降,因为我们离0动
user603

1
@ user603啊,不,不是这样:自己看一下量化值的直方图。就像在问题中一样,它们似乎几乎线性向下倾斜。
ub

2
我尝试对数据集进行删失回归,结果与OLS的结果相比,交叉验证的结果更好。我的工具箱中的一个不错的补充-thx。
rolando2

9

值是否始终在0到1之间?

如果是这样,您可以考虑Beta分布和Beta回归。

但是请确保仔细考虑导致数据的过程。您还可以创建0和1膨胀模型(0膨胀模型是常见的,您可能需要自己扩展到1膨胀模型)。最大的区别是,这些尖峰代表大量精确的0和1,还是仅接近0和1的值。

最好咨询当地的统计人员(达成保密协议,以便您可以讨论数据来源的详细信息)以制定最佳方法。


2
01个

是的,始终在0%到1%的范围内……这些尖峰确实恰好在0%和1%之间。零膨胀或零膨胀和一膨胀模型适用于此类非计数数据吗?
rolando2

1
零膨胀法线,但这在这里不适用。
彼得·弗洛姆

具有精确的0和1,但它们之间是连续的,看起来可能存在潜在的连续分布,该区域外部的值被舍入为0或1。这将是双重审查的情况,并且可以使用该思想来拟合模型。
格雷格·斯诺

4

根据格雷格·斯诺(Greg Snow)的建议,我听说beta模型在这种情况下也很有用(请参阅Smithson&verkuilen,2006,A Better Lemon Squeezer),以及分位数回归(Bottai等人,2010),但是这些地板和天花板效果似乎非常明显,因此可能不合适(尤其是beta回归)。

另一种选择是考虑审查类型的审查回归模型,特别是Tobit模型,在该模型中,我们认为观察到的结果是由某个连续的(可能是正常的)潜在潜变量产生的。考虑到直方图,我不会说这个基础的连续模型是合理的,但是您会发现它的一些支持,因为您看到分布(忽略底部)在较低的工具值处具有较高的密度,并逐渐减小至较高的值价值观。

幸运的是,审查是如此的剧烈,以至于很难想象在极端情况下会恢复很多有用的信息。在我看来,您的样本中几乎有一半落在地板和天花板的垃圾箱中。

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.