Istnieje wiele sposobów kontrolowania zmiennych.
Najłatwiejszym i jednym z tych, które wymyśliłeś, jest rozwarstwienie danych, dzięki czemu masz podgrupy o podobnych cechach - istnieją wtedy metody na połączenie tych wyników, aby uzyskać jedną „odpowiedź”. Działa to, jeśli masz bardzo małą liczbę zmiennych, które chcesz kontrolować, ale jak słusznie odkryłeś, szybko się rozpada, gdy dzielisz dane na coraz mniejsze części.
Bardziej powszechnym podejściem jest uwzględnianie zmiennych, które chcesz kontrolować w modelu regresji. Na przykład, jeśli masz model regresji, który można koncepcyjnie opisać jako:
BMI = Impatience + Race + Gender + Socioeconomic Status + IQ
Oszacowanie, jakie otrzymasz za niecierpliwość, będzie efektem niecierpliwości w obrębie poziomów innych zmiennych towarzyszących - regresja pozwala zasadniczo wygładzić miejsca, w których nie masz dużo danych (problem z podejściem stratyfikacyjnym), choć należy to zrobić z ostrożnością.
Istnieją jeszcze bardziej wyrafinowane sposoby kontrolowania innych zmiennych, ale istnieje prawdopodobieństwo, że ktoś powie „kontrolowany dla innych zmiennych”, co oznacza, że zostały one uwzględnione w modelu regresji.
W porządku, poprosiłeś o przykład, na którym możesz popracować, aby zobaczyć, jak to działa. Przeprowadzę cię krok po kroku. Wszystko czego potrzebujesz to zainstalowana kopia R.
Po pierwsze potrzebujemy danych. Wytnij i wklej następujące fragmenty kodu do R. Pamiętaj, że to wymyślony przykład, który wymyśliłem na miejscu, ale pokazuje proces.
covariate <- sample(0:1, 100, replace=TRUE)
exposure <- runif(100,0,1)+(0.3*covariate)
outcome <- 2.0+(0.5*exposure)+(0.25*covariate)
To twoje dane. Zauważ, że znamy już związek między wynikiem, ekspozycją i zmienną towarzyszącą - to jest punkt wielu badań symulacyjnych (których jest to niezwykle prosty przykład. Zaczynasz od znanej struktury i upewniasz się, że twoja metoda może uzyskać właściwą odpowiedź.
Teraz przejdźmy do modelu regresji. Wpisz następujące polecenie:
lm(outcome~exposure)
Czy dostałeś Intercept = 2,0 i ekspozycję = 0,6766? A może coś podobnego, biorąc pod uwagę, że w danych będą jakieś losowe różnice? Dobrze - ta odpowiedź jest zła. Wiemy, że to źle. Dlaczego to jest złe? Nie udało się kontrolować zmiennej, która wpływa na wynik i ekspozycję. Jest to zmienna binarna, zrób to, co chcesz - płeć, palacz / niepalący itp.
Teraz uruchom ten model:
lm(outcome~exposure+covariate)
Tym razem powinieneś otrzymać współczynniki Intercept = 2,00, ekspozycja = 0,50 i zmienną towarzyszącą 0,25. To, jak wiemy, właściwa odpowiedź. Kontrolowałeś inne zmienne.
Co dzieje się, gdy nie wiemy, czy zadbaliśmy o wszystkie zmienne, których potrzebujemy (nigdy tak naprawdę nie robimy)? Nazywa się to zamieszaniem szczątkowym i jest przedmiotem troski w większości badań obserwacyjnych - że kontrolowaliśmy niedoskonale, a nasza odpowiedź, choć prawy, nie jest dokładna. Czy to pomaga bardziej?