Faktor inflasi varians manakah yang harus saya gunakan: atau ?

30

Saya mencoba untuk menafsirkan faktor inflasi varians menggunakan viffungsi dalam paket R car. Fungsi ini mencetak dan juga . Menurut file bantuan , ini nilai terakhirVIFGVIF1/(2df)

Untuk menyesuaikan dimensi ellipsoid kepercayaan, fungsi ini juga mencetak GVIF ^ [1 / (2 * df)] di mana df adalah derajat kebebasan yang terkait dengan istilah tersebut.

Saya tidak mengerti arti penjelasan ini dalam file bantuan, jadi saya tidak yakin apakah saya harus menggunakan atau . Untuk model saya, kedua nilai ini sangat berbeda (maksimum adalah ~ ; maksimum adalah ~ ).GVIFGVIF1/(2df)GVIF60GVIF1/(2df)3

Bisakah seseorang tolong jelaskan kepada saya yang mana yang harus saya gunakan, dan apa yang dimaksud dengan menyesuaikan dimensi ellipsoid kepercayaan?

jay
sumber

Jawaban:

25

Georges Monette dan saya memperkenalkan GVIF dalam makalah "Generalized collinearity diagnostic," JASA 87: 178-183, 1992 ( tautan ). Seperti yang kami jelaskan, GVIF mewakili rasio kuadrat dari hypervolume dari ellipsoid kepercayaan-bersama untuk subset koefisien untuk ellipsoid "utopis" yang akan diperoleh jika regresi dalam subset ini tidak berkorelasi dengan regresi dalam subset komplementer. Dalam hal koefisien tunggal, ini khusus untuk VIF biasa. Untuk membuat GVIF dapat dibandingkan antar dimensi, kami menyarankan menggunakan GVIF ^ (1 / (2 * Df)), di mana Df adalah jumlah koefisien dalam subset. Akibatnya, ini mengurangi GVIF menjadi ukuran linier, dan untuk VIF, di mana Df = 1, sebanding dengan inflasi karena kolinearitas dalam interval kepercayaan untuk koefisien.

John Fox
sumber
3
Selamat datang di situs kami! Kami akan merasa terhormat jika Anda akan mendaftarkan akun Anda dan datang berkunjung sesekali. Satu catatan rumah tangga kecil: Anda tidak harus menandatangani posting Anda, identitas Anda, dengan tautan ke halaman pengguna Anda, secara otomatis ditambahkan ke setiap jawaban yang Anda berikan.
gung - Reinstate Monica
24

Saya bertemu dengan pertanyaan yang persis sama dan mencoba menyelesaikannya. Lihat jawaban terperinci saya di bawah ini.

Pertama-tama, saya menemukan 4 opsi yang menghasilkan nilai VIF serupa di R:

corvifperintah dari paket AED,

vifperintah dari paket mobil,

vifperintah dari paket rms,

vifperintah dari paket DAAG.

Menggunakan perintah-perintah ini pada seperangkat prediktor yang tidak termasuk faktor / variabel kategori atau istilah polinomial terus maju. Ketiga perintah menghasilkan output numerik yang sama meskipun corvifperintah dari paket AED memberi label hasil sebagai GVIF.

Namun, biasanya, GVIF hanya berperan untuk faktor dan variabel polinomial. Variabel yang membutuhkan lebih dari 1 koefisien dan karenanya lebih dari 1 derajat kebebasan biasanya dievaluasi menggunakan GVIF. Untuk istilah satu koefisien, VIF sama dengan GVIF.

Dengan demikian, Anda dapat menerapkan aturan praktis standar tentang apakah collinearity mungkin menjadi masalah, seperti ambang 3, 5 atau 10. Namun, beberapa kehati-hatian bisa (harus) diterapkan (lihat: http://www.nkd-group.com/ghdash/mba555/PDF/VIF%20article.pdf ).

Dalam hal istilah multi-koefisien, seperti misalnya prediktor kategori, 4 paket menghasilkan keluaran yang berbeda. The vifperintah dari rms dan paket DAAG menghasilkan nilai VIF, sedangkan dua nilai produk GVIF lainnya.

Mari kita lihat nilai-nilai VIF dari paket rms dan DAAG terlebih dahulu:

TNAP     ICE     RegB    RegC    RegD    RegE

1.994    2.195   3.074   3.435   2.907   2.680

TNAP dan ICE adalah prediktor kontinu dan Reg adalah variabel kategorikal yang dipresentasikan oleh boneka BOB ke RegE. Dalam hal ini RegA adalah baseline. Semua nilai VIF agak moderat dan biasanya tidak perlu dikhawatirkan. Masalah dengan hasil ini adalah, bahwa hal itu dipengaruhi oleh baseline variabel kategorikal. Untuk memastikan tidak memiliki nilai VIF di atas tingkat yang dapat diterima, akan perlu untuk mengulang analisis ini untuk setiap tingkat variabel kategori menjadi baseline. Dalam hal ini lima kali.

Menerapkan corvifperintah dari paket AED atau vifperintah dari paket mobil, nilai-nilai GVIF dihasilkan:

     |  GVIF     | Df | GVIF^(1/2Df) |  

TNAP | 1.993964  | 1  | 1.412078     |
ICE  | 2.195035  | 1  | 1.481565     | 
Reg  | 55.511089 | 5  | 1.494301     |

GVIF dihitung untuk set regressor terkait seperti a untuk set regressor dummy. Untuk dua variabel kontinu, TNAP dan ICE, ini sama dengan nilai VIF sebelumnya. Untuk variabel kategori Reg, kami sekarang mendapatkan satu nilai GVIF yang sangat tinggi, meskipun nilai VIF untuk level tunggal dari variabel kategori semuanya moderat (seperti yang ditunjukkan di atas).

Namun, interpretasinya berbeda. Untuk dua variabel kontinu, (yang pada dasarnya adalah akar kuadrat dari nilai VIF / GVIF karena DF = 1) adalah perubahan proporsional dari kesalahan standar dan interval kepercayaan dari koefisien mereka karena tingkat kolinearitas. Nilai dari variabel kategorikal adalah ukuran yang sama untuk pengurangan ketepatan estimasi koefisien karena kolinearitas (walaupun tidak siap untuk mengutip juga lihat http: / /socserv2.socsci.mcmaster.ca/jfox/papers/linear-models-problems.pdf ).GVIF(1/(2×Df))GVIF(1/(2×Df))

Jika kemudian kita cukup menerapkan aturan praktis standar yang sama untuk -nilai seperti yang direkomendasikan dalam literatur untuk VIF, kita hanya perlu .GVIF(1/(2×Df))GVIF(1/(2×Df))

Membaca semua posting forum, catatan pendek di web dan karya ilmiah, tampaknya ada beberapa kebingungan yang terjadi. Dalam makalah yang diulas bersama, saya menemukan nilai untuk diabaikan dan aturan standar yang sama yang disarankan untuk VIF diterapkan pada nilai GVIF. Dalam makalah lain, nilai GVIF mendekati 100 dikecualikan karena cukup kecil (karena DF tinggi). Aturan diterapkan dalam beberapa publikasi, yang akan sama dengan VIF 4 untuk variabel satu koefisien.GVIF(1/(2×Df))GVIF(1/(2×Df))GVIF2(1/(2×Df))<2

Jan Philipp S
sumber
Selamat datang di situs ini, @JanPhilippS. Ini seperti pertanyaan baru sebanyak jawaban untuk pertanyaan OP. Harap hanya menggunakan bidang "Jawaban Anda" untuk memberikan jawaban. Jika Anda memiliki pertanyaan Anda sendiri, klik [ASK QUESTION]di bagian atas & tanyakan di sana, maka kami dapat membantu Anda dengan baik. Karena Anda baru di sini, Anda mungkin ingin mengikuti tur kami , yang berisi informasi untuk pengguna baru.
gung - Reinstate Monica
2
Ya, itu bukan pertanyaan baru. Bukan jawaban yang terperinci.
Jan Philipp S
1
@JanPhilippS, terima kasih atas tautan ke sumber untuk dibaca lebih lanjut. Saya pikir posting Anda sepertinya jawaban berkualitas yang memungkinkan beberapa refleksi pada keadaan.
timothy.s.lau
6

Fox & Monette (kutipan asli untuk GVIF, GVIF ^ 1 / 2df) menyarankan penggunaan GVIF dengan kekuatan 1 / 2df menjadikan nilai GVIF sebanding dengan berbagai parameter. "Sangatlah tepat untuk mengambil akar kuadrat dari faktor varians-inflasi yang biasa" (dari An R dan S-Plus Companion ke Regresi Terapan oleh John Fox). Jadi ya, mengkuadratkan dan menerapkan "aturan praktis" VIF yang biasa tampaknya masuk akal.

acmw
sumber