Hiệu suất mô hình trong mô hình lượng tử


14

Tôi đang sử dụng hồi quy lượng tử (ví dụ thông qua gbmhoặc quantregtrong R) - không tập trung vào trung vị mà thay vào đó là một lượng tử trên (ví dụ 75). Xuất phát từ một nền tảng mô hình dự đoán, tôi muốn đo lường mức độ phù hợp của mô hình trên một bộ thử nghiệm và có thể mô tả điều này cho người dùng doanh nghiệp. Câu hỏi của tôi là như thế nào? Trong một cài đặt điển hình với mục tiêu liên tục, tôi có thể làm như sau:

  • Tính toán RMSE tổng thể
  • Giải mã dữ liệu được đặt theo giá trị dự đoán và so sánh trung bình thực tế với trung bình dự đoán trong mỗi decile.
  • Vân vân.

Điều gì có thể được thực hiện trong trường hợp này, nơi thực sự không có giá trị thực tế (ít nhất tôi không nghĩ) để so sánh dự đoán với?

Đây là một mã ví dụ:

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)

Bây giờ thì sao - vì chúng ta không quan sát phần trăm phân phối có điều kiện?

Thêm vào:

Tôi đã đưa ra giả thuyết về một số phương pháp và tôi muốn biết liệu chúng có đúng không và liệu có phương pháp nào tốt hơn không - cũng là cách diễn giải đầu tiên:

  1. Tính giá trị trung bình từ các hàm mất:

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

    Đây là hàm mất cho hồi quy lượng tử - nhưng làm thế nào để chúng ta giải thích giá trị?

  2. Chúng ta có nên hy vọng rằng nếu ví dụ chúng ta đang tính phần trăm thứ 75 mà trên một tập kiểm tra, giá trị dự đoán sẽ lớn hơn giá trị thực khoảng 75% thời gian không?

Có các phương pháp khác chính thức hoặc heuristic để mô tả mức độ tốt của mô hình dự đoán các trường hợp mới?


Phần 3 trong bài viết này có thể hữu ích.
tchakravarty 23/03/13

@tchakravarty Tôi nghĩ rằng liên kết đó đã chết
alexpghayes

Câu trả lời:


3

Một tài liệu tham khảo hữu ích có thể là Haupt, Kagerer và Schnurbus (2011) thảo luận về việc sử dụng các biện pháp chính xác lượng tử cụ thể dự đoán dựa trên xác nhận chéo cho các loại mô hình hồi quy lượng tử khác nhau.


0

Tôi sẽ sử dụng mất pinball (được xác định ở đầu trang thứ hai của https://arxiv.org/pdf/1102.2101.pdf ) và ví dụ như đó là lỗi tuyệt đối trung bình (MAE) cho định lượng mà bạn đang lập mô hình , giả sử có lỗi 100: "Lỗi tuyệt đối trung bình của mô hình của chúng tôi liên quan đến 75% chất lượng thực trong dữ liệu thử nghiệm của chúng tôi là 100."

Hãy nhớ rằng điều này không thể so sánh với RMSE vì các ngoại lệ có ảnh hưởng ít hơn rất nhiều.

Để trả lời câu hỏi của bạn (2): Nếu bạn lập mô hình lượng tử 75%, bạn sẽ phù hợp với đường viền chia khối lượng dữ liệu! Theo chiều! đến tỷ lệ 75:25. Sau đó, khoảng 25% dữ liệu thử nghiệm của bạn nên nằm trên dự đoán của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.