Z Quick-R Roberta Kabacoffa mam
# Bootstrap 95% CI for regression coefficients
library(boot)
# function to obtain regression weights
bs <- function(formula, data, indices) {
d <- data[indices,] # allows boot to select sample
fit <- lm(formula, data=d)
return(coef(fit))
}
# bootstrapping with 1000 replications
results <- boot(data=mtcars, statistic=bs,
R=1000, formula=mpg~wt+disp)
# view results
results
plot(results, index=1) # intercept
plot(results, index=2) # wt
plot(results, index=3) # disp
# get 95% confidence intervals
boot.ci(results, type="bca", index=1) # intercept
boot.ci(results, type="bca", index=2) # wt
boot.ci(results, type="bca", index=3) # disp
Jak uzyskać wartości p współczynników regresji bootstrap?
r
regression
p-value
bootstrap
ECII
źródło
źródło
Odpowiedzi:
Kolejny wariant, który jest nieco uproszczony, ale myślę, że dostarczam wiadomość bez jawnego korzystania z biblioteki,
boot
która może mylić niektóre osoby z używaną składnią.Mamy model liniowy: ,y= Xβ+ ϵ ε ~ N( 0 ,σ2))
Poniżej przedstawiono parametryczny bootstrap dla tego modelu liniowego, co oznacza, że nie próbkujemy ponownie naszych oryginalnych danych, ale w rzeczywistości generujemy nowe dane z naszego dopasowanego modelu. Dodatkowo zakładamy, że rozkład początkowy współczynnika regresji jest symetryczny, a więc niezmienny w tłumaczeniu. (Mówiąc z grubsza, że możemy przesuwać jego oś, wpływając na jej właściwości) Pomysł polega na tym, że wahania są spowodowane a zatem przy wystarczającej liczbie próbek powinny one zapewnić dobre przybliżenie prawdziwego rozkładu z . Tak jak poprzednio, ponownie testujemy i zdefiniowaliśmy nasze wartości p jakoβ β ϵ β H.0: 0 =βjot „prawdopodobieństwo, biorąc pod uwagę zerową hipotezę rozkładu prawdopodobieństwa danych, że wynik byłby tak ekstremalny, jak bardziej ekstremalny niż obserwowany wynik” (gdzie obserwowane wyniki w tym przypadku są, które otrzymaliśmy dla naszego oryginalnego modelu). Więc oto idzie:β
Jak wspomniano, cały pomysł polega na tym, że masz bootstrapped dystrybucję zbliżoną do ich prawdziwej. (Oczywiście ten kod jest zoptymalizowany pod kątem szybkości, ale pod kątem czytelności. :))β
źródło
Społeczność i @BrianDiggs mogą mnie poprawić, jeśli się mylę, ale wierzę, że możesz uzyskać wartość p dla swojego problemu w następujący sposób. Wartość p dla testu dwustronnego jest zdefiniowana jako
Jeśli więc uporządkujesz współczynniki ładowania według rozmiaru, a następnie określisz proporcje coraz większe zero, minimalna proporcja razy dwa powinna dać ci wartość p.
Zwykle w takiej sytuacji używam następującej funkcji:
źródło
Bootstrap można wykorzystać do obliczeńp -wartości, ale wymagałoby to znacznej zmiany w kodzie. Ponieważ nie jestem zaznajomiony z RI, mogę jedynie dać ci odniesienie, w którym możesz sprawdzić, co powinieneś zrobić: rozdział 4 (Davison i Hinkley 1997).
Davison, AC i Hinkley, DV 1997. Metody bootstrap i ich zastosowanie. Cambridge: Cambridge University Press.
źródło