Я работаю с примерами из анализа Крушке « Байесовский анализ данных» , в частности, с использованием экспоненциального ANOVA Пуассона в гл. 22, который он представляет в качестве альтернативы частым тестам хи-квадрат независимости для таблиц непредвиденных обстоятельств.
Я вижу, как мы получаем информацию о взаимодействиях, которые происходят более или менее часто, чем можно было бы ожидать, если бы переменные были независимыми (т. Е. Когда ИЧР исключает ноль).
Мой вопрос: как я могу вычислить или интерпретировать величину эффекта в этой структуре? Например, Крушке пишет, что «сочетание голубых глаз с черными волосами происходит реже, чем можно было бы ожидать, если бы цвет глаз и цвет волос были независимыми», но как мы можем описать силу этой ассоциации? Как я могу сказать, какие взаимодействия являются более экстремальными, чем другие? Если бы мы провели тест хи-квадрат этих данных, мы могли бы вычислить V Крамера как меру общей величины эффекта. Как выразить размер эффекта в этом байесовском контексте?
Вот отдельный пример из книги (в коде R
), на случай, если ответ скрыт от меня на виду ...
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
Вот частый вывод с показателями размера эффекта (не в книге):
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
Вот байесовский вывод с ИЧР и вероятностями клеток (прямо из книги):
# 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)))
А вот графики апостериорной модели Пуассона, примененной к данным:
А графики апостериорного распределения по оценкам вероятностей клеток:
R
чтобы показать, как это можно запрограммировать?sd ()
сочетании с одной из функций «apply». Что касается коробочных диаграмм, то с ними просто получить основныеboxplot ()
.