dfba_mcnemar() FunctionResearchers are sometimes interested in the detection of a change in
the response rate pre- and post-treatment. The frequentist McNemar
procedure is a nonparametric test that examines the subset of binary
categorical responses where the response changes between the two tests
(Siegel & Castellan, 1988). The frequentist test assumes the null
hypothesis that the change rate is \(0.5\). That is, the frequentist analysis is
a \(\chi^2\) test to assess if there is
a significant departure from the change rate of \(.5\). Chechile (2020) pointed out that the
subset of the change cases is a Bernoulli process, so the
Bayesian analysis can be done for the population response-switching
rate \(\phi_{rb}\) in the same way
as with binomial data. The \(rb\)
subscript on the \(\phi\) parameter
denotes randomized block, which is a statistical term for the
fact that the respondents where randomly sampled but each respondent was
measured twice (i.e., within a block). The Bayesian analysis of
all Bernoulli processes has a prior and posterior that are beta
distributions (see the vignettes on the
dfba_beta_descriptive(), dfba_binomial(), and
dfba_beta_bayes_factor() functions).
The McNemar test is a change-detection assessment of a binary response. To illustrate, please consider the hypothetical case of a sample of \(50\) people who are evaluating two political candidates before and after a debate. Suppose \(26\) people prefer Candidate A both before and after the debate, \(14\) people prefer Candidate B both before and after the debate, \(9\) people switched their preference from Candidate A to Candidate B, and \(1\) person switched their preference from Candidate B to Candidate A. Despite the fact that this sample has \(50\) participants, it is only the \(10\) people who switched their preference that are being analyzed with the McNemar test. Among this subset, there is evidence that Candidate B did better on the debate. Overall, support for Candidate A in the whole sample fell from \(35\) out of \(50\) (\(70\%\)) to \(27\) out of \(50\) (\(54\%\)). Candidate A still has a majority of support among the sample, but by a smaller margin than the one that Candidate A enjoyed prior to the debate. Thus, the statistical inference for the McNemar test is centered on the population change-rate \(\phi_{rb}\) rather than the overall proportional preferences.
dfba_mcnemar() FunctionThe dfba_mcnemar() function has the following five
arguments (default values are included for arguments that have
them):
n_01
n_10
a0 = 1
b0 = 1
prob_interval = .95
The n_01 argument is the number of respondents that were
initially scored as a \(0\) but
switched to a \(1\) score after some
treatment or experience. The n_10 argument is the frequency
of respondents that switch from \(1\)
to \(0\) All of respondents who did
not switch their response are ignored. The analytic focus on
only those observations of category change is a central feature
of both the frequentist and the Bayesian forms of the
McNemar test.
The a0 and b0 arguments are the two shape
parameters for the prior beta distribution for the \(\phi_{rb}\) parameter. The uniform
distribution (i.e., \(a0=b0=1\)) is the default prior for the
change-rate parameter. Finally, the prob_interval argument
is the value for the interval estimates for \(\phi_{rb}\). The default value for is \(.95\).
For example, in a repeated-measures design, the responses \(n=17\) participants indicate category
change from \(0\) to \(1\), and the responses of \(2\) participants indicate category change
from \(1\) to \(0\). Using the default values of the prior
beta shape parameters (a0 = 1, b0 = 1) and of the desired
probability interval (prob_interval = .95):
dfba_mcnemar(n_01 = 17,
n_10 = 2)
#> Descriptive Statistics
#> ========================
#> Frequencies of a change in 0/1 response between the two tests
#> 0 to 1 shift 1 to 0 shift
#> 17 2
#>
#> Bayesian Analysis
#> ========================
#> Posterior Beta Shape Parameters for Phi_rb
#> a_post b_post
#> 18 3
#> Posterior Point Estimates for Phi_rb
#> Mean Median
#> 0.857143 0.8685263
#> Equal-tail 95% Probability Interval
#> Lower Limit Upper Limit
#> 0.683017 0.9679291
#> Point Bayes factor against null of phi_rb = .5:
#> 153.3006
#> Interval Bayes factor against the null that phi_rb less than or equal to .5:
#> 4968.555
#> Posterior Probability that Phi_rb > .5:
#> 0.9997988For this example, there is a high probability – \(.9997988\) – for the hypothesis that \(\phi_{rb}> .5\). Point and interval
estimates for \(\phi_{rb}\) are also
provided. The Bayes factor against the point-null hypothesis that \(\phi_{rb}=.5\) is \(BF_{10}=153.3006\) (see the vignette for
the dfba_beta_bayes_factor() function). The output also
provides a Bayes factor in support of the interval alternative
hypothesis that \(H_1:\,\phi_{rb}>.5\) (i.e., \(BF_{10}=4,968.55\)).
The plot() method produces a visualization of the prior
and posterior distributions for the \(\phi_{rb}\) parameter. Note: a plot of the
posterior distribution without the prior distribution is given by
including the argument plot.prior = FALSE (the default is
plot.prior = TRUE).
In conclusion, the dfba_mcnemar() function computes
centrality estimates and interval estimates for the population
change-rate parameter. Bayes factors for tests of hypotheses about the
population parameter are also provided. The function further enables
plots of the prior and posterior distributions.
Chechile, R.A. (2020). Bayesian Statistics for Experimental Scientists: A General Introduction Using Distribution-Free Methods. Cambridge: MIT Press.
Siegel, S., and Castellan, N. J. (1988) Nonparametric Statistics for the Behavioral Sciences. New York: McGraw Hill.