quantreg를 사용한 곡선 모양 식별에 대한 조언


10

내가 사용하고 quantreg의 데이터 세트 내 값의 99 번째 백분위 수를 사용하여 회귀 모델을 만들기 위해 패키지를. 필자가 요청한 이전의 stackoverflow 질문 에 대한 조언을 바탕으로 다음 코드 구조를 사용했습니다.

mod <- rq(y ~ log(x), data=df, tau=.99)    
pDF <- data.frame(x = seq(1,10000, length=1000) ) 
pDF <- within(pDF, y <- predict(mod, newdata = pDF) )

내 데이터 위에 플롯 된 것을 보여줍니다. ggplot2를 사용하여 점에 대한 알파 값으로 이것을 플로팅했습니다. 내 분포의 꼬리가 내 분석에서 충분히 고려되지 않고 있다고 생각합니다. 아마도 이것은 백분위 수 유형 측정에 의해 무시되는 개별 점이 있기 때문일 것입니다.

의견 중 하나는

패키지 비 네트에는 비선형 Quantile 회귀에 대한 섹션과 스무딩 스플라인 등이 포함 된 모델이 포함되어 있습니다.

이전 질문을 바탕으로 나는 로그 관계를 가정했지만 그것이 올바른지 확실하지 않습니다. 99 백분위 간격으로 모든 점을 추출한 다음 별도로 검사 할 수 있다고 생각했지만 어떻게 해야하는지 잘 모르겠습니다. 이 관계 식별을 개선하는 방법에 대한 조언을 부탁드립니다.

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


사이트에서 이와 같은 데이터 변환에 대해 이미 이야기하고있는 몇 가지 좋은 질문이 있습니다. stats.stackexchange.com/q/1444/1036 또는 stats.stackexchange.com/q/298/1036
Andy W

조건부 중앙값을 추가하기 위해 플롯을 업데이트 할 수 있습니까? 이것은 나에게 데이터 변환 문제보다 양자 교차 문제처럼 보인다 ...
user603

@ user603 조건부 중앙값은 무엇을 의미합니까? (온라인으로 검색했지만 계산 방법을 잘 모르겠습니다)
celenius

rq () 함수에서 tau = 0.5입니다.
user603

1
당신의 목표가 조건부 99 번째 백분위 수를 추정하는 것이라면, 나는 비선형 Quantile 회귀 (일부 R 패키지를 잘 모르겠다)에 투표 할 것입니다. . 실제 목표는하지만, 무엇 내가 17시 1분에서 Spacedman 1월 4일에서 이전의 질문에 의견을 유지 할 수 있도록 나는 아직도 당신의 이전 질문에서 나에게 분명하지 않다
데이비드 M 카플란

답변:


1

모든 모델이 잘못되었지만 일부 모델이 유용합니다 (George Box). 적합 곡선에 로그 모양을 강제하고 있으며 솔직히 그렇게 나쁘지 않습니다. 점이 적기 때문에 꼬리가 잘 맞지 않습니다. 허용 한 두 매개 변수는 대부분의 데이터에 적합합니다. 다시 말해서, 로그 규모에서, 꼬리는 레버리지를 제공하기 위해 대량의 데이터에서 충분히 멀지 않습니다. 회귀의 특징적인 특성과는 관계가 없습니다. OLS는 이러한 점 (특히 로그 스케일)도 무시합니다.

더 많은 비선형 성을 허용하는 것은 매우 쉽습니다. 나는 자연 스플라인에 부분적이지만 모든 모델이 잘못되었습니다.

library(splines)
mod <- rq(y ~ ns(log(x), df=6), data=df, tau=.99)

quantreg이 당신에게 관심사의 경우 패키지는 단조 스플라인에 대한 특별한 후크가 있습니다.

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