Quantile 모델링의 모델 성능


14

나는 중간 회귀에 중점을 두지 않고 대신 높은 양자 (예 : 75 번째) 를 통해 Quantile Regression (예 : via gbm또는 quantregR)을 사용하고 있습니다. 예측 모델링 배경에서 모델이 테스트 세트에 얼마나 적합한 지 측정하고이를 비즈니스 사용자에게 설명 할 수 있기를 원합니다. 내 질문은 어떻게? 연속 대상이있는 일반적인 설정에서 다음을 수행 할 수 있습니다.

  • 전체 RMSE 계산
  • 예측 된 값으로 데이터 세트를 디케이 팅하고 실제 평균을 각 디클에서 예측 된 평균과 비교합니다.
  • 기타.

이 경우 예측을 비교할 실제 값이없는 경우 (최소한 생각하지 않음) 어떻게해야합니까?

예제 코드는 다음과 같습니다.

install.packages("quantreg")
library(quantreg)

install.packages("gbm")
library(gbm)

data("barro")

trainIndx<-sample(1:nrow(barro),size=round(nrow(barro)*0.7),replace=FALSE)
train<-barro[trainIndx,]
valid<-barro[-trainIndx,]

modGBM<-gbm(y.net~., # formula
            data=train, # dataset
            distribution=list(name="quantile",alpha=0.75), # see the help for other choices
            n.trees=5000, # number of trees
            shrinkage=0.005, # shrinkage or learning rate,
            # 0.001 to 0.1 usually work
            interaction.depth=5, # 1: additive model, 2: two-way interactions, etc.
            bag.fraction = 0.5, # subsampling fraction, 0.5 is probably best
            train.fraction = 0.5, # fraction of data for training,
            # first train.fraction*N used for training
            n.minobsinnode = 10, # minimum total weight needed in each node
            cv.folds = 5, # do 3-fold cross-validation
            keep.data=TRUE, # keep a copy of the dataset with the object
            verbose=TRUE) # don’t print out progress

best.iter<-gbm.perf(modGBM,method="cv")

pred<-predict(modGBM,valid,best.iter)

조건부 분포의 백분위 수를 관찰하지 않기 때문에 이제는 무엇입니까?

더하다:

나는 몇 가지 방법을 가정했으며 올바른 방법과 더 좋은 방법이 있는지 알고 싶습니다. 첫 번째 해석 방법도 있습니다.

  1. 손실 함수에서 평균값을 계산하십시오.

    qregLoss<-function(actual, estimate,quantile)
    {
       (sum((actual-estimate)*(quantile-((actual-estimate)<0))))/length(actual)
    
    }
    

    이것은 Quantile 회귀에 대한 손실 함수입니다. 그러나 값을 어떻게 해석합니까?

  2. 예를 들어 테스트 세트에서 75 번째 백분위 수를 계산하는 경우 예측 값이 실제 시간의 약 75 %보다 커야한다고 기대해야합니까?

모델이 새로운 사례를 얼마나 잘 예측하는지 설명하기위한 공식적이거나 휴리스틱 한 다른 방법이 있습니까?


이 백서의 섹션 3 유용 할 수 있습니다.
tchakravarty

@ tchakravarty 링크가 죽었다고 생각합니다
alexpghayes

답변:



0

핀볼 손실 ( https://arxiv.org/pdf/1102.2101.pdf 의 두 번째 페이지 시작 부분에 정의 됨 )을 사용하여 모델링중인 Quantile의 평균 절대 오차 (MAE)로 해석합니다. "테스트 데이터에서 실제 75 %-사 분위수에 관한 모델의 평균 절대 오차는 100입니다."

특이 치는 영향력이 적으므로 RMSE와 비교할 수 없습니다.

당신의 질문에 답하기 위해서 : (2) : 75 % Quantile을 모델링하면 데이터 질량을 포인트 단위로 분할하는 경계에 맞출 것입니다! 75:25의 비율로. 그런 다음 테스트 데이터의 약 25 %가 예측 위에 있어야합니다.

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