W R, kiedy mam (uogólniony) model liniowy ( lm
, glm
, gls
, glmm
, ...), jak mogę sprawdzić współczynnik (nachylenie regresji) przed jakąkolwiek inną wartość niż 0? W podsumowaniu modelu wyniki testu t współczynnika są automatycznie raportowane, ale tylko dla porównania z 0. Chcę porównać go z inną wartością.
Wiem, że mogę użyć sztuczki z reparametryzacją y ~ x
as y - T*x ~ x
, gdzie T
jest testowana wartość, i uruchomić ten model z reparametryzacją, ale szukam prostszego rozwiązania, które prawdopodobnie działałoby na oryginalnym modelu.
r
regression
t-test
Ciekawy
źródło
źródło
Odpowiedzi:
Oto szersze rozwiązanie, które będzie działać z dowolnym pakietem, a nawet jeśli masz tylko wyniki regresji (na przykład z papieru).
Weź współczynnik i jego błąd standardowy.
Oblicz . Df dlatsą takie same, jak dla testu zH0:β=0.t=β^−βH0s.e.(β^) t H0:β=0
źródło
pt()
pt
- lub cokolwiek innego, co daje wartość t cdfs. Wiele pakietów ma je i są szeroko dostępne tabele T.Możesz użyć prostego testu t zaproponowanego przez Glen_b lub bardziej ogólnego testu Walda.
W twoim przykładzie, w którym masz tylko jedną hipotezę na jednym parametrze, R jest wektorem wiersza, z wartością jednego dla danego parametru i zero w innym miejscu, a q jest skalarem z ograniczeniem do testowania.
W R można uruchomić test Wald z funkcją linearHypothesis () z pakietu samochodu . Powiedzmy, że chcesz sprawdzić, czy drugi współczynnik (wskazany przez argument hypotheis.matrix ) jest inny niż 0,1 (argument rhs ):
W przypadku testu t ta funkcja implementuje test t pokazany przez Glen_b:
Upewnijmy się, że otrzymaliśmy prawidłową procedurę, porównując Wald, nasz test t i domyślny test t R, dla standardowej hipotezy, że drugi współczynnik wynosi zero:
Powinieneś uzyskać ten sam wynik dzięki trzem procedurom.
źródło
hypothesis.matrix
parametr?Ostatecznie zdecydowanie najłatwiejszym rozwiązaniem było wykonanie reparametryzacji:
źródło