# 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