Page 1 of 1

Coding opt out and asc

PostPosted: Mon Jun 17, 2024 8:12 pm
by sab
Hi Michiel,

I recently conducted a pilot study for a DCE exploring decisions to have medical tests. My study has 5 attributes (two with 4 levels, three with 3 levels). Four of the attributes are effects coded, and the other is treated as continuous.

I generated 36 choice tasks using a d-efficient design optimised for an mnl model in Ngene, divided into 3 blocks of 12 tasks. Each choice task presents a single test profile and a binary response option to have the test or not (Yes/No).

1) Although one of the attributes relates to the symptoms the person is experiencing rather than a direct attribute of the test itself, I am assuming that the decision not to test has zero utility. I had originally planned to set the data up with one row per participant, reflecting attribute levels for the decision to test and I have conducted a mnl with this layout of the pilot data (n=60) to establish parameter estimates for the main study design. However, this layout has caused problems when practising the syntax for the model that I plan to use for the main study (a panel mixed logit model), as I get an error message (in Stata) that only one alternative is specified for each participant. For conducting this model, will I need to create a row per participant for the decision not to test? If so, I am confused about whether attributes for this row should take the value 0 or the base level of the effects coded attributes (-1).

2) If a row is to be used for each alternative, does this warrant the inclusion of an alternative specific constant? In the pilot study design, I set up the utility model to include an alternative specific constant for the decision to test – intending to code this as 1 for the decision to test and -1 for the decision not to test. However, I have since seen different approaches to including an asc in studies with similar designs. Some studies have not included an asc, others have included an asc for the utility model and others have included the asc for the opt out. I was also reading in your 2008 paper that an opt-out can have an alternative specific constant which may be normalised to zero. Is it appropriate to include an asc for this study and if so can it be included as originally planned within the utility model to test?

Thanks very much in advance.

Re: Coding opt out and asc

PostPosted: Tue Jun 18, 2024 7:55 am
by Michiel Bliemer
I am not a Stata user and I cannot confirm the correct data format, but having a quick look in some online Stata tutorials it seems that Stata uses the long format where each alternative appears in a row. Symptoms that a person is experiencing describes a choice context and needs to be modelled as a scenario variable, instead of an attribute. Scenario variables, like sociodemographic variables, are constant across all alternatives and can only be included in a subset of alternatives as a main effect (and only in all alternatives as an interaction effect). In your case, I assume that you would like to add the scenario variable in the opt-out alternative. I do not know how to omit an attribute in Stata. Nlogit uses 999 I believe to indicate that the attribute does exist in that alternative, maybe Stata has something similar. I suggest that you consult the Stata manual or contact Stata as this is not a question about experimental design.

Your utility function would look something like:

U(status quo) = b0 + b1 * symptoms1 + b2 * symptoms2
U(test1) = b3 * attr1 + b4 * attr2 + ...
U(test2) = b3 * attr1 + b4 * attr2 + ...

You can put the ASC b0 in the status quo alternative, OR in both test1 and test 1, this is behaviourally exactly the same model:

U(status quo) = b1 * symptoms1 + b2 * symptoms2
U(test1) = b0 + b3 * attr1 + b4 * attr2 + ...
U(test2) = b0 + b3 * attr1 + b4 * attr2 + ...

Note that ASC b0 is the same as a dummy coded coefficient, e.g.

U(status quo) = b0 * test + b1 * symptoms1 + b2 * symptoms2
U(test1) = b0 * test + b3 * attr1 + b4 * attr2 + ...
U(test2) = b0 * test + b3 * attr1 + b4 * attr2 + ...

where test=1 if testing, and 0 otherwise.

Instead of a dummy coded coefficient, you could also effects code this test variable, this will again result in exactly the same behavioural model. You can choose which of these 4 model specifications you prefer, they are essentially all the same. What would not be appropriate is to omit b0 completely.

Michiel

Re: Coding opt out and asc

PostPosted: Wed Jun 19, 2024 2:56 am
by sab
Thanks very much for your advice, Michiel.