이 홀수 모양 분포를 모델링하는 방법 (거의 J)


25

아래에 표시된 내 종속 변수는 내가 알고있는 재고 분포와 맞지 않습니다. 선형 회귀는 이상한 Y로 예측 된 Y와 관련하여 다소 비정규의 오른쪽으로 치우친 잔차를 생성합니다 (2 차 플롯). 가장 유효한 결과와 최상의 예측 정확도를 얻을 수있는 변형이나 다른 방법에 대한 제안이 있습니까? 가능한 경우 5 가지 값 (예 : 0, lo %, med %, hi %, 1)으로 분류되는 서투른 피하고 싶습니다.

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오


7
이러한 데이터와 데이터의 출처에 대해 알려주는 것이 좋습니다. 무언가가 간격을 넘어 자연스럽게 확장되는 분포를 고정 시켰습니다 . 데이터에 적합하지 않은 일부 측정 방법 또는 통계 절차를 사용했을 수 있습니다. 정교한 분포 적합 기술, 비선형 재 표현, 비닝 등으로 이러한 실수를 해결하려고 시도하면 오류가 복잡해 지므로 문제를 완전히 회피하는 것이 좋습니다. [0,1]
whuber

2
@whuber-좋은 생각이지만 변수는 불행히도 석재에 놓인 복잡한 관료주의 시스템을 통해 만들어졌습니다. 나는 여기에 관련된 변수의 본질을 공개 할 자유가 없다.
rolando2

1
좋아, 그것은 가치가 있었다. 데이터를 변환하는 대신 회귀 분석을 수행하기 위해 ML 절차의 형태로 클램핑 메커니즘을 인식하고 싶을 수도 있습니다. 이것은 왼쪽 및 오른쪽 검열 된 데이터로 보는 것과 비슷합니다. .
whuber

유니티보다 작은 매개 변수를 사용하여 베타 배포를 시도해보십시오. en.wikipedia.org/wiki/File:Beta_distribution_pdf.svg
Alecos Papadopoulos

2
이러한 유형의 욕조 또는 U 자형 배포판은 잡지 독자층에서 흔히 볼 수 있는데, 많은 사람들이 의사의 사무실이나 출판사와 같은 간행물을 읽거나 구독자 사이에서 모든 문제를 보는 가입자입니다. 여러 의견과 답변이 베타 배포판을 하나의 가능한 솔루션으로 지적했습니다. 내가 잘 알고있는 문헌은 베타 이항 법을 더 잘 맞는 옵션으로 지적합니다.
Mike Hunter

답변:


47

검열 회귀 분석 방법은 이와 같은 데이터를 처리 할 수 ​​있습니다. 그들은 잔차 가 일반적인 선형 회귀에서와 같이 작동 한다고 가정 하지만 수정되었습니다.

  1. (왼쪽 검열) : 데이터와 무관하지만 (사례에 따라 다를 수있는) 낮은 임계 값보다 작은 모든 값은 정량화되지 않았습니다. 그리고 / 또는

  2. (오른쪽 검열) : 데이터와 무관 한 (그러나 경우에 따라 다를 수있는) 높은 임계 값보다 큰 모든 값은 정량화되지 않았습니다.

"정량화되지 않음"은 값이 임계 값 이하 (또는 그 이상)에 해당하는지 여부를 알고 있지만 그 전부입니다.

피팅 방법은 일반적으로 최대 가능성을 사용합니다. 벡터 해당하는 반응 대한 모형 이 다음과 같은 경우YX

YXβ+ε

if 과 PDF (여기서 는 "불량 매개 변수") 와 공통 분포 를 가지며, 검열이 없으면 관측의 로그 가능성 은 다음과 같습니다.εFσfσσ(xi,yi)

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

검열이 존재하면 사례를 세 개의 클래스로 나눌 수 있습니다. 인덱스 ~ 경우, 는 더 낮은 임계 값을 포함하고 왼쪽 검열 된 데이터를 나타냅니다 . 인덱스 내지 에 대해, 가 정량화되고; 나머지 인덱스의 경우, 는 상위 임계 값을 포함하고 올바른 검열 된 데이터를 나타냅니다 . 로그 우도는 이전과 같은 방식으로 얻습니다. 확률의 곱에 대한 로그입니다.i=1n1yii=n1+1n2yiyi

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

이것은 의 함수로 수치 적으로 최대화됩니다 .(β,σ)

내 경험상 데이터의 절반 미만이 검열되면 그러한 방법이 효과적 일 수 있습니다. 그렇지 않으면 결과가 불안정 할 수 있습니다.


다음은 RcensReg패키지 를 사용하여 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))

주목해야 할 주요 사항은 매개 변수입니다. 실제 기울기는 , 실제 절편은 , 실제 오류 SD는 입니다.0.001 0.0050.0050.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.005 0.0050.0010.0050.005

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

로 주어진 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- 값 이 각각의 임계 값으로 이동하여 후자의 플롯을 생성한다는 것입니다. 결과적으로, 검열 된 데이터가 모두 하단과 상단을 따라 정렬되어있는 것을 볼 수 있습니다.0.0100.01

빨간색 실선은 검열 된 데이터에 기반한 검열 된 맞춤 , OLS가 맞는 파선으로 된 파란색 선 입니다. 녹색 점선은 수량화 된 데이터에만 적합합니다. 파란색과 초록색 선이 눈에 띄게 불량하고 빨간색 (검열 된 회귀 적합)의 경우 오른쪽 만 보입니다. 오른쪽의 히스토그램 은이 합성 데이터 세트 의 값이 실제로 질문의 값과 동일 하다는 것을 확인합니다 (평균 = , SD = ). 가장 오른쪽 막대 그래프는 막대 그래프의 중앙 (양자화) 부분을 자세히 보여줍니다.0.0032 0.0037Y0.00320.0037


좋은 답변 (+1). 우리가 두 개의 검열 spkie를 시각적으로 제거한다면, 종속 변수가 기저 데이터가 일부 프로세스의 길이 인 것처럼 지수 분포에 가까운 것으로 보입니다. 이 점을 고려해야할까요?
user603

@ user603 저는 가우스 상완의 일부로 실제로 정량화 된 값을 시뮬레이트했습니다. 실제로 :-). 관련 확률 모델은 반응 변수 자체가 아니라 잔차 와 관련이 있으므로 여기서주의해야 합니다. 비록 조금 까다 롭지 만, 일부 가설 분포에 대한 적합도를 평가하기 위해 검열 된 잔차 그림 및 검열 된 확률 그림을 만들 수 있습니다.
whuber

내 요점은 이중으로 검열 된 가우시안에서, 무수정 된 값의 히스토그램은 다소 평평해야하지만 우리가 0에서 멀어짐에 따라 부드럽게 감소하는 것처럼 보인다.
user603

1
@ user603 아, 아뇨, 그렇지 않습니다. 정량화 된 값의 히스토그램을 직접보십시오. 그것들은 질문에서와 같이 거의 선형으로 아래쪽으로 기울어지는 것처럼 보일 것입니다.
whuber

2
내 데이터 세트에서 검열 된 회귀를 시도했으며 결과는 OLS의 결과보다 교차 검증되었습니다. 내 툴킷에 좋은 추가-thx.
rolando2

9

값이 항상 0과 1 사이입니까?

그렇다면 베타 배포 및 베타 회귀를 고려할 수 있습니다.

그러나 데이터로 이어지는 프로세스를 생각해야합니다. 당신은 또한 0과 1 팽창 모델을 할 수 있습니다 (0 팽창 모델이 일반적입니다, 당신은 아마 자신에 의해 1 팽창 팽창해야 할 것입니다). 큰 차이는 이러한 스파이크가 많은 수의 정확한 0과 1을 나타내거나 0과 1에 가까운 값을 나타내는 경우입니다.

최선의 방법을 찾으려면 현지 통계 전문가 (비공개 계약서와 함께 데이터가 제공되는 위치에 대해 자세히 논의 할 수 있음)와 상담하는 것이 가장 좋습니다.


2
"과정을 생각하는 것"은 좋은 충고입니다. 베타는 히스토그램의 질적 검사를 기반으로 한 유혹 모델이지만 과 사이의 값을 면밀히 살펴보면 베타 분포에서 실질적으로 벗어난다는 것을 알 수 있습니다. 101
whuber

그렇습니다, 항상 0 %에서 1 %의 범위에서… 그리고이 급상승은 실제로 정확히 0 %와 1 %에 있습니다. 제로 또는 제로 및 제로 팽창 모델은 이러한 비계 수 데이터에도 적용 할 수 있습니까?
rolando2

1
부풀린 법선은 0이지만 여기에는 적용되지 않습니다.
Peter Flom-Monica Monica 복원

정확한 0과 1을 갖지만 그 사이에 연속적인 경우 해당 영역 외부에 0이나 1로 반올림 된 기본 연속 분포가있을 수 있습니다.
Greg Snow

4

와 일치에서 그렉 눈의 조언 나는 베타 모델 (A 스미 & verkuilen, 2006 참조 아니라 같은 상황에서 유용 들었어요 더 나은 레몬 스 퀴저 (뿐만 아니라 분위수 회귀) Bottai 등., 2010 )하지만, 이러한 바닥과 천장의 효과가 부적절 할 수 있습니다 (특히 베타 회귀).

또 다른 대안은 검열 된 회귀 모델, 특히 Tobit Model의 유형을 고려하는 것입니다 . 여기서 관측 된 결과는 연속적인 (그리고 아마도 정상적인) 일부 잠재 잠재 변수에 의해 생성되는 것으로 간주됩니다. 히스토그램을 고려할 때이 기본 연속 모델이 합리적이라고 말하지는 않지만 분포 (바닥을 무시)가 장비의 낮은 값에서 더 높은 밀도를 가지며 천천히 더 높은 값으로 감소하는 것을 볼 때 약간의 지원을 찾을 수 있습니다 가치.

운이 좋으면 검열이 너무 극적으로 진행되어 극단적 인 버킷 내에서 유용한 정보를 많이 복구하는 것은 상상하기 어렵습니다. 샘플의 거의 절반이 바닥과 천장 상자에 들어간 것 같습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.