Pracuję nad przykładami z Doing Bayesian Data Analysis Kruschke , a konkretnie wykładniczą ANOVA wykładniczą Poissona w rozdz. 22, który przedstawia jako alternatywę dla częstych testów chi-kwadrat niezależności dla tabel awaryjnych.
Widzę, w jaki sposób otrzymujemy informacje o interakcjach, które występują częściej lub rzadziej niż można by się spodziewać, gdyby zmienne były niezależne (tj. Kiedy HDI wyklucza zero).
Moje pytanie brzmi: w jaki sposób mogę obliczyć lub zinterpretować wielkość efektu w tych ramach? Na przykład Kruschke pisze „połączenie niebieskich oczu z czarnymi włosami zdarza się rzadziej niż można by oczekiwać, gdyby kolor oczu i kolor włosów były niezależne”, ale jak możemy opisać siłę tego skojarzenia? Jak mogę stwierdzić, które interakcje są bardziej ekstremalne niż inne? Gdybyśmy przeprowadzili test chi-kwadrat tych danych, moglibyśmy obliczyć V Craméra jako miarę ogólnej wielkości efektu. Jak wyrazić wielkość efektu w tym kontekście bayesowskim?
Oto samodzielny przykład z książki (zakodowany R
), na wypadek gdyby odpowiedź była dla mnie ukryta na pierwszy rzut oka ...
df <- structure(c(20, 94, 84, 17, 68, 7, 119, 26, 5, 16, 29, 14, 15,
10, 54, 14), .Dim = c(4L, 4L), .Dimnames = list(c("Black", "Blond",
"Brunette", "Red"), c("Blue", "Brown", "Green", "Hazel")))
df
Blue Brown Green Hazel
Black 20 68 5 15
Blond 94 7 16 10
Brunette 84 119 29 54
Red 17 26 14 14
Oto wyniki częstych z miarami wielkości efektu (nie w książce):
vcd::assocstats(df)
X^2 df P(> X^2)
Likelihood Ratio 146.44 9 0
Pearson 138.29 9 0
Phi-Coefficient : 0.483
Contingency Coeff.: 0.435
Cramer's V : 0.279
Oto wynik Bayesa z HDI i prawdopodobieństwami komórek (bezpośrednio z książki):
# prepare to get Krushkes' R codes from his web site
Krushkes_codes <- c(
"http://www.indiana.edu/~kruschke/DoingBayesianDataAnalysis/Programs/openGraphSaveGraph.R",
"http://www.indiana.edu/~kruschke/DoingBayesianDataAnalysis/Programs/PoissonExponentialJagsSTZ.R")
# download Krushkes' scripts to working directory
lapply(Krushkes_codes, function(i) download.file(i, destfile = basename(i)))
# run the code to analyse the data and generate output
lapply(Krushkes_codes, function(i) source(basename(i)))
A oto wykresy tylnego modelu wykładniczego Poissona zastosowanego do danych:
I wykresy rozkładu tylnego na szacowanych prawdopodobieństwach komórki: