Anda perlu berpikir tentang apa yang Anda maksud dengan "batas". Ada batasan, seperti ketika Anda memiliki lebih banyak prediktor daripada kasus, Anda mengalami masalah dalam estimasi parameter (lihat simulasi R kecil di bagian bawah jawaban ini).
Namun, saya membayangkan Anda berbicara lebih banyak tentang batas lunak terkait dengan kekuatan statistik dan praktik statistik yang baik. Dalam hal ini bahasa "batas" tidak terlalu tepat. Sebaliknya, ukuran sampel yang lebih besar cenderung membuatnya lebih masuk akal untuk memiliki lebih banyak prediktor dan ambang batas berapa banyak prediktor masuk akal bisa dibilang jatuh pada kontinum kewajaran. Anda mungkin menemukan diskusi tentang aturan praktis untuk ukuran sampel dalam regresi berganda yang relevan, karena banyak aturan praktis yang mengacu pada jumlah prediktor.
Beberapa poin
- Jika Anda lebih mementingkan prediksi keseluruhan daripada dengan signifikansi statistik dari prediktor individual, maka mungkin masuk akal untuk memasukkan lebih banyak prediktor daripada jika Anda lebih mementingkan signifikansi statistik dari prediktor individual.
- Jika Anda lebih mementingkan pengujian model statistik spesifik yang berhubungan dengan pertanyaan penelitian Anda (misalnya, seperti yang umum dalam banyak aplikasi ilmu sosial), mungkin Anda memiliki alasan untuk memasukkan prediktor tertentu. Namun, Anda mungkin juga memiliki kesempatan untuk selektif di mana prediktor yang Anda sertakan (misalnya, jika Anda memiliki beberapa variabel yang mengukur konstruksi yang sama, Anda mungkin hanya memasukkan salah satu dari mereka). Saat melakukan pengujian model berbasis teori, ada banyak pilihan, dan keputusan tentang prediktor yang akan dimasukkan melibatkan hubungan yang erat antara teori Anda dan pertanyaan penelitian.
- Saya tidak sering melihat peneliti menggunakan koreksi bonferroni diterapkan pada uji signifikansi koefisien regresi. Salah satu alasan yang masuk akal untuk hal ini adalah para peneliti lebih tertarik untuk menilai sifat keseluruhan model.
- Jika Anda tertarik untuk menilai kepentingan relatif dari prediktor, saya merasa berguna untuk memeriksa baik hubungan bivariat antara prediktor dan hasil, serta hubungan antara prediktor dan pengendalian hasil untuk prediktor lain. Jika Anda memasukkan banyak prediktor, sering kali Anda memasukkan prediktor yang sangat terkait satu sama lain. Dalam kasus seperti itu, interpretasi indeks kepentingan bivariat dan berbasis model dapat berguna, karena variabel penting dalam arti bivariat mungkin disembunyikan dalam model oleh prediktor berkorelasi lainnya ( saya akan menguraikan lebih lanjut tentang ini di sini dengan tautan ).
Simulasi R kecil
Saya menulis simulasi kecil ini untuk menyoroti hubungan antara ukuran sampel dan estimasi parameter dalam regresi berganda.
set.seed(1)
fitmodel <- function(n, k) {
# n: sample size
# k: number of predictors
# return linear model fit for given sample size and k predictors
x <- data.frame(matrix( rnorm(n*k), nrow=n))
names(x) <- paste("x", seq(k), sep="")
x$y <- rnorm(n)
lm(y~., data=x)
}
The fitmodel
Fungsi membutuhkan dua argumen n
untuk ukuran sampel dan k
untuk jumlah prediktor. Saya tidak menghitung konstanta sebagai prediktor, tetapi diperkirakan. Saya kemudian menghasilkan data acak dan cocok dengan model regresi yang memprediksi variabel dari k
variabel prediktor dan mengembalikan kecocokan.
Mengingat bahwa Anda menyebutkan dalam pertanyaan Anda bahwa Anda tertarik pada apakah 10 prediktor terlalu banyak, panggilan fungsi berikut menunjukkan apa yang terjadi ketika ukuran sampel masing-masing adalah 9, 10, 11, dan 12. Yaitu, ukuran sampel adalah satu kurang dari jumlah prediktor menjadi dua lebih dari jumlah prediktor
summary(fitmodel(n=9, k=10))
summary(fitmodel(n=10, k=10))
summary(fitmodel(n=11, k=10))
summary(fitmodel(n=12, k=10))
> ringkasan (fitmodel (n = 9, k = 10))
Call:
lm(formula = y ~ ., data = x)
Residuals:
ALL 9 residuals are 0: no residual degrees of freedom!
Coefficients: (2 not defined because of singularities)
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.31455 NA NA NA
x1 0.34139 NA NA NA
x2 -0.45924 NA NA NA
x3 0.42474 NA NA NA
x4 -0.87727 NA NA NA
x5 -0.07884 NA NA NA
x6 -0.03900 NA NA NA
x7 1.08482 NA NA NA
x8 0.62890 NA NA NA
x9 NA NA NA NA
x10 NA NA NA NA
Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared: 1, Adjusted R-squared: NaN
F-statistic: NaN on 8 and 0 DF, p-value: NA
Ukuran sampel kurang dari jumlah prediktor. Hanya mungkin untuk memperkirakan 9 parameter, salah satunya adalah konstanta.
> ringkasan (fitmodel (n = 10, k = 10))
Call:
lm(formula = y ~ ., data = x)
Residuals:
ALL 10 residuals are 0: no residual degrees of freedom!
Coefficients: (1 not defined because of singularities)
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.1724 NA NA NA
x1 -0.3615 NA NA NA
x2 -0.4670 NA NA NA
x3 -0.6883 NA NA NA
x4 -0.1744 NA NA NA
x5 -1.0331 NA NA NA
x6 0.3886 NA NA NA
x7 -0.9886 NA NA NA
x8 0.2778 NA NA NA
x9 0.4616 NA NA NA
x10 NA NA NA NA
Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared: 1, Adjusted R-squared: NaN
F-statistic: NaN on 9 and 0 DF, p-value: NA
Ukuran sampel sama dengan jumlah prediktor. Hanya mungkin untuk memperkirakan 10 parameter, salah satunya adalah konstanta.
> ringkasan (fitmodel (n = 11, k = 10))
Call:
lm(formula = y ~ ., data = x)
Residuals:
ALL 11 residuals are 0: no residual degrees of freedom!
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.9638 NA NA NA
x1 -0.8393 NA NA NA
x2 -1.5061 NA NA NA
x3 -0.4917 NA NA NA
x4 0.3251 NA NA NA
x5 4.4212 NA NA NA
x6 0.7614 NA NA NA
x7 -0.4195 NA NA NA
x8 0.2142 NA NA NA
x9 -0.9264 NA NA NA
x10 -1.2286 NA NA NA
Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared: 1, Adjusted R-squared: NaN
F-statistic: NaN on 10 and 0 DF, p-value: NA
Ukuran sampel adalah satu lebih dari jumlah prediktor. Semua parameter diperkirakan termasuk konstanta.
> ringkasan (fitmodel (n = 12, k = 10))
Call:
lm(formula = y ~ ., data = x)
Residuals:
1 2 3 4 5 6 7 8 9 10 11
0.036530 -0.042154 -0.009044 -0.117590 0.171923 -0.007976 0.050542 -0.011462 0.010270 0.000914 -0.083533
12
0.001581
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.14680 0.11180 1.313 0.4144
x1 0.02498 0.09832 0.254 0.8416
x2 1.01950 0.13602 7.495 0.0844 .
x3 -1.76290 0.26094 -6.756 0.0936 .
x4 0.44832 0.16283 2.753 0.2218
x5 -0.76818 0.15651 -4.908 0.1280
x6 -0.33209 0.18554 -1.790 0.3244
x7 1.62276 0.21562 7.526 0.0841 .
x8 -0.47561 0.18468 -2.575 0.2358
x9 1.70578 0.31547 5.407 0.1164
x10 3.25415 0.46447 7.006 0.0903 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.2375 on 1 degrees of freedom
Multiple R-squared: 0.995, Adjusted R-squared: 0.9452
F-statistic: 19.96 on 10 and 1 DF, p-value: 0.1726
Ukuran sampel dua lebih dari jumlah prediktor, dan akhirnya mungkin untuk memperkirakan kesesuaian model keseluruhan.