Experimental design_Ngene

This forum is for posts that specifically focus on Ngene.

Moderators: Andrew Collins, Michiel Bliemer, johnr

Experimental design_Ngene

Postby Sameh » Thu Nov 09, 2023 2:07 am

Dear Michiel,

I got this error message: " Error: The modified Federov candidate set size of 2000 could not be achieved. The percentages of candidates that failed are: 95.75% due to dominance, 0% due to constraints, and 4.25% due to repeated alternatives. The candidate set size has been adjusted from 2000 to 1194 " when running the following script which has led to an undefined MNL D error:

design
alts = alt1*, alt2*, sq*
;rows = 18
;block = 2,minsum
;eff = (mnl,d)

;alg = mfederov

;require:
sq.WATER = 0,
sq.IRRIG = 0,
sq.EROSION = 0

;reject:

alt1.WATER <> 0 and alt1.IRRIG = 0,
alt2.WATER <> 0 and alt2.IRRIG = 0,
alt1.IRRIG <> 0 and alt1.WATER = 0,
alt2.IRRIG <> 0 and alt2.WATER = 0,


alt1.WATER + alt1.IRRIG + alt1.EROSION > 3 and alt1.PRICE = 30,
alt2.WATER + alt2.IRRIG + alt2.EROSION > 3 and alt2.PRICE = 30,
alt1.Price = 30 and alt1.WATER + alt1.IRRIG + alt1.EROSION < 3,
alt2.Price = 30 and alt2.WATER + alt2.IRRIG + alt2.EROSION < 3

;model :
U(alt1) = b1.dummy[0.001|0.002] * WATER[1,2,0]
+ b2.dummy[0.001|0.002] * IRRIG[1,2,0]
+ b3.dummy[0.001|0.002] * EROSION[1,2,0]
+ b4[-0.0001] * PRICE[30, 60, 90, 120](2-8,2-8,2-8,2-8)/


U(alt2) = b1 * WATER
+ b2 * IRRIG
+ b3 * EROSION
+ b4 * PRICE /

U(sq) = b_sq[0]
+ b1 * WATER
+ b2 * IRRIG
+ b3 * EROSION
+ b4 * PRICE_sq[0]


$

1/ Firstly, I put these constraints as follows : (3-7,3-7,3-7,3-7) because we have 18 rows and 4 levels of price, so to relax it, I think that it will be good to put 3-7 (number of times that a considered price level has to appear), I don't know if you share with me the same thing or not?

2/ Secondly, as I understand from the error message, the prob is mainly related to dominance, so have you some suggestions to deal with this, please? I already have an undefined MNL D error (it could be related to constraints?)

Greetings,
Sameh
 
Posts: 11
Joined: Wed Nov 03, 2021 6:26 pm
Location: Spain

Re: Experimental design_Ngene

Postby Michiel Bliemer » Fri Nov 10, 2023 4:39 pm

The error merely indicates that Ngene could not find 2000 choice tasks (the default) that satisfies all your constraints, and it states that it adjusted the candidate set to 1194. This is fine. You can avoid this error message by using:

;alg = mfederov(candidates=1194)

The real issue is the Undefined D-error. The reason for this is that your constraints create perfectly correlated data and hence the model cannot be estimated because one or more parameters are not identifiable. If you open the design with the undefined D-error and you inspect the covariance matrix, you can see that the problem is because the b1 and b2 dummies cannot be estimated. If you would for example remove the first constraint, e.g. by putting a question mark in front of it,

?alt1.WATER <> 0 and alt1.IRRIG = 0,

then Ngene can generate a design without any problem. So the issue lies in your constraints. If you check the design, you can see that WATER=0 always appears with IRRIG=0 in the design due to the constraints you imposed. Hence, level 0 for water and level 0 for irrig are perfectly correlated.

You will need to think about how to define your utility functions and constraints such that your parameters are identifiable. You may need to create a separate variable for the combination WATER=0 & IRRIG=0, and then a separate variables for WATER=[1,2] and IRRIG=[1,2], but this all depends on the meaning of your variables and the objective of your study.

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


Return to Choice experiments - Ngene

Who is online

Users browsing this forum: No registered users and 50 guests