How to fix each of attribute level?

This forum is for posts that specifically focus on Ngene.

Moderators: Andrew Collins, Michiel Bliemer, johnr

How to fix each of attribute level?

Postby sukunta » Sat Jan 21, 2023 3:58 pm

Dear Prof.Michiel Bliemer,
This is the syntax of the fixed effect design
Code: Select all
Design
;alts=alt1*,alt2*,alt3
;rows=24
;block=2
;eff=(mnl,d)
; con
;model:
U(alt1)=b0[0.00001]+b1.dummy [0.000004|0.000003|0.000002|0.000001|0.000001] * locate[5,4,3,2,1,0]+b2.dummy[0.000002|0.000001|0.000001] * pretest[3,2,1,0]+b3.dummy [0.000002|0.000001|0.000001] * posttest[3,2,1,0]+b4.dummy[-0.000002] *anonym [1,0]+ b5.dummy[0.000002] *method[1,0]+b6[-0.000004]*price[0,100,300,700]/
U(alt2)=b0+b1*locate+b2* pretest+b3* posttest+b4*anonym+ b5.dummy *method+b6*price
$
I want to fix the attribute levels between the zero cost and 0 anonym level; 100, 300, and 700 between 1 anonym level in each alternative. Please, recommend to me how to determine the syntax for that design.
Sincerely yours,
Sukunta
sukunta
 
Posts: 83
Joined: Tue Jan 12, 2016 1:28 pm

Re: How to fix each of attribute level?

Postby Michiel Bliemer » Sun Jan 22, 2023 11:12 am

You can impose conditional constraints, such as:

;cond:
if(alt1.anonym=0, alt1.price=0), if(alt2.anonym=0, alt2.price=0),
if(alt1.anonym=1, alt1.price>0),if(alt2.anonym=1, alt2.price>0)

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

Re: How to fix each of attribute level?

Postby sukunta » Sun Jan 22, 2023 7:26 pm

Dear Prof.Michiel Bliemer,
Thank you so much. However, the levels were not balanced. How I fix this problem?

Sincerely yours,
Sukunta
sukunta
 
Posts: 83
Joined: Tue Jan 12, 2016 1:28 pm

Re: How to fix each of attribute level?

Postby Michiel Bliemer » Mon Jan 23, 2023 10:04 pm

With constraints it is usually not possible to also balance all attribute levels.

You could impose attribute level constraints in combination with the modified Federov algorithm, for example in the script below.

Code: Select all
Design
;alts=alt1*,alt2*,alt3
;rows=24
;block=2
;eff=(mnl,d)
;alg = mfederov
;reject:
alt1.anonym=0 and alt1.price>0, alt2.anonym=0 and alt2.price>0,
alt1.anonym=1 and alt1.price=0, alt2.anonym=1 and alt2.price=0
;con
;model:
U(alt1) = b0[0.00001]
        + b1.dummy[0.000004|0.000003|0.000002|0.000001|0.000001] * locate[5,4,3,2,1,0]
        + b2.dummy[0.000002|0.000001|0.000001]                   * pretest[3,2,1,0]
        + b3.dummy [0.000002|0.000001|0.000001]                  * posttest[3,2,1,0]
        + b4.dummy[-0.000002]                                    * anonym[1,0]
        + b5.dummy[0.000002]                                     * method[1,0]
        + b6[-0.000004]                                          * price[0,100,300,700](5-7,5-7,5-7,5-7)
        /
U(alt2) = b0+b1*locate+b2* pretest+b3* posttest+b4*anonym+ b5 *method+b6*price
$


Usually it is not necessary to add attribute level constraints to categorical variables but you could if needed.
You could also use something like:

;eff = 1*(mnl,d) + 2*(imbalance)

This not only minimises the D-error but also minimises attribute level imbalance.

I refer to the Ngene manual for further explanations of the various properties.

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

Re: How to fix each of attribute level?

Postby sukunta » Tue Jan 24, 2023 6:56 pm

Dear Prof.Michiel Bliemer,
Thank you so much for your recommendation.
Sincerely yours,
Sukunta
sukunta
 
Posts: 83
Joined: Tue Jan 12, 2016 1:28 pm


Return to Choice experiments - Ngene

Who is online

Users browsing this forum: No registered users and 40 guests