For my question, I will be using the neuralgia dataset from the emmeans package in R.

I aim to learn how to set a reasonable lower bound for a non-inferiority test with a binary response in log-odds scale, where the goal is to identify if one treatment is no worse than another treatment at increasing positive response rates. This is an exploratory study, so the client is unable to provide a defensible lower bound. I understand the solution may be subjective.

For my question, we have a binary response Pain with levels No and Yes, a Treatment factor with levels A, B, and P, a Sex factor with levels F and M, and an Age covariate. Our interest is only between levels A and B. Level B is being considered as a substitute for Level A, hence my non-inferiority approach. Level P is a "sanity check".

Below I fit a model and compute the expected marginal means (EMM). We can see that for males and females, the probability of successful response is lower for level B than A.

library(emmeans)

neuralgia.glm <- glm(Pain ~ Treatment * Sex + Age, family = binomial(),
                     data = neuralgia) 
(neuralgia_emm <- emmeans(neuralgia.glm, ~ Treatment | Sex, type = "response"))

enter image description here

I notice that for females, we have the change in probability $(0.0498 - .1164)/.1164 = -0.5723$ and for males, we have $(0.2644 - .3516)/.3516 = -0.2480$, so the proportions of reduction are not the same. This is to be expected, working with probabilities.

Now, given the context and what I observe with the EMM, I figure a reasonable approach is to compute Dunnett contrasts:

(dunnett_contrasts <- contrast(neuralgia_emm, method = "dunnett"))

enter image description here

However, the testing conducted this way is testing to see if any differences exist between treatments. So I would use test() function to test for non-inferiority.

test(dunnett_contrasts, side = "noninferiority", delta = log(10))

enter image description here

Here's where I get stuck. Above, I arbitrarily choose $log(10)$ as my bound for example's sake.

Given what I've walked through: is there a defensible way to select a bound in the linear predictor scale? Is this even possible without domain expert input?