Which analysis for whether more likely to give response matching stimuli than not? This is probably incredibly basic but I'm a bit lost. What analysis would you suggest to identify whether participants are more likely to make a choice (out of 4 categories) which matches the preceding stimuli (one out of the same 4 categories) than a choice that does not match?
This is basically the kind of thing I'm working with
Stimuli  Choice     Match
  a         a         1
  c         b         0
  b         d         0
  a         c         0
  c         c         1
  d         d         1
  d         a         0

Essentially, I just want to know whether the cues influences participants choice, however I do not have data for baseline choices and I'm not sure that it would make sense to use any of the stimuli as a baseline category.
 A: Well I am not sure if I understood your question fully but I suppose you are dealing with a Binomial problem because you have two outcomes of either match or no match. So I would model this problem as follows:
$
y \sim Binomial(N, p)
$
where $y$ is the number of matches. You can easily estimate p having N (number of observations) and your response variable (Match in your example) and if the estimated p is significantly different than 1/4 (assuming the stimulus are given at random) that means the stimuli is affecting the participant choice.
A: The following procedure will quantify the association between Stimulus and Choice, but not between Stimulus and Matching (it's not clear which is the desired comparison). A Stimulus-Choice association will quantify whether a subject's choice is independent of the stimulus. A Stimulus-Matching association will quantify whether a match is independent of the stimulus. Note that if a subject always chooses the same response, their choice is clearly independent of the stimulus (it's the same no matter what), but matching is highly dependent on the stimulus (they only match on one particular stimulus), so these are very different questions. Here I quantify the Stimulus-Choice association, which should get at the question of "whether the cues influence participants choice".
To quantify the Stimulus-Choice association Run a chi-squared or Fisher test on the 4x4 contingency table. To do this, set up a 4x4 table which counts the number of instances of particular Stimulus-Choice pairs - i.e., how many of each possible pairing did you observe. Running a chi-squared test (or Fisher test, if the numbers are small) will allow you to measure the significance of the association between Stimulus and Choice. If the two are independent (or if you don't have sufficient data), counts will be distributed randomly in the contingency table, and you'll find no significant p-value. If the two are not independent and you have sufficient data, you'll find a significant p-value.
This approach works with any prevalence of Stimuli or Choice classes, it does not not require that they be uniformly distributed. Note that this test will indicate if there is an association between Stimulus and Choice, but it alone will not indicate any kind of causality - the statistical test itself does not indicate that "Stimuli influences Choice", it could be the reverse or some other factor that influences both. It may be a reasonable interpretation with deeper understanding of your experimental design and exploration of other possible factors, but the statistical test alone only indicates association and not causality.
A: Ok if you have not assigned the stimulus at random then you can still model the problem using a Multinomial distribution:
$y_{i}∼Multinomial()$
where $y_{i}$ is the vector of outcomes each time the particpant chooses one of the {a,b,c,d}. For example, in your example dataset $y_{1} = [1,0,0,0]$
where the partcipant chose "a" getting 1 and the other elements zero. Then we can model the probability of participant $i$ choosing $j$ as:
$
\theta_{i,j}=\frac{e^{\beta X_{i} }}{\sum_{j} e^{\beta X_{i} }}
$
Where $X_{i}$ is the vector of stimulus and $\beta$ is its effect. For example, if you give the 1st participant "b" as the stimuli then you have $X_{1} = [0,1,0,0]$. You can fit this model and estimate the $\beta$ to see if it's zero meaning no effect by the stimulus on the choices or a significant effect. You can fit this model in R Stan using a Bayesian framework like this:
rm(list = ls())
library(tidyverse)
library(rstan)

#Simulating 200 observations
n = 200

#Creating the stimulus matrix which is unbalanced 
stimuli_matrix = matrix(NA, ncol = 4, nrow = n)
set.seed(123)
for(i in 1:n){
  samp = rmultinom(1, 1, prob = c(0,0.5,0.5,0))
  stimuli_matrix[i,] = as.vector(samp)
}
colnames(stimuli_matrix) <- c("A", "B", "C", "D")

beta = 5 #Effect of stimulus

Y = matrix(NA, ncol = 4, nrow = n)
for(i in 1:n){
  V.A = 0.25 + beta* stimuli_matrix[i,1]
  V.B = 0.25 + beta* stimuli_matrix[i,2]
  V.C = 0.25 + beta* stimuli_matrix[i,3]
  V.D = 0.25 + beta* stimuli_matrix[i,4]
  probs = c(V.A, V.B, V.C, V.D)
  probs = exp(probs)/sum(exp(probs)) 
  samp = rmultinom(1, 1, prob = probs)
  Y[i,] = as.vector(samp)
}

colnames(Y) = c("Y.A", "Y.B", "Y.C", "Y.D")

df = data.frame(cbind(Y, stimuli_matrix))

# Fitting the model
model_code = "
data{
int N;
int quadrants[N, 4];
matrix[N, 4] X;
}
parameters{
  real beta;
  vector[4] intercept;
}
transformed parameters{
  vector[N] theta_a = intercept[1] + X[,1]*beta;
  vector[N] theta_b = intercept[2] + X[,2]*beta;
  vector[N] theta_c = intercept[3] + X[,3]*beta;
  vector[N] theta_d = intercept[4] + X[,4]*beta;
  matrix[4, N]  theta;
  
  for(i in 1:N){
    theta[:, i] = softmax([theta_a[i], theta_b[i], theta_c[i], theta_d[i]]');
  }

}
model{

//Priors
  beta ~ normal(0,100);
  
  for(i in 1:4){
  intercept[i] ~ std_normal();
  }
  
//Likelihood
  for(i in 1:N){
  quadrants[i] ~ multinomial(theta[:,i]);
  }
}
"

model_data = list(
  N = nrow(df),
  quadrants = df %>% select(Y.A, Y.B, Y.C, Y.D) %>% as.matrix(),
  X = df[,5:8]
)


stan_run <- stan(
  data = model_data,
  model_code = model_code
)

In this example that I created, the stimuli has a significant effect on the choices and it's correctly estimated by the model:
print(stan_run, pars = "beta")


> print(stan_run, pars = "beta")
Inference for Stan model: cde133b8626006f7ba99d226760af33f.
4 chains, each with iter=2000; warmup=1000; thin=1; 
post-warmup draws per chain=1000, total post-warmup draws=4000.

     mean se_mean   sd 2.5%  25%  50%  75% 97.5% n_eff Rhat
beta 5.06    0.02 0.71 3.81 4.56 5.01 5.51  6.59  2240    1

Samples were drawn using NUTS(diag_e) at Mon Oct 25 23:25:03 2021.
For each parameter, n_eff is a crude measure of effective sample size,
and Rhat is the potential scale reduction factor on split chains (at 
convergence, Rhat=1).

