Saat menggunakan glmnet bagaimana melaporkan nilai-p signifikansi untuk mengklaim signifikansi prediktor?


9

Saya memiliki sejumlah besar prediktor (lebih dari 43.000) untuk memprediksi variabel dependen yang dapat mengambil 2 nilai (0 atau 1). Jumlah pengamatan lebih dari 45.000. Sebagian besar prediktor adalah unigrams, bigrams, dan trigram kata-kata, sehingga ada tingkat kolinearitas yang tinggi di antara mereka. Ada banyak sparsity di dataset saya juga. Saya menggunakan regresi logistik dari paket glmnet, yang berfungsi untuk jenis dataset yang saya miliki. Masalah saya adalah bagaimana saya bisa melaporkan signifikansi p-value dari para prediktor. Saya memang mendapatkan koefisien beta, tetapi apakah ada cara untuk mengklaim bahwa koefisien beta signifikan secara statistik?

Ini kode saya:

library('glmnet')
data <- read.csv('datafile.csv', header=T)
mat = as.matrix(data)
X = mat[,1:ncol(mat)-1] 
y = mat[,ncol(mat)]
fit <- cv.glmnet(X,y, family="binomial")

Pertanyaan lain adalah: Saya menggunakan alpha default = 1, penalti laso yang menyebabkan masalah tambahan bahwa jika dua prediktor adalah collinear, laso akan memilih salah satu dari mereka secara acak dan memberikan bobot beta nol kepada yang lain. Saya juga mencoba dengan ridge penalti (alpha = 0) yang memberikan koefisien yang mirip dengan variabel yang sangat berkorelasi daripada memilih salah satu dari mereka. Namun, model dengan penalti laso memberi saya penyimpangan yang jauh lebih rendah daripada model dengan penalti ridge. Apakah ada cara lain agar saya dapat melaporkan kedua prediktor yang sangat linier?


Kedengarannya bagi saya seperti ini lebih merupakan masalah klasifikasi multivarian, bukan sebagai Model Linear.
ADP

terima kasih @ADP apa yang akan menjadi model yang Anda sarankan untuk situasi seperti ini?
tan

Jawaban:


8

Ada sebuah makalah baru, A Signi fi cance Test untuk Lasso , termasuk penemu LASSO sebagai penulis yang melaporkan hasil pada masalah ini. Ini adalah bidang penelitian yang relatif baru, sehingga referensi dalam makalah ini mencakup banyak hal yang diketahui pada saat ini.

Adapun pertanyaan kedua Anda, sudahkah Anda mencoba ? Seringkali ada nilai dalam kisaran menengah ini yang mencapai kompromi yang baik. Ini disebut regularisasi Net Elastis . Karena Anda menggunakan cv.glmnet, Anda mungkin ingin memvalidasi silang melalui kisi nilai .α(0,1)(λ,α)


2

Inferensi pasca-seleksi adalah topik penelitian statistik yang sangat aktif. Dalam pandangan saya, masalah dengan metode yang dijelaskan dalam Tes Signifikansi untuk Lasso adalah bahwa asumsi ketat diperlukan (direproduksi dari sini ):

  1. Model linier benar.
  2. Variansnya konstan.
  3. Kesalahan memiliki distribusi normal.
  4. Vektor parameter jarang.
  5. Matriks desain memiliki collinearity yang sangat lemah. Ini biasanya dinyatakan dalam bentuk inkoherensi, pembatasan nilai eigen, atau asumsi ketidakcocokan.

Pendekatan yang saya temukan berguna - selama ada data yang cukup tersedia - adalah pemisahan data. Gagasan pemisahan data kembali ke setidaknya Moran (1974) dan hanya memerlukan membagi data secara acak menjadi dua set, membuat pilihan pemodelan pada set pertama, dan membuat kesimpulan pada set kedua.

Jadi dalam hal ini Anda akan membagi data menjadi dua, lakukan pemilihan variabel pada paruh pertama, kemudian (dengan asumsi Anda memiliki ) menggunakan teknik regresi standar pada paruh kedua untuk menentukan signifikansi statistik dari koefisien. Tentu saja, asumsi masih diperlukan di kedua tahap tetapi mereka mungkin lebih mudah untuk memuaskan untuk setiap tahap secara individual.n>p

Anda menyebutkan bahwa kovariat bersifat uni, bi, dan tri-gram sehingga sangat kolinear. Jadi dalam hal ini menerapkan Lasso pada tahap pertama juga akan melanggar asumsi - khususnya, # 5 dari atas. Jadi, untuk membuat pendekatan semacam itu benar-benar bermanfaat dan secara teoritis masuk akal, Anda perlu melakukan semacam pemeriksaan kolinearitas pra-Lasso.


0

Mungkin kita lihat paket CRAN hdi , yang menyediakan inferensi untuk model dimensi tinggi dan harus melakukan trik ... Metode lengkap agak membosankan untuk diulang di sini (ada beberapa, dan masih cukup aktif di daerah ini). penelitian), tetapi mereka dijelaskan dengan baik dalam makalah ini: http://projecteuclid.org/euclid.ss/1449670857 (Jika Anda secara publik memposting beberapa data uji, atau mensimulasikan beberapa data, saya juga dapat memberikan contoh nyata)


Anda tidak dapat melakukan ini dan mendapatkan nilai p yang berarti. Mereka tidak memperhitungkan variasi dalam pemilihan variabel Anda.
Matthew Drury

Diedit jawaban saya - paket hdi yang saya kutip harus OK, dan memperhitungkan perbedaan yang disebabkan oleh pemilihan variabel Anda ...
Tom Wenseleers
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.