Saya mencoba untuk meniru apa fungsi dfbetas()
tidak dalam R .
dfbeta()
bukan masalah ... Ini adalah sekumpulan vektor:
x <- c(0.512, 0.166, -0.142, -0.614, 12.72)
y <- c(0.545, -0.02, -0.137, -0.751, 1.344)
Jika saya cocok dengan dua model regresi sebagai berikut:
fit1 <- lm(y ~ x)
fit2 <- lm(y[-5] ~ x[-5])
Saya melihat bahwa menghilangkan titik terakhir menghasilkan kemiringan yang sangat berbeda (garis biru - lebih curam):
Ini tercermin dalam perubahan lereng:
fit1$coeff[2] - fit2$coeff[2]
-0.9754245
yang bertepatan dengan dfbeta(fit1)
untuk nilai kelima:
(Intercept) x
1 0.182291949 -0.011780253
2 0.020129324 -0.001482465
3 -0.006317008 0.000513419
4 -0.207849024 0.019182219
5 -0.032139356 -0.975424544
Sekarang jika saya ingin menstandarkan perubahan kemiringan ini (memperoleh dfbetas ) dan saya menggunakan:
Williams, DA (1987) Diagnosis model linier umum menggunakan penyimpangan dan penghapusan satu kasus. Statistik Terapan 36, 181–191
yang menurut saya mungkin menjadi salah satu referensi dalam dokumentasi R di bawah paket {stats} . Di sana rumus untuk dfbetas adalah:
Ini dapat dengan mudah dihitung dalam R:
(fit1$coef[2] - fit2$coef[2])/summary(fit2)$coef[4]
menghasilkan: -6.79799
Pertanyaannya adalah mengapa saya tidak mendapatkan nilai kelima untuk lereng di:
dfbetas(fit1)
(Intercept) x
1 1.06199661 -0.39123009
2 0.06925319 -0.02907481
3 -0.02165967 0.01003539
4 -1.24491242 0.65495527
5 -0.54223793 -93.81415653!
Apa persamaan yang tepat untuk beralih dari dfbeta ke dfbetas ?