Interesuje mnie zmiana hipotez zerowych za pomocą glm()
R.
Na przykład:
x = rbinom(100, 1, .7)
summary(glm(x ~ 1, family = "binomial"))
sprawdza hipotezę, że . Co jeśli chcę zmienić wartość null na = jakąś dowolną wartość, w obrębie glm()
?
Wiem, że można to zrobić również za pomocą prop.test()
i chisq.test()
, ale chciałbym zbadać pomysł użycia glm()
do testowania wszystkich hipotez dotyczących danych kategorycznych.
r
hypothesis-testing
generalized-linear-model
chi-squared
offset
Bill Ravenwood
źródło
źródło
glm
Odpowiedzi:
Możesz użyć przesunięcia :β0=0 p q=logit(p)=log(p/(1−p))
glm
zfamily="binomial"
parametrami oszacowań na log-odds lub skali logit, więc odpowiada log-odds 0 lub prawdopodobieństwu 0,5. Jeśli chcesz porównać z prawdopodobieństwem p , chcesz, aby wartość wyjściowa wynosiła q = logit ( p ) = log ( p / ( 1 - p ) ) . Model statystyczny jest terazgdzie tylko ostatnia linia zmieniła się od standardowej konfiguracji. W kodzie R:
offset(q)
w formuleqlogis(p)
rep(q,100)
.źródło
glm(y ~ offset(q)-1, family=binomial, data=dd)
i używająclrtest
zlmtest
pakietu. Test chi-kwadrat Pearsona jest testem punktowym dla modelu GLM. Wald / LRT / Score są spójnymi testami i powinny zapewniać równoważne wnioskowanie w stosunkowo dużych próbach.anova()
z bazy R na glm, aby przejść test LRlrtest
robi to.anova(.,test="Chisq")
?Spójrz na przedział ufności dla parametrów twojego GLM:
Jest to przedział ufności dla logarytmicznych szans.
Dla mamy log ( o d d s ) = log pp=0.5 . Testując hipotezę, żep=0,5log(odds)=logp1−p=log1=0 p=0.5 jest równoważne sprawdzeniu, czy przedział ufności zawiera 0. Ta nie ma, więc hipoteza jest odrzucana.
Teraz, dla dowolnego dowolnego , możesz obliczyć log-odds i sprawdzić, czy jest on w przedziale ufności.p
źródło
confint
Używanie wartości p opartych na wartościach z / t w funkcji glm.summary jako testu hipotezy nie jest (całkowicie) poprawne / dokładne.
To jest mylący język. Podane wartości są nazywane wartościami Z. Ale w tym przypadku używają szacowanego błędu standardowego zamiast prawdziwego odchylenia. Dlatego w rzeczywistości są one bliższe wartościom t . Porównaj następujące trzy dane wyjściowe:
1) Podsumowanie. Glm
2) Test t
3) Test Z.
Nie są to dokładne wartości p. Dokładne obliczenie wartości p przy użyciu rozkładu dwumianowego działałoby lepiej (przy dzisiejszej mocy obliczeniowej nie jest to problemem). Rozkład t, zakładając rozkład błędu Gaussa, nie jest dokładny (przecenia p, przekroczenie poziomu alfa występuje rzadziej w „rzeczywistości”). Zobacz następujące porównanie:
Czarna krzywa przedstawia równość. Czerwona krzywa znajduje się poniżej. Oznacza to, że dla danej obliczonej wartości p za pomocą funkcji podsumowania glm znajdujemy tę sytuację (lub większą różnicę) w rzeczywistości rzadziej niż wskazuje wartość p.
źródło