Методы цензурной регрессии могут обрабатывать такие данные. Они предполагают, что остатки ведут себя как в обычной линейной регрессии, но были изменены так, чтобы
(Левая цензура): все значения, меньшие нижнего порога, который не зависит от данных (но может варьироваться от одного случая к другому), не были определены количественно; и / или
(Правильная цензура): все значения, превышающие высокий порог, который не зависит от данных (но может варьироваться от одного случая к другому), не были определены количественно.
«Не определено» означает, что мы знаем, опускается ли значение ниже (или выше) своего порога, но это все.
Методы подбора обычно используют максимальную вероятность. Когда модель для ответа соответствующего вектору имеет видXYИкс
Y∼ Xβ+ ε
с iid имеющим общее распределение с PDF (где - неизвестные «параметры помех»), то - при отсутствии цензуры - логарифмическая вероятность наблюдений равнаF σ f σ σ ( x i , y i )εFσеσσ( хя, уя)
Λ = ∑я = 1Nжурналеσ( уя- хяβ) .
При наличии цензуры мы можем разделить случаи на три (возможно, пустых) класса: для индексов от до , содержат нижние пороговые значения и представляют данные с левой цензурой ; для индексов к , то количественно; а для остальных индексов содержат верхние пороговые значения и представляют данные с цензурой справа . Логарифмическая правдоподобие получается так же, как и прежде: это логарифм произведения вероятностей.n 1 y i i = n 1 + 1 n 2 y i y iя = 1N1Yяя = н1+ 1N2YяYя
Λ = ∑я = 1N1журналFσ( уя- хяβ) + ∑я = н1+ 1N2журналеσ( уя- хяβ) + ∑я = н2+ 1Nжурнал( 1 - Fσ( уя- хяβ) ) .
( β, σ)
По моему опыту, такие методы могут хорошо работать, когда менее половины данных подвергаются цензуре; в противном случае результаты могут быть нестабильными.
Вот простой 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,005- 0,0010,005
Давайте использовать оба lm
и censReg
чтобы соответствовать линии:
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)
МНК нужным, данное print(fit.OLS)
, является
(Intercept) x
0.001996 0.002345
Даже близко не близко! стандартная ошибка, о которой сообщают, summary
составляет , меньше чем половина истинного значения. Эти смещения типичны для регрессий с большим количеством цензурированных данных.0.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")
Разница между графиками «гипотетических данных» и «цензурированных данных» заключается в том, что все значения y ниже или выше в первом были перемещены в соответствующие пороговые значения для получения последнего графика. В результате вы можете увидеть цензурированные данные, выстроенные вдоль дна и верха.00,01
Сплошные красные линии соответствуют цензуре, пунктирные синие линии соответствуют OLS, обе они основаны только на данных, подвергнутых цензуре . Пунктирные зеленые линии соответствуют только количественным данным. Понятно, что лучше: синие и зеленые линии заметно плохие, и только красная (для цензурной регрессии) выглядит правильно. Гистограммы справа подтверждают, что значения этого синтетического набора данных действительно качественно аналогичны данным в вопросе (среднее = , SD = ). Крайняя правая гистограмма подробно показывает центральную (количественную) часть гистограммы.0,0032 0,0037Y0,00320,0037