Wykład 4 Wybór najlepszej procedury. Estymacja parametrów regresji z wykorzystaniem metody bootstrap. Wrocław, 22.03.2017r
Wybór najlepszej procedury - podsumowanie
Co nas interesuje przed przeprowadzeniem procedury testowania: moc testu odporność testu wpływ brakujących danych wpływ obserwacji odstających
Błędy w testowaniu hipotez Definicja Błędem I rodzaju nazywamy błędne odrzucenie hipotezy H 0, gdy jest ona prawdziwa. Definicja Błędem II rodzaju podjęcie decyzji o nieodrzuceniu hipotezy H 0, gdy jest ona fałszywa. Który błąd groźniejszy w skutkach?
Moc testu Moc testu - prawdopodobieństwo nie popełnienia błędu II rodzaju. Moc testu zależy od: 1 rzeczywistej wielkości efektu 2 zmienności w populacji 3 poziomu istotności 4 rozmiaru próby 5 metod użytych do testowania
Jakiego testu użyć? 1 Typ danych: porządkowe (metryczne, kategoryczne) 2 Założenia: 1 procedury bootstrapowe: 1 przy prawdziwości hipotezy zerowej wszystkie obserwacje z próby pochodzą z populacji z tym samym parametrem 2 obserwacje wzajemnie niezależne 2 testy permutacyjne - prawie brak założeń 1 przy prawdziwości hipotezy zerowej wszystkie obserwacje są wymienialne (ang.exchangeable), tj. niezależne jednakowo rozłożone, uzyskane w efekcie losowania bez powtórzeń z tej samej skończonej populacji 3 procedury parametryczne: 1 wszystkie obserwacje niezależne jednakowo rozłożone 2 określony rozkład
Estymacja parametrów regresji z wykorzystaniem metody bootstrap
Modele liniowe Modelem liniowym nazywamy taki model statystyczny, w którym obserwacje Y 1, Y 2,... Y n są postaci Y i = X i,1 β 1 + X i,2 β 2 +... + X i,k β k + ɛ i, i = 1, 2,..., n, gdzie x i,j są znanymi wielkościami, ɛ i są błędami losowymi, a (β 1, β 2,..., β n ) jest wektorem nieznanych parametrów.
Model liniowy Gaussa - Markowa Y = (Y 1, Y 2,..., Y n ) Y = Xβ + ɛ, gdzie E(ɛ) = 0, Cov(ɛ) = σ 2 I, X - znana macierz nxm β = (β 1, β 2,..., β m ), σ - nieznane parametry. Pojedyncza zmienna objaśniana jest postaci: Y i = X i1 β 1 + X i2 β 2 + + X im β m + ɛ i, i = 1, 2..., n.
Model liniowy - estymacja parametrów Metody estymacji współczynników modelu: 1 Metoda najmniejszych kwadratów (ang. ordinary-least-squares (OLS)): Polega na minimalizacji wyrażenia: n (Y i X i1 β 1 + X i2 β 2 + + X in β m ) 2 i=1 2 Metoda najmniejszego całkowitego odchylenia (ang. east-absolute-deviation (LAD)): Polega na minimalizacji wyrażenia: n Y i X i1 β 1 + X i2 β 2 + + X in β m i=1
Model liniowy - estymacja parametrów Pojedynczą zmienną losową można zapisać jako: Y i = f (X i, β) + ɛ i, i = 1, 2..., n. Zakładamy, że błędy losowe ɛ i F, i = 1, 2,..., n. Nieznany wektor parametrów β szacujemy przez ˆβ, korzystając z metody najmniejsztch kwadratów. Błędy losowe szacujemy przez: ˆɛ i = Y i f (X i, ˆβ) i = 1, 2..., n.,
Model liniowy - estymacja parametrów Definiujemy rozkład P(Z = ˆɛ i ) = 1 n i = 1, 2..., n., Według tego rozkładu generujemy próbę (ˆɛ 1, ˆɛ 2,..., ˆɛ n), dla których wyznaczamy wartości zmiennych losowych: Y i = f (X i, ˆβ) + ɛ i, i = 1, 2..., n. Wyznaczamy wektory ˆβ - estymatory wektora parametrów β korzystając z metody najmniejszych kwadratów dla modelu Y i = f (X i, β) + ɛ i, i = 1, 2..., n. Procedurę powtarzamy B-razy, otrzymując ciąg estymatorów ˆβ 1, ˆβ 2,..., ˆβ B, który określa bootstrapowy rozkład estymatora metody najmniejszych kwadratów parametru β.
Model liniowy - estymacja parametrów Niech ˆβ oznacza estymator bootstrapowy parametru β, wówczas: cov( ˆβ ) = 1 n n i=1 E( ˆβ ) = ˆβ [ Y i f (X i, ˆβ) ] 2 (X X ) 1
Przykład 4.1 Guests 289 391 482 358 365 561 339 479 500 160 319 331 Meals 235 355 475 275 345 522 315 399 441 158 305 225 Meals 200 300 400 500 200 300 400 500 Guests
Przykład 4.1 - c.d. Guests <-c (289,391,482,358,365,561,339,479,500,160,319,331) Meals <-c (235,355,475,275,345,522,315,399,441,158,305,225) data <-as. data. frame ( cbind ( Meals, Gueasts )) library ( boot ) # funkcja do wyznaczania współczynników regresji bootreg <- function ( formula, data, ind ){ d <- data [ ind,] # allows boot to select sample f <-lm(formula, data =d) return ( coef (f)) } # bootstrap z 500 powtórzeń results <- boot ( data =data, statistic = bootreg, R =500, formula = Meals ~ Guests )
Przykład 4.1 - c.d. ORDINARY NONPARAMETRIC BOOTSTRAP Call: boot(data = data, statistic = bootreg, R = 1000, formula = Meals~Guests) Bootstrap Statistics : original bias std. error t1* -20.5500137-6.55244193 39.97996692 t2* 0.9393529 0.01410571 0.09815506
Histogram of t Density 0.000 0.004 0.008 0.012 t* 150 50 0 50 100 200 100 0 100 t* 3 2 1 0 1 2 3 Quantiles of Standard Normal Histogram of t Density 0 1 2 3 4 5 t* 0.6 0.8 1.0 1.2 0.6 0.8 1.0 1.2 1.4 3 2 1 0 1 2 3 t* Quantiles of Standard Normal
boot.ci(results, index =1) BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS Based on 400 bootstrap replicates CALL : boot.ci(boot.out = results, index = 1) Intervals : Level Normal Basic 95% (-95.63, 59.91 ) (-75.82, 81.42 ) Level Percentile BCa 95% (-122.52, 34.72 ) (-139.57, 28.34 )
boot.ci(results, index =2) BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS Based on 400 bootstrap replicates CALL : boot.ci(boot.out = results, index = 2) Intervals : Level Normal Basic 95% (0.7461, 1.1249) (0.6905, 1.0909) Level Percentile BCa 95% (0.7878, 1.1882) (0.7939, 1.2008)
# obtain LAD regression coefficients and test slope to see if greater than zero library (" quantreg ") Guests <-c (289,391,482,358,365,561,339,479,500,160,319,331) Meals <-c (235,355,475,275,345,522,315,399,441,158,305,225) N <-500 f <- coef (rq( formula = Meals ~ Guests )) names (f) <- NULL stat0 <-f [2] cnt <-0 for (i in 1:N){ guestp = sample ( Guests ) fp <- coef (rq( formula = Meals ~ guestp )) names (fp) <- NULL if (fp [2] >= stat0 ) cnt <-cnt +1 } f cnt /N
# otrzymujemy bootstrapowe przedziały ufności dla współczynników regresji wyznaczonych metodą LAD library (" quantreg ") Guests <-c (289,391,482,358,365,561,339,479,500,160,319,331) Meals <-c (235,355,475,275,345,522,315,399,441,158,305,225) n <- length ( Guests ) data <- cbind ( Guests, Meals ) # ustalamy liczbę prób bootstrapowych na 500 N <-500 stat <- numeric ( N) # tworzymy wektor wyników for (i in 1:N){ ind <- sample (n,n, replace =T) guestp <- data [ind,] fp <- coef (rq( formula = Meals ~ guestp )) stat [i] <-fp [2] } quantile (stat, prob =c (0.05,0.95) )
Polecane literatura: A.C. Davison, D.V. Hinkley Bootstrap Methods and their Application, 1997, University Press, Cambridge, U.K. P.I. Good, Resampling Methods. A Practical Guide to Data Analysis, 2005 E.L. Lehmann,Teoria estymacji punktowej, PWN Warszawa 1991