Different discrimination parameters for certain conditions

Let us suppose we want to estimate an unequal variance signal detection model (UVSDT) where the distribution of the targets/signal (the distribution of the latent variable?) is allowed to differ from 1. The UVSDT specifies that the distribution of the noise/lures is distributed normally (mean = 0, standart deviation = 1).
Let us suppose further that we have an experimental and a control condition which are supposed to differ in their influence on the response variable.


Variables:

  • ordinal response variable
  • signal (0 = noise | 1 = signal)
  • condition (0 = control | 1 = experimental)

Question: Is it possible to let the standart deviation (discrimination) differ ONLY for the signals (or is this not even necessary)?

  • discrimination parameter for signal in control and experimental condition

uvsdt <- brm( bf(Response  ~ signal*condition), 
disc ~ 0+ signal + signal*condition (?), cmc = false, 
data = "",
family = cumulative("probit"),iter=,inits=)

Sorry for taking too long to respond.

Generally, when I need some non-standard behaviour of the model, it is useful to think of the design matrix the model would have. Your wording doesn’t make it clear whether you want to allow for 2 or 3 different values of disc (i.e. is disc for signal = 1, condition = 0 the same as for signal = 0, condition = 0 ?)

If you just want two values, I think that what you want would be achieved by disc ~ 1 + signal:condition, which would lead to this design matrix:

signal    condition    X1(Intercept)     X2(signal:condition)
     0            0                1                        0
     0            1                1                        0
     1            0                1                        0
     1            1                1                        1

So the predictors are the same for the first 3 cases and differ for the 4th

If you want 3 values you could use disc ~ 1 + signal:condition + signal which would give you

signal    condition    X1(Intercept)     X2(signal:condition)  X3(signal)
     0            0                1                        0           0
     0            1                1                        0           0         
     1            0                1                        0           1
     1            1                1                        1           1

(also note that signal*condition is a shorthand for signal + condition + signal:condition, so your initial formula is IMHO not what you want)

Does that make sense?

1 Like

@martinmodrak
I did not know that

signal*condition is a shorthand… You helped me a lot! Thank you very much!

I used: disc ~ 0 + signal + signal:condition + (0 + old + old:condition | ID )
and so I got
disc_signal - 0.21 and disc_signal:condition -0.43 as result. You already answered my question perfectly but I have another one about the parametrization.

The discrimination for signal = 1 and condition = 1 (condition is coded as 0 and 1) would be
- 0.43 or (-0.21 + (-0.43))?.
The discrimination for signal = 1 and condition = 0 would be therefore -0.21.

If I understand you correctly, it would be (-0.21 + (-0.43)) But don’t forget that the parameters have uncertainties. Probably the best way to get estimates of such combined quantities is to use hypothesis in brms (something like hypothesis(myfit, "b_disc_signal + b_disc_signal:condition > 0", group = NULL) would give you a full posterior for the combined quantity (don’t mind the > 0 part, this is just to get the hypothesis going). Check parnames for the correct names to use, I likely got them wrong.

I also encourage you to do some reading on design matrices and how all this stuff is actually implemented (sorry don’t have a good reference to recommend right now). I believe it will help you achieve.

Best of luck!

1 Like