Musisz pomyśleć o tym, co rozumiesz przez „limit”. Istnieją ograniczenia, na przykład gdy masz więcej predyktorów niż przypadków, napotykasz problemy w szacowaniu parametrów (patrz mała symulacja R na dole tej odpowiedzi).
Jednak wyobrażam sobie, że mówisz więcej o miękkich limitach związanych z mocą statystyczną i dobrą praktyką statystyczną. W tym przypadku język „limitów” nie jest właściwie odpowiedni. Większe rozmiary prób raczej sprawiają, że rozsądniejsze jest posiadanie większej liczby predyktorów, a próg określający liczbę predyktorów jest prawdopodobnie kontynuacją racjonalności. Omówienie ogólnych zasad dotyczących wielkości próby w regresji wielokrotnej może okazać się istotne, ponieważ wiele takich zasad odnosi się do liczby predyktorów.
Kilka punktów
- Jeśli chodzi o bardziej ogólne przewidywanie niż o istotność statystyczną poszczególnych predyktorów, prawdopodobnie uzasadnione jest włączenie większej liczby predyktorów niż w przypadku istotności statystycznej poszczególnych predyktorów.
- Jeśli bardziej interesuje Cię testowanie konkretnego modelu statystycznego, który odnosi się do twojego pytania badawczego (np. Jak to jest często w wielu aplikacjach nauk społecznych), prawdopodobnie masz powody, aby uwzględnić konkretne predyktory. Jednak możesz również mieć możliwość wybiórczego uwzględnienia predyktorów (np. Jeśli masz wiele zmiennych, które mierzą podobny konstrukt, możesz uwzględnić tylko jedną z nich). Podczas testowania modeli opartych na teorii istnieje wiele możliwości wyboru, a decyzja o tym, które predyktory mają zostać uwzględnione, wiąże się z bliskim powiązaniem między twoją teorią a pytaniem badawczym.
- Często nie widzę, by badacze stosujący poprawki Bonferroniego stosowali się do testów istotności współczynników regresji. Jednym z uzasadnionych powodów tego może być fakt, że badacze są bardziej zainteresowani oceną ogólnych właściwości modelu.
- Jeśli jesteś zainteresowany oceną względnej ważności predyktorów, uważam, że przydatne jest zbadanie zarówno dwuwymiarowej zależności między predyktorem a wynikiem, jak również relacji między predyktorem a kontrolą wyników dla innych predyktorów. Jeśli uwzględnisz wiele predyktorów, często bardziej prawdopodobne jest, że uwzględnisz predyktory, które są ze sobą ściśle powiązane. W takich przypadkach interpretacja wskaźników ważności zarówno dwuwymiarowych, jak i modelowych może być użyteczna, ponieważ zmienna ważna w sensie dwuwariantowym może być ukryta w modelu przez inne skorelowane predyktory ( szerzej omawiam to tutaj z linkami ).
Trochę symulacji R.
Napisałem tę małą symulację, aby podkreślić związek między wielkością próbki a estymacją parametru w regresji wielokrotnej.
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)
}
fitmodel
Funkcja przyjmuje dwa argumenty n
dla wielkości próby i k
dla liczby predyktorów. Nie liczę stałej jako predyktora, ale jest szacowana. Następnie generuję losowe dane i dopasowuję model regresji przewidujący zmienną ze k
zmiennych predykcyjnych i zwraca dopasowanie.
Biorąc pod uwagę, że w swoim pytaniu wspomniałeś, że jesteś zainteresowany tym, czy 10 predyktorów to za dużo, poniższe wywołania funkcji pokazują, co dzieje się, gdy wielkość próby wynosi odpowiednio 9, 10, 11 i 12. To znaczy, wielkość próby jest o jeden mniejsza niż liczba predyktorów do dwóch więcej niż liczba predyktorów
summary(fitmodel(n=9, k=10))
summary(fitmodel(n=10, k=10))
summary(fitmodel(n=11, k=10))
summary(fitmodel(n=12, k=10))
> podsumowanie (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
Rozmiar próbki jest o jeden mniejszy niż liczba predyktorów. Można oszacować tylko 9 parametrów, z których jeden jest stały.
> podsumowanie (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
Wielkość próby jest taka sama jak liczba predyktorów. Można oszacować tylko 10 parametrów, z których jeden jest stały.
> podsumowanie (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
Rozmiar próbki jest o jeden większy niż liczba predyktorów. Wszystkie parametry są szacowane łącznie ze stałą.
> podsumowanie (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
Wielkość próby jest o dwa razy większa niż liczba predyktorów, i wreszcie można oszacować dopasowanie całego modelu.
Często patrzę na to z punktu widzenia tego, czy model wyposażony w pewną liczbę parametrów może dać prognozy poza próbą, które są tak dokładne, jak prognozy dokonane na oryginalnej próbce rozwoju modelu. Krzywe kalibracyjne, średnie kwadratowe błędy X * Beta i wskaźniki dyskryminacji predykcyjnej są niektórymi z typowo stosowanych miar. Stąd pochodzą niektóre podstawowe zasady, takie jak zasada 15: 1 (efektywny rozmiar próbki 15 na badany lub szacowany parametr).
Jeśli chodzi o mnogość, idealne dopasowanie mnogości, przy założeniu, że model utrzymuje się i założenia dystrybucyjne są spełnione, jest globalnym testem, że wszystkie bety (inne niż punkt przecięcia) są zerowe. Zazwyczaj jest to testowane przy użyciu współczynnika wiarygodności lub testu F.
Istnieją dwa ogólne podejścia do opracowywania modeli, które zwykle działają dobrze. (1) Mają odpowiednią wielkość próby i pasują do całego wcześniej określonego modelu, i (2) zastosowały karane oszacowanie maksymalnego prawdopodobieństwa, aby umożliwić tylko tyle skutecznych stopni swobody w regresji, ile będzie wspierać obecna wielkość próby. [Krokowy wybór zmiennych bez kary nie powinien odgrywać żadnej roli, ponieważ wiadomo, że nie działa.]
źródło
źródło
Zasadniczo nie ma limitu per se, ile możesz mieć predyktorów. Zasadniczo można oszacować 2 miliardy „bet”. Ale w praktyce dzieje się tak, że bez wystarczających danych lub wystarczających wcześniejszych informacji nie okaże się to bardzo owocnym ćwiczeniem. Żadne konkretne parametry nie zostaną określone bardzo dobrze i nie nauczysz się wiele z analizy.
Teraz, jeśli nie masz wielu wcześniejszych informacji o swoim modelu (struktura modelu, wartości parametrów, hałas itp.), Będziesz potrzebować danych, aby podać te informacje. Jest to zwykle najczęstsza sytuacja, która ma sens, ponieważ zwykle potrzebujesz całkiem dobrego powodu, aby zbierać dane (i wydawać $$$) na temat czegoś, co już dość dobrze znasz. Jeśli taka jest Twoja sytuacja, rozsądnym ograniczeniem jest posiadanie dużej liczby obserwacji na parametr. Masz 12 parametrów (10 nachyleń bety, 1 punkt przecięcia i parametr hałasu), więc wszystko na ponad 100 obserwacjach powinno być w stanie określić twoje parametry wystarczająco dobrze, aby móc wyciągnąć pewne wnioski.
Ale nie ma „twardych i szybkich” zasad. Mając tylko 10 predyktorów, nie powinieneś mieć problemów z czasem obliczeniowym (jeśli tak, to uzyskaj lepszy komputer). Oznacza to głównie wykonanie większej ilości pracy, ponieważ masz 11 wymiarów danych do zaabsorbowania - co utrudnia wizualizację danych. Podstawowe zasady regresji z tylko 1 zmienną zależną tak naprawdę nie różnią się tak bardzo.
Problem z korektą Bonferroniego polega na tym, że aby był to rozsądny sposób dostosowania poziomu istotności bez poświęcania zbyt dużej mocy, potrzebujesz hipotezy, którą korygujesz, aby być niezależnym (tj. Poznanie, że jedna hipoteza jest prawdziwa, nie mówi ci nic o tym, czy inna hipoteza jest prawdziwa). Nie jest to prawdą w przypadku standardowego „testu t” w regresji wielokrotnej, dla którego na przykład współczynnik równy jest zero. Statystyka testowa zależy od tego, co jeszcze w modelu - co jest okrągłym sposobem stwierdzenia, że hipoteza jest zależna. Lub, częstszym sposobem powiedzenia tego jest to, że rozkład próbkowania wartości t uwarunkowany zerowym predyktorem i zależy od tego, jakie inne parametry są zerowe. Tak więc użycie korekcji bonferroni tutaj może faktycznie dać niższą „ogólną”
źródło