Script gives MNL D-Error Undefined, no further valid designs

This forum is for posts that specifically focus on Ngene.

Moderators: Andrew Collins, Michiel Bliemer, johnr

Script gives MNL D-Error Undefined, no further valid designs

Postby Remai » Wed Dec 18, 2024 8:17 pm

Hi there

I'm trying to generate a partial profile with 60 rows in 10 blocks for a DCE pilot.

I initially created a candidate set with 9000 rows, where I had applied my reject rule criteria to restrict the combinations in the candidate set. I then restricted this dataset so that only the records that had 3 overlapping attributes were included, and this brought it down to around 2200 rows.

Using the candidate set of 2200 rows, when I try to generate my pilot data from this, Ngene is unable to produce a valid design. Is there something wrong in my script (included below), or is Ngene unable to find appropriate scenarios due to the restrictions I set in my reject criteria when creating my candidate set? Or could it be due to two of my attributes having 8-10 levels?

I initially tried adding level balancing but this produced no results and when I stopped the execution, I had the error:
[Modified Fedorov] ERROR: Unable to find a design that satisfies the specified attribute level frequency constraints. You may need to relax some attribute level constraints, combinatorial constraints (if specified), or dominance checks. The candidate set has 1886 rows
- however this was with the candidate set with 2200 rows, so I'm not sure why the row count didn't match.

When no level balance is included and I run the script, I immediately get a single evaluation response with an MNL D-Error of "Undefined", and all of the subsequent evaluations are reported as invalid designs (the counter rapidly ticks up about 50 evaluations per second). This is my script:
Code: Select all
Design
;alts = optA*, optB*, neither
;rows = 60
;block = 10
;eff = (mnl,d)
;alg = mfederov(candidates=candidate_set.csv)

;model:
U(optA) = b1.dummy[0.000001|0.000002|0.000003|0.000004|0.000005|0.000006|0.000007|0.000008|0.000009] * meds[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
+ b2.dummy[0.000001|0.000002|0.000003|0.000004|0.000005|0.000006|0.000007] * support[0, 1, 2, 3, 4, 5, 6, 7]
+ b3.dummy[0.000001] * contact[0, 1]
+ b4.dummy[0.000001|0.000002|0.000003|0.000004] * distance[0, 1, 2, 3, 4]
+ b5.dummy[0.000001|0.000002] * addition[0, 1, 2]
+ b6.dummy[0.000001|0.000002] * tools[0, 1, 2]
+ b7.dummy[0.000001|0.000002|0.000003] * cost[0, 1, 2, 3]
/
U(optB) = b1 * meds
 + b2 * support
 + b3 * contact
 + b4 * distance
 + b5 * addition
 + b6 * tools
 + b7 * cost
$
Remai
 
Posts: 2
Joined: Sun Oct 27, 2024 12:06 pm

Re: Script gives MNL D-Error Undefined, no further valid des

Postby Michiel Bliemer » Thu Dec 19, 2024 2:38 pm

The script runs without your candidate set, so the issue is in your candidate set. Since it states Undefined D-error it means that the model cannot be estimated based on the data. Maybe your constraints created multicollinearity in the data? For example, you cannot have constraints such as IF MEDS=1 THEN SUPPORT=3 because this creates perfect correlation between these dummy coded attribute levels.

If you open the design with Undefined D-error, you can look at the covariance matrix, which should tell you which parameters are the issue. That may give you a clue where the issue may be in your candidate set.

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


Return to Choice experiments - Ngene

Who is online

Users browsing this forum: No registered users and 9 guests