Ini adalah contoh kecil:
MyDf<-data.frame(x=c(1,2,3,4), y=c(1.2, .7, -.5, -3))
Sekarang dengan base::lm
:
> lm(y~x, data=MyDf) %>% summary
Call:
lm(formula = y ~ x, data = MyDf)
Residuals:
1 2 3 4
-0.47 0.41 0.59 -0.53
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.0500 0.8738 3.491 0.0732 .
x -1.3800 0.3191 -4.325 0.0495 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.7134 on 2 degrees of freedom
Multiple R-squared: 0.9034, Adjusted R-squared: 0.8551
F-statistic: 18.71 on 1 and 2 DF, p-value: 0.04952
Sekarang, coba hal yang sama dengan biglm
dari biglm
paket:
XX<-biglm(y~x, data=MyDf)
print(summary(XX), digits=5)
Large data regression model: biglm(y ~ x, data = MyDf)
Sample size = 4
Coef (95% CI) SE p
(Intercept) 3.05 1.30243 4.79757 0.87378 0.00048
x -1.38 -2.01812 -0.74188 0.31906 0.00002
Perhatikan bahwa kita membutuhkan print
dan digits
untuk melihat nilai-p. Koefisien dan kesalahan standar adalah sama, tetapi nilai-p sangat berbeda. Kenapa begitu?
r
regression
p-value
linear-model
John Paul
sumber
sumber
pt(-3.491, 2)*2
denganpnorm(-3.491)*2
, misalnya.Jawaban:
Untuk melihat nilai-p mana yang benar (jika salah), mari kita ulangi perhitungan untuk data simulasi di mana hipotesis nol benar. Dalam pengaturan ini, perhitungannya adalah kuadrat-terkecil cocok dengan (x, y) data dan hipotesis nol adalah bahwa kemiringannya nol. Dalam pertanyaan ada empat x nilai 1,2,3,4 dan kesalahan yang diperkirakan sekitar 0,7, jadi mari kita memasukkan itu dalam simulasi.
Inilah pengaturannya, ditulis agar dapat dimengerti oleh semua orang, bahkan mereka yang tidak terbiasa dengannya
R
.Simulasi menghasilkan kesalahan independen, menambahkannya
y.expected
, memanggillm
untuk membuat kecocokan, dansummary
untuk menghitung nilai-p. Meskipun ini tidak efisien, ia sedang menguji kode aktual yang digunakan. Kita masih bisa melakukan ribuan iterasi dalam sedetik:dan, bagi mereka yang mungkin membayangkan ini tidak cukup seragam, inilah tes chi-squared:
Nilai p yang besar dalam tes ini menunjukkan hasil ini konsisten dengan keseragaman yang diharapkan. Dengan kata lain,
lm
itu benar.Lalu, dari mana datangnya perbedaan nilai p? Mari kita periksa rumus-rumus yang mungkin digunakan untuk menghitung nilai-p. Bagaimanapun, statistik pengujian akan menjadi
untuk estimasi intersepsi dan
lm
output.biglm
biglm
lm
Beberapa pelajaran yang dapat kita pelajari dari penyelidikan kecil ini adalah:
Jangan gunakan perkiraan yang berasal dari analisis asimptotik (seperti distribusi Normal standar) dengan kumpulan data kecil.
Ketahui perangkat lunak Anda.
sumber