Sto lavorando agli esempi di Doing Bayesian Data Analysis di Kruschke , in particolare l'ANOVA esponenziale di Poisson in cap. 22, che presenta in alternativa ai test chi-quadrato di indipendenza per le tabelle di contingenza.
Vedo come otteniamo informazioni sulle interazioni che si verificano più o meno frequentemente di quanto ci si aspetterebbe se le variabili fossero indipendenti (cioè quando l'HDI esclude lo zero).
La mia domanda è: come posso calcolare o interpretare una dimensione dell'effetto in questo framework? Ad esempio, Kruschke scrive "la combinazione di occhi blu e capelli neri si verifica meno frequentemente di quanto ci si aspetterebbe se il colore degli occhi e il colore dei capelli fossero indipendenti", ma come possiamo descrivere la forza di tale associazione? Come posso sapere quali interazioni sono più estreme di altre? Se eseguessimo un test chi-quadro di questi dati, potremmo calcolare la V di Cramér come misura della dimensione complessiva dell'effetto. Come posso esprimere la dimensione dell'effetto in questo contesto bayesiano?
Ecco l'esempio autonomo del libro (codificato R
), nel caso in cui la risposta mi sia nascosta in bella vista ...
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
Ecco l'output del frequentista, con misure della dimensione dell'effetto (non nel libro):
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
Ecco l'output bayesiano, con HDI e probabilità di cella (direttamente dal libro):
# 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)))
E qui ci sono trame del modello esponenziale posteriore di Poisson applicato ai dati:
E grafici della distribuzione posteriore sulle probabilità cellulari stimate: