Bagaimana cara merujuk kesalahan standar koefisien model regresi? [Tutup]

8
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  10.2758     0.5185  19.817  < 2e-16 ***
rprice2      -1.8581     0.5139  -3.616 0.000696 ***

Saya ingin menggunakan Std. Kesalahan rprice2 membuat perhitungan lain. Saya tahu untuk referensi salah satu objek dalam model, saya menggunakan model sintaks $ objek, tapi apa sintaks untuk referensi kesalahan std?

Harun
sumber
objek model apa ini? Jika objek model Anda (sebut mod) adalah lm atau glm, Anda dapat mengekstrak kesalahan standar dengan ringkasan (mod) $ coef [, 2]
Makro
ini model lm, saya mencoba menghitung statistik-t dengan kode berikut, menggunakan komentar Anda: tstat <-ab (modelcoef/summary(model)coef [2,2]) ... yang sepertinya berfungsi, tapi saya tidak yakin bagaimana mengartikan output dari tstat yaitu: (Intercept) rprice2 19,99568 3,61563
Aaron
1
Perhatikan bahwa atribut koefisien (array 2x4) dari summary()output dapat diekstraksi menggunakan coef()perintah. Jika Anda hanya ingin estimasi kesalahan standar untuk koefisien rprice2, gunakan mis coef(summary(mod))[2,2]. Jika Anda ingin t-statistik yang sesuai, gunakan coef(summary(mod))[2,3].
tamu

Jawaban:

9

Cukup umum Anda menginginkan vcovfungsi yang menyediakan matriks kovarians parameter lengkap. Untuk mendapatkan kesalahan standar asimptotik reguler yang dilaporkan oleh summaryAnda dapat menggunakan

se <- sqrt(diag(vcov(model)))

tetapi Anda ingin para diagonal vcov(model)untuk mendapatkan efek marginal untuk istilah interaksi: lihat Brambor et al. (2006) .

Perhatikan juga paket-paket seperti sandwich ditujukan untuk membangun berbagai jenis kesalahan standar, misalnya yang 'kuat' untuk berbagai jenis pelanggaran.

conjugateprior
sumber
4

Untuk mengekstrak tanpa melakukan perhitungan lain, saat menggunakan sintaks objek $ model:

summary(model)$coefficients["rprice2","Std. Error"]
darokun
sumber
3

Untuk mendapatkan matriks dengan hasil regresi linier:

> coef(summary(f))

Untuk mengekstrak nilai tertentu dari matriks:

> coef(summary(f))["rprice2","Std. Error"]
[1] 0.5139 
Contango
sumber
1

Seperti yang saya pahami, Anda ingin melakukan ini di R:

f <- lm(speed~dist, data=cars)
coef(f)
confint(f)
sd = sqrt(diag(vcov(f)))
cbind("2.5 %"=-sd*1.96+coef(f),"97.5 %"=sd*1.96+coef(f))

Memberi:

> coef(f)
(Intercept)        dist 
  8.2839056   0.1655676 
> confint(f)
                2.5 %     97.5 %
(Intercept) 6.5258378 10.0419735
dist        0.1303926  0.2007426
> cbind("2.5 %"=-sd*1.96+coef(f),"97.5 %"=sd*1.96+coef(f))
                2.5 %    97.5 %
(Intercept) 6.5701120 9.9976992
dist        0.1312784 0.1998568
Max Gordon
sumber
Ups, maaf, saya tidak melihat vcovaplikasi Anda yang terletak di tengah kode sebelum saya menulis jawaban saya.
conjugateprior
@ConjugatePrior: Tidak apa-apa. Jelas jawaban saya agak tidak jelas dan komentar Anda tentang masalah tersebut menambahkan lebih banyak jawaban :-)
Max Gordon