Uważam, że proste ćwiczenia z zakresu analizy danych często pomagają zilustrować i wyjaśnić pojęcia statystyczne. Jakie ćwiczenia analizy danych stosujesz do nauczania pojęć statystycznych?
Ponieważ muszę dość często wyjaśniać metody selekcji zmiennych, nie w kontekście nauczania, ale dla niestatystów proszących o pomoc w ich badaniach, uwielbiam ten niezwykle prosty przykład, który ilustruje, dlaczego wybór pojedynczej zmiennej niekoniecznie jest dobrym pomysłem.
Jeśli masz ten zestaw danych:
y X1 x2
1 1 1
1 0 0
0 1 0
0 0 1
Nie trzeba długo zdawać sobie sprawy, że zarówno X1, jak i X2 indywidualnie są całkowicie nieinformacyjne dla y (gdy są takie same, y jest „pewne”, że wynosi 1 - ignoruję tutaj problemy z wielkością próby, po prostu załóżmy, że te cztery obserwacje bądź cały wszechświat). Jednak połączenie tych dwóch zmiennych jest całkowicie pouczające. Dlatego łatwiej jest ludziom zrozumieć, dlaczego nie warto (np.) Sprawdzać tylko wartości p dla modeli z każdą zmienną jako regresorem.
Z mojego doświadczenia wynika, że to naprawdę przekazuje wiadomość.
Wiele współczynników regresji i oczekiwany błąd znaków
Jedną z moich ulubionych ilustracji koncepcji statystycznej poprzez analizę danych jest dekonstrukcja regresji wielokrotnej w regresje dwuwariantowe.
Cele
Pojęcie
Współczynniki regresji w modelu regresji wielokrotnej reprezentują związek między a) częścią danej zmiennej predykcyjnej (x1), która nie jest powiązana ze wszystkimi innymi zmiennymi predykcyjnymi (x2 ... xN) w modelu; oraz 2) część zmiennej odpowiedzi (Y), która nie jest powiązana ze wszystkimi innymi zmiennymi predykcyjnymi (x2 ... xN) w modelu. Gdy istnieje korelacja między predyktorami, znaki powiązane ze współczynnikami predyktora reprezentują relacje między tymi resztami.
Ćwiczenie
Współczynnik dla kroku 4 dla r2 będzie współczynnikiem x1 dla modelu regresji wielokrotnej z x1 i x2. Możesz zrobić to samo dla x2, dzieląc x1 zarówno na y, jak i x2.
Oto kod R dla tego ćwiczenia.
set.seed(3338)
x1 <- rnorm(100)
x2 <- rnorm(100)
y <- 0 + 2*x1 + 5*x2 + rnorm(100)
lm(y ~ x1 + x2) # Multiple regression Model
ry1 <- residuals( lm( y ~ x2) ) # The part of y not related to x2
rx1 <- residuals( lm(x1 ~ x2) ) # The part of x1 not related to x2
lm( ry1 ~ rx1)
ry2 <- residuals( lm( y ~ x1) ) # The part of y not related to x1
rx2 <- residuals( lm(x2 ~ x1) ) # The part of x2 not related to x1
lm( ry2 ~ rx2)
Oto odpowiednie wyniki i wyniki.
Call:
lm(formula = y ~ x1 + x2)
Coefficients:
(Intercept) ***x1*** ***x2***
-0.02410 ***1.89527*** ***5.07549***
Call:
lm(formula = ry1 ~ rx1)
Coefficients:
(Intercept) ***rx1***
-2.854e-17 ***1.895e+00***
Call:
lm(formula = ry2 ~ rx2)
Coefficients:
(Intercept) ***rx2***
3.406e-17 ***5.075e+00***