Menafsirkan output drop1 di R

14

Di R, drop1perintah menghasilkan sesuatu yang rapi.
Dua perintah ini akan memberi Anda beberapa output:
example(step)#-> swiss
drop1(lm1, test="F")

Milik saya terlihat seperti ini:

> drop1(lm1, test="F")
Single term deletions

Model:
Fertility ~ Agriculture + Examination + Education + Catholic + 
    Infant.Mortality
                 Df Sum of Sq    RSS    AIC F value     Pr(F)    
<none>                        2105.0 190.69                      
Agriculture       1    307.72 2412.8 195.10  5.9934  0.018727 *  
Examination       1     53.03 2158.1 189.86  1.0328  0.315462    
Education         1   1162.56 3267.6 209.36 22.6432 2.431e-05 ***
Catholic          1    447.71 2552.8 197.75  8.7200  0.005190 ** 
Infant.Mortality  1    408.75 2513.8 197.03  7.9612  0.007336 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

Apa arti semua ini? Saya berasumsi bahwa "bintang-bintang" membantu dalam menentukan variabel input mana yang harus disimpan. Melihat output di atas, saya ingin membuang variabel "Pemeriksaan" dan fokus pada variabel "Pendidikan", apakah interpretasi ini benar?

Juga, nilai AIC, lebih rendah lebih baik, ya?

Ed. Harap perhatikan jawaban Wiki Komunitas di bawah ini dan tambahkan padanya jika Anda mau, untuk memperjelas hasil ini.

gakera
sumber
7
bantuan dalam R dimaksudkan untuk menjelaskan kepada Anda bagaimana menggunakan fungsi ini. Ini tidak dimaksudkan sebagai kursus statistik. Dan mengenai hal itu, secara umum saya percaya halaman bantuan R adalah yang paling lengkap dan berguna dari semua paket open source yang saya tahu. Dan membayar paket untuk hal itu. SPSS dan SAS memberi Anda banyak omong kosong dengan setengah kebenaran dan menyelesaikan omong kosong sebagai "panduan untuk interpretasi".
Joris Meys
1
Pertanyaan ini telah dibatalkan unduhannya. Saya tidak bermaksud memberikan +1 saya, tetapi sekarang saya merasa bahwa memilihnya tidak terlalu konstruktif: (1) OP menjelaskan bahwa ini adalah pekerjaan rumah dan menggunakan set data bawaan R untuk ilustrasi, bukan miliknya data, (2) pertanyaan terkait dengan step()telah diberi peringkat +2 pada saat penulisan ini (jadi mengapa ?!), (3) OP mengakui kegunaan tanggapan @ Joris.
chl
@ chl: sepertinya saya bukan satu-satunya yang memiliki jari sensitif ketika datang ke halaman bantuan R :-). Tapi saya setuju dengan sepenuh hati dengan Anda. Pertanyaannya valid, diajukan dengan cara yang jelas dan karenanya sama sekali tidak ada alasan untuk membatalkannya.
Joris Meys
Heh, saya minta maaf jika saya menginjak kaki Anda dengan sinis saya di bantuan, aku hanya tidak sabar ketika datang ke apa pun dengan baris perintah benar-benar. Saya aneh dengan cara itu, saya tahu. Anda tidak akan menjadi orang pertama yang memanggil saya :) Saya suka tempat ini, orang-orang jujur.
gakera
Di sana kita pergi, saya mengedit pertanyaan sehingga tidak mengesampingkan pendukung R dan bantuan R :) Dan menulis ulang pertanyaan pada AIC untuk menghindari pembaca yang menyesatkan OP saja.
gakera

Jawaban:

10

drop1memberi Anda perbandingan model berdasarkan kriteria AIC, dan ketika menggunakan opsi test="F"Anda menambahkan "tipe II ANOVA" untuk itu, seperti yang dijelaskan dalam file bantuan . Selama Anda hanya memiliki variabel kontinu, tabel ini persis sama dengan summary(lm1), karena nilai-F hanyalah nilai-T yang dikuadratkan. Nilai-P persis sama.

Lalu apa hubungannya dengan itu? Menafsirkannya persis seperti itu: ia menyatakan dengan cara jika model tanpa istilah itu "secara signifikan" berbeda dari model dengan istilah itu. Pikirkan "" sekitar secara signifikan, karena signifikansi di sini tidak dapat ditafsirkan seperti yang dipikirkan kebanyakan orang. (masalah multi-pengujian dan semua ...)

Dan mengenai AIC: semakin rendah semakin baik tampaknya lebih seperti itu. AIC adalah nilai yang berlaku untuk model , bukan untuk variabel. Jadi model terbaik dari keluaran itu adalah yang tanpa pemeriksaan variabel.

Ingat, perhitungan statistik AIC dan F berbeda dari fungsi R AIC(lm1)resp. anova(lm1). Sebab AIC(), informasi itu diberikan di halaman bantuan extractAIC(). Untuk anova()fungsi, agak jelas bahwa tipe I dan tipe II SS tidak sama.

Saya mencoba untuk tidak bersikap kasar, tetapi jika Anda tidak mengerti apa yang dijelaskan dalam file bantuan di sana, Anda seharusnya tidak menggunakan fungsi itu terlebih dahulu. Regresi bertahap sangat rumit, membahayakan nilai-p Anda dengan cara yang paling mendalam. Jadi sekali lagi, jangan tidak mendasarkan diri pada p-nilai. Model Anda harus mencerminkan hipotesis Anda dan bukan sebaliknya.

Joris Meys
sumber
1
Saya suka perasaan ini, "jika saya tidak mengerti apa yang sudah saya lakukan, saya seharusnya tidak mencoba mempelajarinya ..." Ini juga pendekatan yang diambil dalam bantuan R - itu tidak membantu kecuali Anda sudah tahu apa sedang terjadi. Saya berharap ini bisa menjadi awal dari sesuatu yang berbeda.
gakera
Tetapi saya dapat menggunakan bagian ini dari jawaban Anda: "Interpret dengan cara yang persis seperti itu: itu menyatakan jika model tanpa istilah itu secara signifikan berbeda dari model dengan istilah itu." Bagi saya ini berarti bahwa nilai-nilai Pr (F) adalah signifikansi dari masing-masing istilah ini, dan nilai yang kecil berarti bahwa variabel ini penting. Jadi, model yang baik harus memasukkan variabel "***" dan bukan yang tidak memiliki bintang.
gakera
4
@ Gakera: Anda salah paham. Jika Anda tidak mengerti apa yang Anda lakukan, Anda harus mencoba mempelajarinya sebelum menggunakannya . Itu berarti, membaca statistik dan mengikuti kursus. Jadi, model yang baik harus memasukkan variabel yang dirumuskan dalam hipotesis. Jika Anda mendasarkan diri Anda pada variabel "***", Anda perlu kursus menyeluruh tentang pemodelan terlebih dahulu. Anda jelas tidak mengerti komentar terakhir saya. Maaf untuk komunikasi langsung, datang dengan pria itu. Bukan masalah pribadi.
Joris Meys
@ Gakera: Saya memperbarui jawaban saya untuk mengklarifikasi beberapa poin yang penting. Terutama karena Anda salah mengartikan bagian yang Anda pikir bisa Anda gunakan.
Joris Meys
Saya belajar sambil melakukan, ini adalah pekerjaan rumah, tidak ada yang akan mati jika saya tidak melakukan ini dengan benar - ikan sudah mati: P Terima kasih atas bantuannya sejauh ini, dan jangan khawatir, ini bukan pertama kali saya di internet :)
gakera
4

Sebagai referensi, ini adalah nilai-nilai yang termasuk dalam tabel:
Dfmerujuk pada Derajat kebebasan , "jumlah derajat kebebasan adalah jumlah nilai dalam penghitungan akhir suatu statistik yang bebas bervariasi."

The Sum of Sqkolom mengacu pada jumlah kuadrat (atau lebih tepatnya jumlah penyimpangan kuadrat ). Singkatnya, ini adalah ukuran jumlah yang masing-masing nilai individu menyimpang dari rata-rata keseluruhan nilai-nilai tersebut.
RSSadalah Jumlah Sisa Kuadrat . Ini adalah ukuran seberapa besar nilai prediksi variabel dependen (atau output) bervariasi dari nilai sebenarnya untuk setiap titik data dalam set (atau lebih bahasa sehari-hari: setiap "baris" dalam tabel data).

AICadalah kriteria informasi Akaike yang umumnya dianggap "terlalu rumit untuk dijelaskan" tetapi, singkatnya, merupakan ukuran dari kebaikan model model statistik yang diperkirakan. Jika Anda memerlukan perincian lebih lanjut, Anda harus beralih ke pohon mati dengan kata-kata di atasnya (yaitu, buku). Atau Wikipedia dan sumber daya di sana.

Yang F valuedigunakan untuk melakukan apa yang disebut F-test dan dari itu diturunkan Pr(F)nilai, yang menjelaskan bagaimana mungkin (atau Probable = Pr) yang nilai F adalah. Nilai Pr (F) mendekati nol (ditunjukkan oleh ***) merupakan indikasi dari variabel input yang dalam beberapa hal penting untuk dimasukkan dalam model yang baik, yaitu model yang tidak memasukkannya "secara signifikan" berbeda dari yang ada. itu benar.

Semua nilai-nilai ini, dalam konteks drop1perintah, dihitung untuk membandingkan model keseluruhan (termasuk semua variabel input) dengan model yang dihasilkan dari menghapus satu variabel tertentu per setiap baris dalam tabel output.

Sekarang, jika ini dapat diperbaiki, silakan tambahkan atau klarifikasi masalah apa pun. Tujuan saya hanya untuk mengklarifikasi dan memberikan referensi "reverse lookup" yang lebih baik dari output perintah R ke makna sebenarnya dari itu.

gakera
sumber
@gakera Praktis Regresi dan Anova menggunakan R adalah titik awal yang baik untuk memahami model linier, dan metode yang berkaitan dengan pemilihan variabel / model. Seperti yang ditunjukkan oleh @Joris, regresi bertahap jarang merupakan obat mujarab.
chl
hah, terima kasih telah menambahkan tautan @chl sambil mempertahankan penafian mengapa saya tidak dapat mempostingnya. Anda harus setuju bahwa saya payah: D
gakera
1
@ gakera Saya pikir Anda perlu memiliki lebih banyak perwakilan untuk menambahkan lebih dari satu tautan per edit - Saya bisa mengerti ini tidak terlalu menyenangkan ketika memulai situs web T&J. Saya berasumsi bahwa Anda akan menghapus sendiri kalimat terakhir Anda. Di sisi lain, saya merasa Anda seharusnya tidak berharap terlalu banyak upvotes untuk memberikan jawaban atas pertanyaan Anda sendiri, karena itu adalah semacam rekap '(meskipun berguna).
chl
Saya tidak melakukan ini untuk upvotes (begitu Reddit: P) - rekap berguna adalah persis apa yang saya cari - terutama untuk diri saya sendiri tetapi mungkin berguna untuk orang lain juga.
gakera
@ Gakera Saya yakin ini bukan untuk mendapatkan upvotes. Sebagian besar waktu, kami menetapkan tanggapan kami sendiri sebagai Komunitas Wiki (CW), ketika mereka tidak menambahkan informasi lebih lanjut atau kontradiktif. Ini adalah cara netral untuk merangkum atau mengagregasi tanggapan orang lain.
chl