How to implement a go/nogo paradigm

Hello Bayesflow team,

I wonder whether it is possible to implement a go/nogo task in Bayeflow, wherein incorrectly inhibited go trials (omission) and correctly inhibited no-go trials only have responses, but no RTs?

kind regards,
Amin

Hi Amin,

I think this should work (but not sure though).

What you could try is to set the RT to 0 or -1 in trials where your simulator produces only a response. Also, use a one-hot encoded context variable indicating whether it is a go or a no-go trial. I am not sure if this works. Maybe you could provide a bit more details on your simulator.

Best,
Lukas

2 Likes

I second that Lukas suggested. Simply code the non-responses as -1 (ideally it should be a value that does not occur in the regular data domain) and append a binary mask to your simulator outputs indicating the presence (1) or the absence of a response (0). The latter is not strictly necessary when using a filler value outside the data domain (e.g., RTs are always positive, so -1 should be fine), but it may facilitate training.

2 Likes

I agree with the recommendations from @LuSchumacher and @KLDivergence.

To add to it, here’s a pointer to a paper on Missing Data in Neural Posterior Estimation as a source for the recommendations. The paper proposes the special-value coding in conjunction with the binary mask to encode missingness, but your scenario is closely related because you also aim to encode some special binary structure in the data:

2 Likes

I really appreciate your input.

Indeed a comparison of both ideas, filling missing RTs by -1 and adding binary indicators of the presence or absence of missing data, will be useful.

@LuSchumacher There is no special thing for the simulator yet, other than a typical go/nogo task.