A '' variabel signifikan '' yang tidak meningkatkan prediksi out-of-sample - bagaimana menafsirkan?


10

Saya punya pertanyaan yang menurut saya akan sangat mendasar bagi banyak pengguna.

Saya menggunakan model regresi linier untuk (i) menyelidiki hubungan beberapa variabel penjelas dan variabel respons saya dan (ii) memprediksi variabel respons saya menggunakan variabel penjelas.

Satu variabel penjelas X tertentu tampaknya secara signifikan mempengaruhi variabel respons saya. Untuk menguji nilai tambah dari variabel penjelas X ini untuk tujuan prediksi out-of-sample dari variabel respons saya, saya menggunakan dua model: model (a) yang menggunakan semua variabel penjelas dan model (b) yang menggunakan semua variabel kecuali variabel X. Untuk kedua model, saya hanya melaporkan kinerja out-of-sample. Tampaknya kedua model ini memiliki kinerja yang hampir sama baik. Dengan kata lain, menambahkan variabel penjelas X tidak meningkatkan prediksi out-of-sample. Perhatikan bahwa saya juga menggunakan model (a), yaitu model dengan semua variabel penjelas, untuk menemukan bahwa variabel penjelas X berpengaruh signifikan terhadap variabel respons saya.

Pertanyaan saya sekarang adalah: bagaimana cara menerjemahkan temuan ini? Kesimpulan langsung adalah bahwa, meskipun variabel X tampaknya secara signifikan mempengaruhi variabel respons saya menggunakan model inferensial, itu tidak meningkatkan prediksi out-of-sample. Namun, saya kesulitan menjelaskan lebih lanjut temuan ini. Bagaimana ini bisa terjadi dan apa saja penjelasan untuk temuan ini?

Terima kasih sebelumnya!

Informasi tambahan: dengan 'pengaruh signifikan' Maksud saya 0 tidak termasuk dalam interval kepadatan posterior tertinggi 95% dari estimasi parameter (saya menggunakan pendekatan Bayesian). Dalam istilah frequentist ini kira-kira sama dengan memiliki nilai-p lebih rendah dari 0,05. Saya hanya menggunakan primer difus (tidak informatif) untuk semua parameter model saya. Data saya memiliki struktur longitudinal dan berisi sekitar 7000 pengamatan secara total. Untuk prediksi out-of-sample saya menggunakan 90% dari data agar sesuai dengan model saya dan 10% dari data untuk mengevaluasi model menggunakan beberapa replikasi. Yaitu, saya melakukan split tes kereta beberapa kali dan akhirnya melaporkan metrik kinerja rata-rata.


2
Karena Anda menggunakan pendekatan Bayesian, hasil Anda sangat bergantung pada sebelumnya dan pada data. Karena ketergantungan pada yang sebelumnya berkurang dengan meningkatnya jumlah data dan meningkat sejauh data dan sebelumnya tidak setuju, akan berguna bagi Anda untuk memberikan informasi baik tentang distribusi sebelumnya, jumlah data, dan seberapa dekat data itu sendiri sesuai. ke distribusi sebelumnya.
Whuber

1
@whuber saya lupa menyebutkan bahwa saya hanya menggunakan prior (difus) prius. Oleh karena itu, saya tidak merasa bahwa spesifikasi saya sebelumnya ada hubungannya dengan temuan saya. Saya cukup yakin bahwa pemasangan model regresi linier frequentist akan menghasilkan temuan yang sama persis.
dubvice

Terima kasih - itu membantu mengesampingkan beberapa kemungkinan penjelasan.
Whuber

1
Apakah Anda memasang kembali model ke data yang tersedia atau menggunakan model yang sesuai dengan data asli Anda? Dalam kedua kasus, salah satu masalah yang mungkin terjadi adalah Anda membuat kesalahan Tipe II pada data yang disimpan; mungkin variabelnya relevan tetapi Anda awalnya kurang bertenaga (dalam hal ini Anda mungkin melebih-lebihkan efek yang dapat membuat prediksi lebih buruk). Atau variabelnya tidak relevan dan Anda membuat kesalahan Tipe I. Ada banyak alasan hal semacam ini mungkin terjadi.
pria

1
Saya telah menggunakan beberapa metrik: RSME, MAE dan AUC (Saya juga mencoba untuk memprediksi apakah variabel depeden saya, yang kontinu, berada di bawah ambang tertentu).
dubvice

Jawaban:


3

x1x2x1x2x1x2x1x2R2

Fungsinya adalah:

sim_ES <- function (effect_size = 1, sd = 2, n = 200) {
    # simulate some data
    DF <- data.frame(x1 = runif(n, -3, 3), x2 = runif(n, -3, 3))
    DF$y <- 2 + 5 * DF$x1 + (effect_size * sd) * DF$x2 + rnorm(n, sd = sd)

    # fit the models with and without x2
    fm1 <- lm(y ~ x1 + x2, data = DF)
    fm2 <- lm(y ~ x1, data = DF)

    # results
    list("95% CIs" = confint(fm1),
         "R2_X1_X2" = summary(fm1)$r.squared,
         "R2_only_X1" = summary(fm2)$r.squared)
}

Sebagai contoh, untuk nilai default yang kami dapatkan,

$`95% CIs`
               2.5 %   97.5 %
(Intercept) 1.769235 2.349051
x1          4.857439 5.196503
x2          1.759917 2.094877

$R2_X1_X2
[1] 0.9512757

$R2_only_X1
[1] 0.8238826

x2R2

Tetapi jika kita mengatur ukuran efek ke 0,3, kita mendapatkan:

> sim_ES(effect_size = 0.3)
$`95% CIs`
                2.5 %    97.5 %
(Intercept) 1.9888073 2.5563233
x1          4.9383698 5.2547929
x2          0.3512024 0.6717464

$R2_X1_X2
[1] 0.9542341

$R2_only_X1
[1] 0.9450327

R2


Dikotomi samar antara signifikansi statistik vs kinerja prediktif adalah kutukan dalam kehidupan analitik saya dalam lebih dari satu cara. (+1 - dan sambutan umum ke CV Prof.!)
usεr11852

-1

Ini adalah hal yang cukup normal terjadi dalam regresi berganda. Alasan paling umum adalah bahwa prediksi Anda terkait satu sama lain. Dengan kata lain, Anda dapat menyimpulkan X dari nilai-nilai prediktor lain. Oleh karena itu, walaupun berguna untuk prediksi jika itu satu-satunya prediktor yang Anda miliki, setelah Anda memiliki semua prediktor lain, ia tidak memberikan banyak informasi tambahan. Anda dapat memeriksa apakah ini yang terjadi dengan melakukan regresi X pada prediktor lain. Saya juga akan merujuk pada bab tentang regresi linier dalam buku teks online gratis, Elements of Statistics Learning.


1
Anda tampaknya mendeskripsikan variabel penjelas yang tidak signifikan daripada menangani keadaan khusus yang dijelaskan dalam pertanyaan.
Whuber

Saya menggambarkan variabel penjelas yang secara signifikan terkait dengan respon sendiri (yaitu dalam regresi sederhana), yang saya anggap berarti pertanyaan dengan "X tampaknya secara signifikan berdampak pada variabel respons saya".
Denziloe

Tetapi dalam kasus itu saya tidak akan menemukan bahwa variabel penjelas X saya berdampak signifikan terhadap variabel respons saya, bukan? Mungkin saya tidak memperjelas pertanyaan saya pada awalnya, tetapi saya menggunakan model dengan semua variabel penjelas untuk menemukan bahwa variabel penjelas X memiliki pengaruh yang signifikan terhadap variabel respons saya.
dubvice

3
X

1
Ya whuber, Anda memahaminya dengan benar. Ini yang saya maksud. Mudah-mudahan saya cukup menjelaskan hal ini dalam pertanyaan saya.
dubvice
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.