This document introduces and generally explains the Hierarchical Bayes models (BANOVA) which are particularly useful for analysis of experimental categorical repeated measures data. The modelling is done in R with BANOVA package.
It replicates the analysis from section 4.3. Application 3: Gist perception of advertising from an article “BANOVA: An R Package for Hierarchical Bayesian ANOVA” published by Chen Dong & Michel Wedel in 2014, Journal of Statistical Software, 10(2). The data used in this document and in the cited article are from an experiment conducted in Wedel M, Pieters R (2015). “The Buffer Effect: The Role of Color When Advertising Exposures Are Brief and Blurred.” Marketing Science, 34(1), 134–143.
Hierarchical Bayes models are particularly useful for data analysis in the case presented here, due to the following features of the design:
These features are often encountered in research within social and behavioral sciences, where ANOVA is often used for analysis of data from experiments with human subjects. However, ANOVA’s assumptions are frequently violated for the data typically collected in those fields.
In behavioral sciences categorical variables abound, which makes it difficult to work with ANOVA due to its distributional properties. ANOVA assumes a continuous homoscedastic i.i.d. normally distributed dependent variable, which will not work, for example, with:
Problematic are also continuous measures, such as response times or monetary expenditures (which often have high skewness or kurtosis).
Possible solutions involve data transformations (such as the log and square-root (for counts), logit (for proportions), rank (for ordered categorical variables), and Box-Cox transformations), however, “these transformations, often do not provide a satisfactory solution, because they cause the ANOVA tables of means to lose some of their appealing interpretations, while significance levels of the transformed and original data often do not correspond”.
Another solution may be to use generalized linear models (of which ANOVA is a special case), since GLMs extend regression models to a wide variety of models in which the dependent variable follows one of many distributions in the exponential family. However, “that would require all the multiple factors and interactions to be represented in the model through dummy variables, and the interpretation of estimates of coefficients of these dummy variables is not as easy as interpreting the output of ANOVA, and indeed may often be quite cumbersome”.
Experiments involving a combination of between and within- subjects factors, lead to nested repeated measurement designs, for which one can use mixed, split-plot and repeated measures ANOVA. However, also under particular assumptions, such as:
If any of these are a problem, the next possible solutions are hierarchical linear models (= multilevel models = linear mixed-effect models) (which all are special cases of hierarchical Bayes models).
Now getting closer to BANOVA, multilevel models allow for more general covariance structures and data hierarchies than repeated measures ANOVA.
Hierarchical Bayes models are still models in multiple levels, but they estimate the parameters of the posterior distribution using the Bayesian method. They accommodate non-normal dependent variables, while at the same time
Bayesian inference provides accurate inferences based on finite samples of participants, accounts for distributional properties and accommodates heterogeneity across individuals.
Until this package solving BANOVA models required more expertise/time. Hierarchical Bayes models were (and are) possible to implement for example, among others, directly in statistical software JAGS. However, it wasn’t at all common in social/behavioral sciences due to lack of familiarity, effort in programming and interpreting the output.
Even though to work with BANOVA package one still needs to download JAGS softaware (free and weights only 3.2 MB), the user only works in R, which serves as proxy for JAGS. Thus, it is possible to run a hierarchical Bayes ANOVA (BANOVA) in R, while retaining familiar features of the output as classical ANOVA, accommodating a wide range of distributions for the dependent variable, hierarchical data structures AND between- and within- subjects categorial design factors, as well as continuous Xs.
# Making sure JAGS is installed
# It can be downloaded here http://mcmc-jags.sourceforge.net (the size is only 2.3 MB)
# After the download, there is no need to even open it
# Loading BANOVA package
library("BANOVA")
The authors want to investigate whether color (or lack of it) and blur of the exposure play a role in a gist perception of advertisements.
Gist perception is a very rapid identification of ads during brief exposures.
They conduct a lab experiment with 116 participants, each of them being exposed to 8 images and asked whether it is an ad or an editorial (not an ad) (Question 1). Each exposure lasts 1/10th of a second, If the subject selects that what they saw was an ad, they are asked to which category of ads does it belong (car, financial services, food, skincare) (Question 2).
In the experiment, overall 40 images are used: 32 adds (8 in each product category) and 8 editorial pages (as non-ads).
Each participant was randomly assigned to one condition of a blur (normal, low, medium, high, very high) x color (color, grey) x image (typical ad, atypical ad). The design is both within- and between- subject.
This design results in multiple levels, repeated measures and its dependent variable is categorical.
The dependent variable, is the number of times ads were correctly identified as an ad, out of the 16 ads for each subject, and for each subject for both levels of image (typical ad and atypical ad). This results in a binomial Y.
The within-subject variable is the typical factor with 2 levels. [level 1 sub-model of BANOVA]
The between-subject variables are blur, blurfac, and color. [level 2 sub-model of BANOVA]
The authors are interested in the effects of the factors typical/atypical, color/grayscale, blur, and their interactions.
They predict that color does not in general have a main positive effect on gist perception of advertising, but that it protects gist perception of typical and not of atypical ads against the detrimental effects of blurring.
# The dataset "colorad" included in the BANOVA package contains data from the Gist perception experiment
data("colorad")
str(colorad)
## 'data.frame': 474 obs. of 6 variables:
## $ id : int 1 1 2 2 3 3 4 4 5 5 ...
## $ typic : Factor w/ 2 levels "0","1": 1 2 1 2 1 2 1 2 1 2 ...
## $ y : int 8 6 12 6 11 9 9 11 14 14 ...
## $ blurfac: Factor w/ 5 levels "1","2","3","4",..: 2 2 4 4 2 2 3 3 1 1 ...
## $ color : Factor w/ 2 levels "0","1": 2 2 1 1 1 1 1 1 2 2 ...
## $ blur : num 3.69 3.69 4.79 4.79 3.69 ...
head(colorad)
## id typic y blurfac color blur
## 1 1 0 8 2 1 3.6889
## 2 1 1 6 2 1 3.6889
## 3 2 0 12 4 0 4.7875
## 4 2 1 6 4 0 4.7875
## 5 3 0 11 2 0 3.6889
## 6 3 1 9 2 0 3.6889
summary(colorad)
## id typic y blurfac color blur
## Min. : 1 0:237 Min. : 0.000 1: 98 0:232 Min. :0.000
## 1st Qu.: 60 1:237 1st Qu.: 8.000 2: 84 1:242 1st Qu.:3.689
## Median :119 Median :10.000 3:100 Median :4.382
## Mean :119 Mean : 9.671 4: 98 Mean :3.655
## 3rd Qu.:178 3rd Qu.:12.000 5: 94 3rd Qu.:4.787
## Max. :237 Max. :16.000 Max. :5.481
Legend for the below model:
# The authors set seed at 700, I do the same to replicate the results
set.seed(700)
# BANOVA "gist" model:
gist <- BANOVA.Binomial(y ~ typic, ~color * blur, colorad, colorad$id,
as.integer(16), burnin = 3000, sample = 2000, thin = 5)
## Model initializing...
## Warning: level 2 numeric variables have been mean centered.
## Compiling rjags model...
## Calling the simulation using the rjags method...
## Burning in the model for 3000 iterations...
## Running the model for 10000 iterations...
## NOTE: Stopping adaptation
##
##
## Simulation complete
## Finished running the simulation
## Constructing ANOVA/ANCOVA tables...
## Done...
The posterior means and standard deviations of the hyper parameters are reported from a total of 13,000 samples, with 3,000 being discarded as the burn-in period, and the remainder thinned by a factor 5 to reduce autocorrelation.
Within the BANOVA model, the two sub-models (within-participant and between-participant) combine to form the hierarchical model and Bayes’ theorem integrates them with theobserved data, which results in the posterior distribution.
Markov chain Monte Carlo (MCMC) is a simulation technique allowing the fitting of models in a Bayesian framework.
To begin, MCMC methods pick a random parameter value to consider. The simulation will continue to generate random values (from a specified distribution) (this is the Monte Carlo part), but subject to some rule for determining what makes a good parameter value. The trick is that, for a pair of parameter values, it is possible to compute which is a better parameter value, by computing how likely each value is to explain the data, given our prior beliefs. If a randomly generated parameter value is better than the last one, it is added to the chain of parameter values with a certain probability determined by how much better it is (this is the Markov chain part).
The trace.plot() function gives the trace plots of postetior distributions of the parameters in the gist experiment. The MCMC algorithms are implemented in the JAGS software, and in R we get the output with summary().
trace.plot(gist)
trace plots 1
trace plots 2
summary(gist)
## Call:
## BANOVA.Binomial(l1_formula = y ~ typic, l2_formula = ~color *
## blur, data = colorad, id = colorad$id, num_trials = as.integer(16),
## burnin = 3000, sample = 2000, thin = 5)
##
## Convergence diagnostics:
## Geweke Diag. & Heidelberger and Welch's Diag.
## Geweke stationarity test Geweke convergence p value
## (Intercept) : (Intercept) passed 0.3143
## (Intercept) : color1 passed 0.3324
## (Intercept) : blur passed 0.4138
## (Intercept) : color1:blur passed 0.4174
## typic1 : (Intercept) passed 0.2340
## typic1 : color1 passed 0.4991
## typic1 : blur passed 0.0240
## typic1 : color1:blur passed 0.5663
## H. & W. stationarity test
## (Intercept) : (Intercept) passed
## (Intercept) : color1 passed
## (Intercept) : blur passed
## (Intercept) : color1:blur passed
## typic1 : (Intercept) passed
## typic1 : color1 passed
## typic1 : blur passed
## typic1 : color1:blur passed
## H. & W. convergence p value
## (Intercept) : (Intercept) 0.1431
## (Intercept) : color1 0.1473
## (Intercept) : blur 0.3173
## (Intercept) : color1:blur 0.0535
## typic1 : (Intercept) 0.3076
## typic1 : color1 0.8857
## typic1 : blur 0.1232
## typic1 : color1:blur 0.9056
##
## The Chain has converged.
##
## Table of sum of squares:
## (Intercept) color blur color:blur Residuals Total
## (Intercept) 59.5660 2.4304 25.9559 9.5323 137.6415 228.9041
## typic1 21.9894 2.0943 5.4459 7.5476 20.2515 50.8143
##
## Table of effect sizes (95% credible interval):
## (Intercept) color blur
## (Intercept) 0.3025 (0.247,0.359) 0.0164 (-0.013,0.098) 0.1589 (0.112,0.211)
## typic1 0.5206 (0.405,0.634) 0.0850 (-0.01,0.315) 0.2109 (0.084,0.353)
## color:blur
## (Intercept) 0.0607 (-0.008,0.211)
## typic1 0.2488 (0.01,0.517)
##
## Table of p-values (Multidimensional):
## (Intercept) color blur color:blur
## (Intercept) <0.0001 0.9180 <0.0001 0.1460
## typic <0.0001 0.3500 <0.0001 0.0280
##
## Table of coefficients:
## mean SD Quantile0.025 Quantile0.975 p.value
## (Intercept) : (Intercept) 0.4981 0.0581 0.3851 0.6106 <0.0001
## (Intercept) : color1 -0.0123 0.1233 -0.2585 0.2273 0.9180
## (Intercept) : blur -0.1713 0.0299 -0.2306 -0.1113 <0.0001
## (Intercept) : color1:blur 0.0422 0.0296 -0.0167 0.1008 0.1460
## typic1 : (Intercept) 0.3016 0.0330 0.2382 0.3642 <0.0001
## typic1 : color1 -0.0671 0.0728 -0.2064 0.0790 0.3500
## typic1 : blur -0.0773 0.0185 -0.1126 -0.0397 <0.0001
## typic1 : color1:blur 0.0401 0.0173 0.0066 0.0741 0.0280
## Signif.codes
## (Intercept) : (Intercept) ***
## (Intercept) : color1
## (Intercept) : blur ***
## (Intercept) : color1:blur
## typic1 : (Intercept) ***
## typic1 : color1
## typic1 : blur ***
## typic1 : color1:blur *
## ---
## Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1
##
## Table of predictions:
##
## Grand mean:
## 9.9522
## 2.5% 97.5%
## 9.5216 10.3691
##
##
## typic mean 2.5% 97.5%
## 0 11.0387 10.5867 11.4951
## 1 8.7834 8.2565 9.2982
##
##
## color mean 2.5% 97.5%
## 0 9.9057 8.8394 10.8751
## 1 9.9986 9.0002 10.9554
##
##
## typic color mean 2.5% 97.5%
## 0 0 10.7627 9.5878 11.8349
## 0 1 11.3065 10.2223 12.3273
## 1 0 8.9997 7.7106 10.1546
## 1 1 8.5658 7.3715 9.7325
Each of the above tables has two rows - one for each between-subject model (intercept and typic).
Please note, that in the variable typic 0 stands for a typical ad, while 1 stands for an atypical ad (so that we see a change in gist perception, from a change of a typical ad to an atypical ad).
Geweke (1992) proposed a convergence diagnostic for Markov chains based on a test for equality of the means of the first and last part of a Markov chain (by default the first 10% and the last 50%).
The Heidelberg-Welch test uses the Cramer-von-Mises statistic to test the null hypothesis that the sampled values come from a stationary distribution.
Here, one should think of the Markov chain as a time series and uses time series methods to check for stationarity.
Both Geweke and H&W stationarity tests are passed and the chain has converged before the end of the burn-in.
The results are consistent with those from the paper, that is: “Ad and category identifi- cation are significantly influenced by ad typicality (T): typical ads are identified more accurately as ads and their category is more accurately identified, as com- pared to atypical ads. The accuracy of ad and category identification is negatively affected by the degree of blur (B). There is no significant main effect of remov- ing color (C): gist perception of normal color images is as accurate as that of grayscale images. However, and in support of the predictions, the interactions of color with blur (B × C) (only for ad identification) and typicality with blur (B × T), and the three-way inter- action (B × C × T), are significant for both ad and cat- egory identification.”
The model above used the blur variable which is a continuous variable. However, in the data there is also a variable blurfac, which is a discrete version of the blur and running the model once again with this discrete covariate to better understand the effects of blur.
In the below model “gist_more”, in comparing to the initial “gist” model, only blurfac is used in an interaction with color, instead of blur. The burn-in and target samples also increase, to a total of 35,000, as the model involes more parameters, to ensure that the chains converge for all of them.
set.seed(900)
gist_more <- BANOVA.Binomial(y ~ typic, ~color * blurfac, colorad, colorad$id,
as.integer(16), burnin = 20000, sample = 3000, thin = 5)
## Model initializing...
## Compiling rjags model...
## Calling the simulation using the rjags method...
## Burning in the model for 20000 iterations...
## Running the model for 15000 iterations...
## NOTE: Stopping adaptation
##
##
## Simulation complete
## Finished running the simulation
## Constructing ANOVA/ANCOVA tables...
## Done...
summary(gist_more)
## Call:
## BANOVA.Binomial(l1_formula = y ~ typic, l2_formula = ~color *
## blurfac, data = colorad, id = colorad$id, num_trials = as.integer(16),
## burnin = 20000, sample = 3000, thin = 5)
##
## Convergence diagnostics:
## Geweke Diag. & Heidelberger and Welch's Diag.
## Geweke stationarity test
## (Intercept) : (Intercept) passed
## (Intercept) : color1 passed
## (Intercept) : blurfac1 passed
## (Intercept) : blurfac2 passed
## (Intercept) : blurfac3 passed
## (Intercept) : blurfac4 passed
## (Intercept) : color1:blurfac1 passed
## (Intercept) : color1:blurfac2 passed
## (Intercept) : color1:blurfac3 passed
## (Intercept) : color1:blurfac4 passed
## typic1 : (Intercept) passed
## typic1 : color1 passed
## typic1 : blurfac1 passed
## typic1 : blurfac2 passed
## typic1 : blurfac3 passed
## typic1 : blurfac4 passed
## typic1 : color1:blurfac1 passed
## typic1 : color1:blurfac2 passed
## typic1 : color1:blurfac3 passed
## typic1 : color1:blurfac4 passed
## Geweke convergence p value
## (Intercept) : (Intercept) 0.9880
## (Intercept) : color1 0.4680
## (Intercept) : blurfac1 0.8873
## (Intercept) : blurfac2 0.8757
## (Intercept) : blurfac3 0.5926
## (Intercept) : blurfac4 0.3912
## (Intercept) : color1:blurfac1 0.6181
## (Intercept) : color1:blurfac2 0.7551
## (Intercept) : color1:blurfac3 0.3418
## (Intercept) : color1:blurfac4 0.3106
## typic1 : (Intercept) 0.8173
## typic1 : color1 0.1779
## typic1 : blurfac1 0.2062
## typic1 : blurfac2 0.9494
## typic1 : blurfac3 0.3944
## typic1 : blurfac4 0.0854
## typic1 : color1:blurfac1 0.3552
## typic1 : color1:blurfac2 0.0347
## typic1 : color1:blurfac3 0.0449
## typic1 : color1:blurfac4 0.1892
## H. & W. stationarity test
## (Intercept) : (Intercept) passed
## (Intercept) : color1 passed
## (Intercept) : blurfac1 passed
## (Intercept) : blurfac2 passed
## (Intercept) : blurfac3 passed
## (Intercept) : blurfac4 passed
## (Intercept) : color1:blurfac1 passed
## (Intercept) : color1:blurfac2 passed
## (Intercept) : color1:blurfac3 passed
## (Intercept) : color1:blurfac4 passed
## typic1 : (Intercept) passed
## typic1 : color1 passed
## typic1 : blurfac1 passed
## typic1 : blurfac2 passed
## typic1 : blurfac3 passed
## typic1 : blurfac4 passed
## typic1 : color1:blurfac1 passed
## typic1 : color1:blurfac2 passed
## typic1 : color1:blurfac3 passed
## typic1 : color1:blurfac4 passed
## H. & W. convergence p value
## (Intercept) : (Intercept) 0.7424
## (Intercept) : color1 0.9381
## (Intercept) : blurfac1 0.5872
## (Intercept) : blurfac2 0.9637
## (Intercept) : blurfac3 0.7226
## (Intercept) : blurfac4 0.9322
## (Intercept) : color1:blurfac1 0.3649
## (Intercept) : color1:blurfac2 0.7961
## (Intercept) : color1:blurfac3 0.1289
## (Intercept) : color1:blurfac4 0.1296
## typic1 : (Intercept) 0.8509
## typic1 : color1 0.1972
## typic1 : blurfac1 0.6307
## typic1 : blurfac2 0.3753
## typic1 : blurfac3 0.6568
## typic1 : blurfac4 0.0931
## typic1 : color1:blurfac1 0.6116
## typic1 : color1:blurfac2 0.0665
## typic1 : color1:blurfac3 0.0975
## typic1 : color1:blurfac4 0.0993
##
## The Chain has converged.
##
## Table of sum of squares:
## (Intercept) color blurfac color:blurfac Residuals Total
## (Intercept) 59.1969 5.1675 29.3431 1.0794 137.9397 232.6218
## typic1 21.5976 2.0360 13.5958 2.0349 16.9228 56.0597
##
## Table of effect sizes (95% credible interval):
## (Intercept) color blurfac
## (Intercept) 0.3009 (0.245,0.354) 0.0362 (0.008,0.069) 0.1756 (0.121,0.232)
## typic1 0.5602 (0.436,0.675) 0.1070 (0.013,0.231) 0.4447 (0.307,0.58)
## color:blurfac
## (Intercept) 0.0079 (-0.027,0.038)
## typic1 0.1069 (0.007,0.24)
##
## Table of p-values (Multidimensional):
## (Intercept) color blurfac color:blurfac
## (Intercept) <0.0001 0.0080 <0.0001 0.1393
## typic <0.0001 0.0060 <0.0001 0.0253
##
## Table of coefficients:
## mean SD Quantile0.025 Quantile0.975
## (Intercept) : (Intercept) 0.4979 0.0564 0.3881 0.6076
## (Intercept) : color1 0.1526 0.0568 0.0440 0.2660
## (Intercept) : blurfac1 0.5593 0.1160 0.3288 0.7907
## (Intercept) : blurfac2 0.0537 0.1192 -0.1801 0.2819
## (Intercept) : blurfac3 0.0184 0.1095 -0.1887 0.2317
## (Intercept) : blurfac4 -0.0514 0.1072 -0.2560 0.1642
## (Intercept) : color1:blurfac1 -0.1650 0.1124 -0.3902 0.0521
## (Intercept) : color1:blurfac2 0.1151 0.1173 -0.1213 0.3525
## (Intercept) : color1:blurfac3 -0.0721 0.1116 -0.2965 0.1383
## (Intercept) : color1:blurfac4 0.0145 0.1112 -0.2068 0.2299
## typic1 : (Intercept) 0.3112 0.0326 0.2465 0.3756
## typic1 : color1 0.0909 0.0322 0.0277 0.1544
## typic1 : blurfac1 0.1579 0.0644 0.0321 0.2803
## typic1 : blurfac2 0.3620 0.0688 0.2297 0.4948
## typic1 : blurfac3 -0.0210 0.0623 -0.1428 0.1006
## typic1 : blurfac4 -0.1672 0.0614 -0.2866 -0.0477
## typic1 : color1:blurfac1 -0.1497 0.0657 -0.2784 -0.0196
## typic1 : color1:blurfac2 0.0350 0.0671 -0.0934 0.1663
## typic1 : color1:blurfac3 -0.0233 0.0620 -0.1430 0.0966
## typic1 : color1:blurfac4 0.1000 0.0636 -0.0251 0.2263
## p.value Signif.codes
## (Intercept) : (Intercept) <0.0001 ***
## (Intercept) : color1 0.0080 **
## (Intercept) : blurfac1 <0.0001 ***
## (Intercept) : blurfac2 0.6400
## (Intercept) : blurfac3 0.8920
## (Intercept) : blurfac4 0.6233
## (Intercept) : color1:blurfac1 0.1393
## (Intercept) : color1:blurfac2 0.3233
## (Intercept) : color1:blurfac3 0.5120
## (Intercept) : color1:blurfac4 0.8900
## typic1 : (Intercept) <0.0001 ***
## typic1 : color1 0.0060 **
## typic1 : blurfac1 0.0087 **
## typic1 : blurfac2 <0.0001 ***
## typic1 : blurfac3 0.7293
## typic1 : blurfac4 0.0073 **
## typic1 : color1:blurfac1 0.0253 *
## typic1 : color1:blurfac2 0.6047
## typic1 : color1:blurfac3 0.7007
## typic1 : color1:blurfac4 0.1193
## ---
## Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1
##
## Table of predictions:
##
## Grand mean:
## 9.9513
## 2.5% 97.5%
## 9.5331 10.3584
##
##
## typic mean 2.5% 97.5%
## 0 11.0706 10.6127 11.5127
## 1 8.7444 8.2307 9.226
##
##
## color mean 2.5% 97.5%
## 0 10.5138 9.9147 11.078
## 1 9.3675 8.7445 9.9465
##
## blurfac mean 2.5% 97.5%
## 1 11.8743 11.0475 12.5951
## 2 10.152 9.1712 11.0984
## 3 10.0202 9.0902 10.8827
## 4 9.7569 8.8504 10.6578
## 5 7.6718 6.6825 8.6887
##
##
## typic color mean 2.5% 97.5%
## 0 0 11.8604 11.2543 12.404
## 0 1 10.2039 9.5361 10.8191
## 1 0 8.9882 8.2537 9.6893
## 1 1 8.4992 7.7912 9.1993
##
## typic blurfac mean 2.5% 97.5%
## 0 1 13.1432 12.3679 13.7808
## 0 2 12.3665 11.433 13.1752
## 0 3 11.0617 10.04 11.9372
## 0 4 10.2957 9.3068 11.2798
## 0 5 7.5901 6.4512 8.8041
## 1 1 10.2866 9.2101 11.2316
## 1 2 7.5139 6.3683 8.6844
## 1 3 8.9001 7.8169 9.9418
## 1 4 9.2008 8.1654 10.2861
## 1 5 7.7535 6.6071 8.9063
##
##
## color blurfac mean 2.5% 97.5%
## 0 1 11.8362 10.6885 12.8156
## 1 1 11.9121 10.7313 12.9027
## 0 2 11.1053 9.7414 12.3165
## 1 2 9.1279 7.7236 10.4395
## 0 3 10.3185 8.9588 11.5168
## 1 3 9.7158 8.4239 10.9124
## 0 4 10.3803 9.1264 11.5497
## 1 4 9.1103 7.7846 10.4082
## 0 5 8.71 7.3002 10.1591
## 1 5 6.6446 5.2887 8.0817
##
##
## typic color blurfac mean 2.5% 97.5%
## 0 0 1 12.9724 11.868 13.8656
## 0 1 1 13.3065 12.2403 14.132
## 0 0 2 13.3531 12.2115 14.2561
## 0 1 2 11.1459 9.7209 12.4237
## 0 0 3 11.5525 10.1381 12.7123
## 0 1 3 10.5423 9.0798 11.7723
## 0 0 4 11.5333 10.1969 12.7204
## 0 1 4 8.9255 7.3839 10.3824
## 0 0 5 9.138 7.4665 10.7218
## 0 1 5 6.0725 4.6218 7.759
## 1 0 1 10.4558 8.9723 11.8328
## 1 1 1 10.1152 8.556 11.5314
## 1 0 2 8.0806 6.3552 9.7222
## 1 1 2 6.952 5.4125 8.549
## 1 0 3 8.9511 7.3456 10.4849
## 1 1 3 8.849 7.409 10.2668
## 1 0 4 9.1075 7.5712 10.6227
## 1 1 4 9.2939 7.8133 10.6963
## 1 0 5 8.2778 6.7027 9.9366
## 1 1 5 7.2314 5.6296 8.8246
By looking at the sum of squares table, and the effect sizes (where the columns stand for between-subjects factors and rows for within-subjects factors), we see that the results are consistent with those from the “gist” model, but in addition we can see that, replicating the authors’ results, “typical color ads are always more accurately identified than atypical color ads. Typical grayscale ads, however, are only more accurately identified than atypical grayscale ads when there is no blur, or a low level of blur”, however there is no difference at higher levels of blur.
In this document an analysis of gist perception of advertising was replicated, based on an article “BANOVA: An R Package for Hierarchical Bayesian ANOVA”, published by Chen Dong & Michel Wedel in 2014, Journal of Statistical Software, 10(2).