Interval kepercayaan untuk ramalan xgb

8

ahli! Mungkin, Anda tahu cara menghitung interval kepercayaan untuk xgboost? Formula klasik dengan t-distribusi tidak dapat membantu, karena data saya tidak terdistribusi secara normal. Atau tidak masalah?

Jika Anda menyarankan beberapa literatur, itu akan sangat berguna, tetapi pendekatan dalam R dan Python (dalam konteks perpustakaan xgb) juga bagus.

Mungkin terlihat seperti ini , tetapi bagaimana cara menghitungnya? Dan menemukan ini - benar atau tidak?

PS: Saya tidak bisa menambahkan beberapa gambar, terkait dengan data saya (batas tautan), maaf.

Lu Wao
sumber
Apakah ini masalah klasifikasi? Ketika Anda mengatakan data tidak normal, maksud Anda multivarian normal?
Michael R. Chernick
@MichaelChernick Tidak, masalah regresi. Saya pikir, data bisa dinamai multivariate normal, karena saya punya info tentang berbagai kota dan rumah sakit di dalamnya. Oleh karena itu, interval kepercayaan saya terkait dengan distribusi untuk setiap kota.
Lu Wao
Masalahnya tidak dinyatakan dengan jelas. Tidak ada cara untuk mengatakan ini adalah masalah regresi. Saya mendapat kesan itu adalah klasifikasi berdasarkan pada melihat tautan Anda. Jika regresi, apakah hanya ada satu variabel prediktor dan satu variabel dependen? Jika itu masalahnya, ia menggunakan distribusi t untuk parameter regresi yang Anda bicarakan. Bisa juga untuk nilai pas tertentu y (variabel dependen) diberikan x (variabel prediktor) atau prediksi prediksi untuk nilai baru y.
Michael R. Chernick
@MichaelChernick Dalam model satu var dependen dan lebih dari 30 vars independen. Ya, xgb berfungsi pada pohon (yang awalnya memecahkan masalah klasifikasi), tetapi saya menggunakannya untuk regresi.
Lu Wao
1
@ ab90hi Tapi terima kasih atas jawaban Anda, sekarang saya tahu, bahwa R secara otomatis menghitung interval yang salah :)
Lu Wao

Jawaban:

4

Jadi, inilah jawabannya! ( cermin )

Untuk membangun batas kepercayaan untuk data yang terdistribusi tidak normal, Anda harus terlebih dahulu membangun regresi kuantil, bukan regresi linier, seperti yang dilakukan secara default. Untuk ini perlu, menggunakan turunan turunan dari artikel atau hanya menyalin kode pada python, untuk menyesuaikan variabel 'objektif'. Juga perlu untuk mengubah fungsi gradien dan fungsi Gaussian. Setelah semuanya diprogram, bangun regresi kuantil untuk kuantil ke-50 (ini akan menjadi regresi awal), dan kemudian dua regresi kuantil untuk dua batas interval (misalnya, 95 dan 5). Akibatnya, Anda tidak hanya mendapatkan model yang lebih akurat untuk regresi awal, tetapi juga interval yang diinginkan.

Lu Wao
sumber
4
Kami mencoba membangun repositori permanen untuk informasi statistik berkualitas tinggi dalam bentuk pertanyaan & jawaban. Karenanya, kami waspada terhadap jawaban tautan saja, karena tautannya. Bisakah Anda memposting kutipan lengkap & ringkasan informasi di tautan, kalau-kalau mati?
TEG