Some contradictions in attribute combinations

This forum is for posts that specifically focus on Ngene.

Moderators: Andrew Collins, Michiel Bliemer, johnr

Some contradictions in attribute combinations

Postby Mayaba » Thu Feb 10, 2022 6:52 am

Hi Michiel and other forum users,

Two weeks ago, I posted the syntax below for someone to have a second thought. It was confirmed all looked ok. But I have a problem with the choice sets generated. I think there are some contradictions in some of the attribute combinations for some of the choice alternatives. For example, SPCA won’t certify a cage system. In some choice sets, no outdoor access comes in combination with a caged system which is a contradiction because birds in cages have no access to outdoors. Did I miss something or as a new Ngene /choice experiment user there is something I don't understand how Ngene will combine the levels?


Design
;alts = A*, B*, C*, D*, None
;rows = 20
;block = 4, minsum
;eff = (mnl,d)
;alg = mfederov
;model:
U(A) = bscratching.dummy [0.120|0.130|0.140] * scratching [0,1,2,3] + bcages.dummy[-0.042]* cages[0,1]
+ bcert.dummy[0.15|0.16|0.17] * certification[0,1,2,3]
+ boutdoors.dummy[0.140] * outdoors[0,1] + bnesting&perches.dummy[ 0.133] * nesting&perches[0,1]
+ bprice[-0.47]* price[5,6,7,8](3-5,3-5,3-5,3-5)/
U(B) =bscratching * scratching+ bcages * cages + bcert * certification + boutdoors * outdoors +bnesting&perches * nesting&perches + bprice * price /
U(C) =bscratching * scratching + bcages * cages + bcert * certification + boutdoors * outdoors + bnesting&perches * nesting&perches + bprice * price /
U(D) =bscratching * scratching + bcages * cages + bcert * certification + boutdoors * outdoors + bnesting&perches* nesting&perches + bprice * price /
U(None) = b0[-3]
$
Mayaba
 
Posts: 18
Joined: Sun Jan 02, 2022 2:29 pm

Re: Some contradictions in attribute combinations

Postby Michiel Bliemer » Thu Feb 10, 2022 7:03 am

I can only check whether the syntax looks appropriate, I do not know what the attributes mean and whether the choice tasks are meaningful, that needs to be assessed by each researcher and in each study separately. Ngene does not know that "birds in caged have no access to outdoors" unless you tell Ngene so.

You have not explained what your attributes are and what level 0 means and level 1 means, so if you can provide more information then perhaps we can help. If there are unrealistic attribute level combinations, you need to impose restrictions. For example:

reject:
A.cages = 1 and A.outdoors = 1

Another comment: Note that with dummy coding, the last level is the base level. So boutdoors.dummy[0.140] * outdoors[0,1] means that level 1 has utility 0 and level 0 has utility 0.140, so level 1 is preferred over level 0 in your current syntax. Again, I do not know what 0 and 1 mean so I cannot assess whether this is correct or not.

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

Re: Some contradictions in attribute combinations

Postby Mayaba » Thu Feb 10, 2022 11:57 am

Hi Michiel,

Thank you very much for your quick response. I really appreciate your feedback as a new user of Ngene. I'm sorry for not giving enough information in my previous post. I guess it is a reflection of not understanding how Ngene works and designing choice sets, lol: Below are the attributes and levels i used with dummy codes in brackets:


Attributes

Price
• $5
• $6
• $7
• $8
Use of cages

• Caged (0)
• Cage free (1)


Scratching area
• None (0)
• Within the cage (1)
• Inside - floor -area (2)
• Inside - floor -area & range area (paddock) (3)

Outdoor access
• None (0)
• Yes (1)

Access to nesting boxes and perches for roosting
• None (0)
• Yes (1)

Animal welfare certification

• No certification (0)
SPCA certification (1)
• Government certification (2)
• Industry certification (3)

I was trying to post one or two choice sets here, but I could not figure it out how to do that. The links below will show two of the generated choice sets.

file:///C:/Users/Owner/Downloads/New%20choice%20set_scenario2.html

file:///C:/Users/Owner/Downloads/New%20choice%20set_scenario3.html
Mayaba
 
Posts: 18
Joined: Sun Jan 02, 2022 2:29 pm

Re: Some contradictions in attribute combinations

Postby Michiel Bliemer » Thu Feb 10, 2022 1:36 pm

An example of some constraints are shown in the syntax below.

Please note that I changed some of the orders in which attribute levels were listed, e.g. I assume that outdoor access (level 1) is preferred over having no outdoor access (level 0), and therefore level 1 should have a higher utility (0.14) than level 0. As mentioned in my previous post, the last level is the reference level. It is very important to get the preference order in your priors consistent with the order in which the attribute levels appear in the syntax.

Code: Select all
Design
;alts = A*, B*, C*, D*, None
;rows = 20
;block = 4, minsum
;eff = (mnl,d)
;alg = mfederov
;reject:
? when caged then cannot have outdoor access
A.cages = 0 and A.outdoors = 1,
B.cages = 0 and B.outdoors = 1,
C.cages = 0 and C.outdoors = 1,
D.cages = 0 and D.outdoors = 1,
? when caged then cannot have access to nesting boxes and perches for roosting
A.cages = 0 and A.nestingperches = 1,
B.cages = 0 and B.nestingperches = 1,
C.cages = 0 and C.nestingperches = 1,
D.cages = 0 and D.nestingperches = 1
;model:
U(A)    = bscratching.dummy [0.120|0.130|0.140] * scratching[1,2,3,0]              ? 0 = none (base), 1 = within case, 2 = inside, 3 = inside and range area
        + bcages.dummy[-0.042]                  * cages[0,1]                       ? 0 = caged (base), 1 = cage free
        + bcert.dummy[0.15|0.16|0.17]           * certification[0,1,2,3]           ? 0 = none (base), 1 = SPCA, 2 = government, 3 = industry
        + boutdoors.dummy[0.140]                * outdoors[1,0]                    ? 0 = no (base), 1 = yes
        + bnestingperches.dummy[0.133]          * nestingperches[1,0]              ? 0 = no (base), 1 = yes
        + bprice[-0.47]                         * price[5,6,7,8](3-5,3-5,3-5,3-5)  ? price in sollars
        /
U(B)    = bscratching * scratching+ bcages * cages + bcert * certification + boutdoors * outdoors +bnestingperches * nestingperches + bprice * price /
U(C)    = bscratching * scratching + bcages * cages + bcert * certification + boutdoors * outdoors + bnestingperches * nestingperches + bprice * price /
U(D)    = bscratching * scratching + bcages * cages + bcert * certification + boutdoors * outdoors + bnestingperches* nestingperches + bprice * price /
U(None) = b0[-3]
$


Note that you can only link to images if you first put them online, you are now linking to your local computer (which we cannot access).

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

Re: Some contradictions in attribute combinations

Postby Mayaba » Thu Feb 10, 2022 2:56 pm

Hi Michael,

Thank you very much, I will make some changes following the example you have given.

Regards

Harold
Mayaba
 
Posts: 18
Joined: Sun Jan 02, 2022 2:29 pm

Re: Some contradictions in attribute combinations

Postby Mayaba » Thu Feb 10, 2022 6:23 pm

Hi Michiel,

I think I have serious trouble with the attributes I used. For 'use of cages,' the problem is that there are two types of cages used in the industry, battery, and colony. Colony cages have nesting boxes, scratching areas, and perches for roosting within the cage. These are the features that other production systems have too. So, putting a restriction between cages = 0 and nesting & perches = 1 or between cages = 0 and scratching = 0,2,3 will seem as if battery cages and colony cages have the same features.
Mayaba
 
Posts: 18
Joined: Sun Jan 02, 2022 2:29 pm

Re: Some contradictions in attribute combinations

Postby Michiel Bliemer » Fri Feb 11, 2022 8:33 am

Then you may have to redefine your variables, e.g. create a single dummy coded variable with for example the following levels:
* battery cage
* colony cage with nesting places and scratching areas
* uncaged

I do not have domain knowledge so I cannot really help you with defining your attributes and levels, but if you have further questions about Ngene syntax I am happy to assist.

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

Re: Some contradictions in attribute combinations

Postby Mayaba » Sun Feb 13, 2022 6:54 am

Hi Michiel,

I changed some attributes and levels for the design. I redefined the attribute, 'cages', and its levels: 1 = battery caged (-0.126) , 2 = cage free (0.54) and 0 = colony caged (0) as a base. The results I got are as follows:

- D. error = 0.4778
- S. estimates = 224.14

1. Is the D. error too high?
2. Please check the syntax below for me too.

Design
;alts = A*, B*, C*, D*, None
;rows = 12
;block = 4, minsum
;eff = (mnl,d)
;alg = mfederov
;reject:

? when certification then cannot access scratching

A.certification = 1 and A.scratching = 0,
B.certification = 1 and B.scratching = 0,
C.certification = 1 and C.scratching = 0,
D.certification = 1 and D.scratching = 0,

? when certification then cannot access nestingperches

A.certification = 1 and A.nestingperches = 0,
B.certification = 1 and B.nestingperches = 0,
C.certification = 1 and C.nestingperches = 0,
D.certification = 1 and D.nestingperches = 0,

? when certification then cannot access outdoors

A.certification = 1 and A.outdoors = 0,
B.certification = 1 and B.outdoors = 0,
C.certification = 1 and C.outdoors = 0,
D.certification = 1 and D.outdoors = 0,

? when certification then cannot have cages

A.certification = 1 and A.cages = 0,
B.certification = 1 and B.cages = 0,
C.certification = 1 and C.cages = 0,
D.certification = 1 and D.cages = 0,

? when certification then cannot have cages

A.certification = 1 and A.cages = 1,
B.certification = 1 and B.cages = 1,
C.certification = 1 and C.cages = 1,
D.certification = 1 and D.cages =1,

? cages then cannot have access to outdoors

A.cages = 1 and A.outdoors = 0,
B.cages = 1 and A.outdoors = 0,
C.cages =1 and A.outdoors = 0,
D.cages = 1 and A.outdoors = 0,

? cages then cannot have access to outdoors

A.cages = 0 and A.outdoors = 0,
B.cages = 0 and A.outdoors = 0,
C.cages = 0 and A.outdoors = 0,
D.cages = 0 and A.outdoors = 0,

? cages then cannot access to scratching

A.cages = 1 and A.scratching = 0,
B.cages = 1 and A.scratching = 0,
C.cages =1 and A.scratching = 0,
D.cages = 1 and A.scratching = 0


;model:

U(A) = bcages.dummy [-0.126|0.54] * cages [1,2,0] + bscratching.dummy[0.140] * scratching[1,0]
+ bcertification.dummy[0.51] * certification[1,0]
+ boutdoors.dummy[0.421] * outdoors[1,0]
+ bnestingperches.dummy[0.133] * nestingperches[1,0]
+ bprice[-0.47] * price[4 ,6,8,10](3-5,3-5,3-5,3-5)
/
U(B) = bcages * cages + bscratching * scratching + bcertification * certification + boutdoors * outdoors +bnestingperches * nestingperches + bprice * price /
U(C) = bcages * cages + bscratching * scratching + bcertification * certification + boutdoors * outdoors + bnestingperches * nestingperches + bprice * price /
U(D) = bcages * cages + bscratching * scratching + bcertification * certification + boutdoors * outdoors + bnestingperches* nestingperches + bprice * price /
U(None) = b0[-3]
$
Mayaba
 
Posts: 18
Joined: Sun Jan 02, 2022 2:29 pm

Re: Some contradictions in attribute combinations

Postby Michiel Bliemer » Sun Feb 13, 2022 10:35 am

The D-error looks fine. Note that it is different for every study, so you cannot compare with other studies.
Sample size estimates look plausible.

Syntax looks fine looking at just the structure. I am unable to comment on whether the model, constraints, or priors make sense since I do not have domain knowledge and am unable to comment on project specific details.

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

Re: Some contradictions in attribute combinations

Postby Mayaba » Sun Feb 13, 2022 1:59 pm

Dear Michiel,

Thank you for your usual quick response. I appreciate it. I'm learning a lot from this forum.
Mayaba
 
Posts: 18
Joined: Sun Jan 02, 2022 2:29 pm

Next

Return to Choice experiments - Ngene

Who is online

Users browsing this forum: No registered users and 28 guests

cron