Choice set consisting of 3 health states

This forum is for posts that specifically focus on Ngene.

Moderators: Andrew Collins, Michiel Bliemer, johnr

Choice set consisting of 3 health states

Postby CMA » Tue Aug 20, 2024 7:22 pm

Hello.
I am considering investigating three health states (state A, state B, and “immediate death”).
"Immediate death" has neither attributes nor levels.
How should I consider "immediate death" in the result of the following program?
Code: Select all
Design
;alts = alt1*, alt2*
;rows = 75
;eff = (mnl, d)
;alg = mfederov(stop = total(1000000 iterations))
;block = 5
;model:
U(alt1) = b1 * A[0, 1, 2, 3]
        + b2 * B[0, 1, 2, 3]
        + b3 * C[0, 1, 2, 3]
        + b4 * D[0, 1, 2, 3]
        + b5 * E[0, 1, 2, 3]
        + b6 * F[0, 1, 2, 3]
        + b7 * G[0, 1, 2, 3]
        + b8 * H[1, 2, 5, 10]
      /
U(alt2) = b1 * A
        + b2 * B
        + b3 * C
        + b4 * D
        + b5 * E
        + b6 * F
        + b7 * G
        + b8 * H
$
CMA
 
Posts: 34
Joined: Mon Jun 14, 2021 3:42 pm

Re: Choice set consisting of 3 health states

Postby Michiel Bliemer » Wed Aug 21, 2024 8:15 am

You add it as an alternative and add only a constant to its utility function:

;alts = alt1*, alt2*, death
...
U(death) = b0

Note that for an efficient design you will need to use dummy or effects coding for categorical attributes, and if the attributes are ordinal and you want to avoid dominant alternatives then you want to use uninformative non-zero priors, e.g.

b1.dummy[0.01|0.02|0.03] * A[1,2,3,0] ? 0=base level

Michiel
Michiel Bliemer
 
Posts: 1885
Joined: Tue Mar 31, 2009 4:13 pm

Re: Choice set consisting of 3 health states

Postby CMA » Wed Aug 21, 2024 9:35 am

Thank you for your reply.
I modified the program from your advice.
Let me know if something comes up.
I put life-year in b8, but is there anything I should be careful about?
Code: Select all
Design
;alts = alt1*, alt2*, death
;rows = 75
;eff = (mnl, d)
;alg = mfederov(stop = total(1000000 iterations))
;block = 5
;model:
U(alt1) = b1.dummy[0|0|0] * A[1, 2, 3, 0]  ? 0:base level
        + b2.dummy[0|0|0] * B[1, 2, 3, 0]  ? 0:base level
        + b3.dummy[0|0|0] * C[1, 2, 3, 0]  ? 0:base level
        + b4.dummy[0|0|0] * D[1, 2, 3, 0]  ? 0:base level
        + b5.dummy[0|0|0] * E[1, 2, 3, 0]  ? 0:base level
        + b6.dummy[0|0|0] * F[1, 2, 3, 0]  ? 0:base level
        + b7.dummy[0|0|0] * G[1, 2, 3, 0]  ? 0:base level
        + b8.dummy[0|0|0] * H[1, 2, 5, 10] ? life-years(1, 2, 5, 10 years)
        /
U(alt2) = b1 * A
        + b2 * B
        + b3 * C
        + b4 * D
        + b5 * E
        + b6 * F
        + b7 * G
        + b8 * H
        /
U(death) = b0
$
CMA
 
Posts: 34
Joined: Mon Jun 14, 2021 3:42 pm

Re: Choice set consisting of 3 health states

Postby Michiel Bliemer » Wed Aug 21, 2024 9:56 am

Looks fine to me, although note that 75 is not divisible by 4 (levels) so your design cannot be perfectly attribute level balanced, but that is not a major problem. Also note that 15 choice tasks per respondents is quite a lot, so if you do this you may want to break the choice tasks up in multiple parts in your survey. You could consider 6 blocks of 12 choice tasks,

;rows = 72
;block = 6

Consider using the default swapping algorithm instead of the mfederov algorithm given that there is not really a need for the mfederov algorithm in your case. The default swapping algorithm can guarantee attribute level balance, the mfederov algorithm cannot (although with dummy coded levels it will exhibit a high degree of attribute level balance).

Michiel
Michiel Bliemer
 
Posts: 1885
Joined: Tue Mar 31, 2009 4:13 pm

Re: Choice set consisting of 3 health states

Postby CMA » Wed Aug 21, 2024 8:10 pm

I learned a lot today. Thank you very much.
I found that there are two types of efficient designs: mfederov algorithm and swapping algorithm.
I've always kind of used the mfederov algorithm.
How do I select algorithm?
I want a reference information for the algorithm selection.
CMA
 
Posts: 34
Joined: Mon Jun 14, 2021 3:42 pm

Re: Choice set consisting of 3 health states

Postby Michiel Bliemer » Thu Aug 22, 2024 7:34 am

In Ngene the default is the swapping algorithm because this is the best algorithm in most cases because it can guarantee attribute level balance. The modified Federov algorithm is useful when the swapping algorithm is unable to generate a design, typically when there are many constraints/prohibitions or dominance constraints imposed.

You could refer to my Handbook chapter:

Bliemer, M.C.J. & Rose, J.M. (2024) Designing and conducting stated choice experiments. In: Hess, S. & Daly, A. (eds) Handbook of Choice Modelling, 2nd edition, Edward Elgar.

It states:
"Several software tools exist containing algorithms to locate efficient designs, including Ngene (ChoiceMetrics, 2018), the ‘%ChoiceEff’ macro in SAS (Zwerina et al., 2010), and the ‘idefix’ package (Traets et al., 2020) in R. Each tool allows the minimisation of the D-error via either a column-swapping algorithm, row-swapping algorithm, and/or a coordinate-swapping algorithm. A coordinate-swapping algorithm such as proposed by Meyer and Nachtsheim (1995) is mainly useful for generating optimal designs without constraints, a column-swapping algorithm (e.g., Huber and Zwerina, 1996) is particularly useful for designs with attribute level balance constraints, and a row-swapping algorithm like the modified Federov algorithm (Cook and Nachtsheim, 1980) is particularly useful for designs with attribute level or dominance constraints."

Michiel
Michiel Bliemer
 
Posts: 1885
Joined: Tue Mar 31, 2009 4:13 pm

Re: Choice set consisting of 3 health states

Postby CMA » Thu Aug 22, 2024 9:33 am

My understanding is getting better.
However, I don't quite understand "constraints".
Why can't I use the swapping algorithm with the following programs?
Code: Select all
Design
;alts = alt1*, alt2*
;rows = 42
;eff = (mnl, d)
;alg = swap(stop=total(1000000 iterations))
;block = 3
;model:
U(alt1) = b1.dummy[1.269]                   * A[1,0]
        + b2.dummy[0.443|0.443]             * B[1,2,0]
        + b3.dummy[0.167|0.167]             * C[1,2,0]
        + b4.dummy[0.130|0.130]             * D[1,2,0]
        + b5.dummy[0.157]                   * E[1,0]
        + b6.dummy[0.143|0.143|0.143|0.143] * F[1,2,3,4,0]
        /
U(alt2) = b1                * A
        + b2                * B
        + b3                * C
        + b4                * D
        + b5                * E
        + b6                * F
$
CMA
 
Posts: 34
Joined: Mon Jun 14, 2021 3:42 pm

Re: Choice set consisting of 3 health states

Postby Michiel Bliemer » Thu Aug 22, 2024 10:43 am

Attribute level constraints are for example:

;cond:
if(alt1.a=1, alt1.b>2)

or

;reject:
alt1.a=1 and alt1.b=1

Dominance constraints are when you put a * after each alternative in ;alts AND you have specified non-zero priors. In that case, Ngene will conduct dominance checks to avoid choice tasks where all attribute levels of one alternative are better than the other alternative. In case you have a relatively large number of rows, row-based algorithms such as the swapping algorithm will not be able to find any feasible design. If you remove * then you will see it works, but then you will end up with alternatives that are dominant in your choice tasks, which is not want you want. Please refer to this article that explains how dominance checks work, which are essentially impose a strong constraint on the design: https://www.sciencedirect.com/science/article/pii/S0191261517304228

Michiel
Michiel Bliemer
 
Posts: 1885
Joined: Tue Mar 31, 2009 4:13 pm

Re: Choice set consisting of 3 health states

Postby CMA » Fri Aug 30, 2024 9:27 am

To deepen my understanding, I would like to ask a question.
When planning an experiment with three health states (state A, state B, and “immediate death”), the D-error and S estimate (sample size) become larger compared to when there are only two health states (state A, state B).
I thought that adding “immediate death” to the two health states would not significantly change the experimental plan.
Is this simply due to the addition of one more option?
If there are other factors influencing this, please let me know.
CMA
 
Posts: 34
Joined: Mon Jun 14, 2021 3:42 pm

Re: Choice set consisting of 3 health states

Postby Michiel Bliemer » Sat Aug 31, 2024 6:16 pm

If you add an alternative, then the choice probabilities change and therefore the Fisher information matrix changes and efficiency changes. Usually, adding an alternative adds more information and increases efficiency, but this is not always the case. For example, if the additional alternative is very dominant then there would be very little trade-off between the other two alternatives and hence efficiency would decrease. Note that adding "immediate death" also increases the number of parameters (it requires a constant in that utility function), so the D-errors are no longer comparable as it is a different model. Note that the D-error is scaled by the number of parameters.

Michiel
Michiel Bliemer
 
Posts: 1885
Joined: Tue Mar 31, 2009 4:13 pm

Next

Return to Choice experiments - Ngene

Who is online

Users browsing this forum: No registered users and 10 guests