Efficient Designs

This forum is for posts that specifically focus on Ngene.

Moderators: Andrew Collins, Michiel Bliemer, johnr

Efficient Designs

Postby AnnaChi » Wed Nov 13, 2024 10:33 pm

Hello,Professor, I'm new here and I'd like to ask a question about D-efficient design:
I currently have five attributes, including three policy attributes(every attribute have two levels:improve and status quo) ,one policy effect(which have two levels:minor improvement and major improvement) and one payment attribute(50,100,200yuan). The specific code is as follows.
Code: Select all
design
;alts = alt1*, alt2*
;rows=12
;block=2
;eff=(mnl,d)
;con
;model:
U(alt1)=b2.dummy[0.0001]*A[1,0]?0=status quo(base),1=improment
+b3.dummy[0.0001]*B[1,0]?0=status quo(base),1=improment
+b4.dummy[0.0001]*C[1,0]?0=status quo(base),1=improment
+b5.dummy[0.0001]*D[1,0]?0=minor improment(base),1=major improment
+b6.dummy[-0.0001|-0.0001]*E[1,2,0]?/
U(alt2)=b2.dummy*A+b3.dummy*B+b4.dummy*C+b5.dummy*D+b6.dummy*E
$


I decided to generate 12 scenarios and then divide them into two parts, but one of the choice set is inconsistent which have no policy(three policy attributes are status quo) while pilicy effect is major improvement. How should I modify this situation?
Anna
AnnaChi
 
Posts: 7
Joined: Sat Oct 19, 2024 12:10 pm

Re: Efficient Designs

Postby Michiel Bliemer » Fri Nov 15, 2024 1:34 pm

I am not exactly sure what you mean with "inconsistent", but perhaps you mean to impose constraints?
Something like:

;cond:
if(alt1.A=0, alt1.D=1)

Otherwise, please reformulate your question as I do not quite understand what you are asking.

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

Re: Efficient Designs

Postby AnnaChi » Fri Nov 15, 2024 5:34 pm

Dear professor
I am sorry for my unclear expression. My problem is that after I ran the choice set with the above code, I realized that one of the choice sets doesn't match reality. That is, the levels of policy attributes are all status quo, but the level of policy effect is major improvement , which defies normal logic. I would like to ask you how to add constraints to avoid this situation.
Anna
AnnaChi
 
Posts: 7
Joined: Sat Oct 19, 2024 12:10 pm

Re: Efficient Designs

Postby Michiel Bliemer » Fri Nov 15, 2024 6:06 pm

Ok, then my answer was correct. You need to impose constraints to create realistic .

With the default swapping algorithm, you can use if-then constraints in the ;cond property.
With the modified Federov algorithm, you can use reject constraints in the ;reject property.

I refer to the manual for examples of such constraints. Let me know if you need further help in formulating your constraints.

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

Re: Efficient Designs

Postby AnnaChi » Mon Dec 02, 2024 1:10 am

Michiel Bliemer wrote:Ok, then my answer was correct. You need to impose constraints to create realistic .

With the default swapping algorithm, you can use if-then constraints in the ;cond property.
With the modified Federov algorithm, you can use reject constraints in the ;reject property.

I refer to the manual for examples of such constraints. Let me know if you need further help in formulating your constraints.

Michiel



Dear professor,
I have added constraints to codes in order to get the desired results.Is it correct for me to use the following command for efficient design? (2 alternatives and 1 exit option)
Code: Select all
design
;alts = alt1*, alt2*
;rows=12
;block=2
;eff=(mnl,d)
;cond:
If(alt1.A+alt1.B=0,alt1.C=1),
If(alt1.A+alt1.C=0,alt1.B=1),
If(alt1.C+alt1.B=0,alt1.A=1),
If(alt2.A+alt2.B=0,alt2.C=1),
If(alt2.A+alt2.C=0,alt2.B=1),
If(alt2.C+alt2.B=0,alt2.A=1),
If(alt1.A+alt1.B+alt1.C>alt2.A+alt2.B+alt2.C,alt1.D>alt2.D),
If(alt1.A+alt1.B+alt1.C<alt2.A+alt2.B+alt2.C,alt1.D<alt2.D)
;model:
U(alt1)=b2.dummy[0.0001]*A[1,0]?0=status quo(base),1=improment
+b3.dummy[0.0001]*B[1,0]?0=status quo(base),1=improment
+b4.dummy[0.0001]*C[1,0]?0=status quo(base),1=improment
+b5.dummy[0.0001]*D[1,0]?0=minor improment(base),1=major improment
+b6.dummy[-0.0001|-0.0001]*E[1,2,0]?/
U(alt2)=b2.dummy*A+b3.dummy*B+b4.dummy*C+b5.dummy*D+b6.dummy*E
$


But the result I obtained is D-error=0.646891.Is this error too large? If I reduce the number of constraints, then I will not get the choice set I want. Or can you tell me that I am doing the right thing?
Anna
AnnaChi
 
Posts: 7
Joined: Sat Oct 19, 2024 12:10 pm

Re: Efficient Designs

Postby Michiel Bliemer » Mon Dec 02, 2024 4:19 pm

The D-error is fine, so I do not see an issue.

While 12 rows is sufficient to estimate your model, you could consider increasing the number of rows. If you do, Ngene may struggle to find choice tasks without dominant alternatives using the default swapping algorithm. You could consider using the modified Federov algorithm ;alg = mfederov and replace your conditional constraints with reject constraints. For example:

;reject:
alt1.A+alt1.B=0 and alt1.C=0,
etc.

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

Re: Efficient Designs

Postby AnnaChi » Mon Dec 02, 2024 11:05 pm

Michiel Bliemer wrote:The D-error is fine, so I do not see an issue.

While 12 rows is sufficient to estimate your model, you could consider increasing the number of rows. If you do, Ngene may struggle to find choice tasks without dominant alternatives using the default swapping algorithm. You could consider using the modified Federov algorithm ;alg = mfederov and replace your conditional constraints with reject constraints. For example:

;reject:
alt1.A+alt1.B=0 and alt1.C=0,
etc.

Michiel

Thank you for your advice . I would like to ask you why 12 rows is not perfect for my model?
Anna
AnnaChi
 
Posts: 7
Joined: Sat Oct 19, 2024 12:10 pm

Re: Efficient Designs

Postby Michiel Bliemer » Tue Dec 03, 2024 8:51 am

With more rows you have more variation in the data and you can estimate more complex utility functions after data collection, such as nonlinear effects or interaction effects. The minimum number of rows needed is (6 parameters)/(2 alternatives - 1) = 6, so 6 rows is enough to estimate the model and I generally recommend multiplying this number with at least 2 or 3 to get sufficient variation in the data. So 12 is sufficient, but I probably would prefer 18. More rows is never an issue.

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

Re: Efficient Designs

Postby AnnaChi » Tue Dec 03, 2024 12:57 pm

Michiel Bliemer wrote:With more rows you have more variation in the data and you can estimate more complex utility functions after data collection, such as nonlinear effects or interaction effects. The minimum number of rows needed is (6 parameters)/(2 alternatives - 1) = 6, so 6 rows is enough to estimate the model and I generally recommend multiplying this number with at least 2 or 3 to get sufficient variation in the data. So 12 is sufficient, but I probably would prefer 18. More rows is never an issue.

Michiel

Thank you for your help. I have learned a lot from you!
Anna
AnnaChi
 
Posts: 7
Joined: Sat Oct 19, 2024 12:10 pm


Return to Choice experiments - Ngene

Who is online

Users browsing this forum: No registered users and 2 guests

cron