Optimising panel mixed logit design_Syntax errors

This forum is for posts that specifically focus on Ngene.

Moderators: Andrew Collins, Michiel Bliemer, johnr

Optimising panel mixed logit design_Syntax errors

Postby neeraj85 » Mon Jun 15, 2015 9:33 pm

Hi,

I've been trying to optimise panel mixed logit design using the MNL design. The design comprises of 3 alternatives (2 hypothetical and 1 status quo)

Following are the steps carried out by me:
1. Generated a design using MNL. This created a design with a name d347.ngd
2. Evaluated the efficiency of d347.ngd for panel mixed logit

ISSUE: The execution terminates suddenly after few minutes and throws a message to contact choice metrics.

Following is the script whose run is ending abruptly:

;alts(Cat7) = alt1*, alt2*, alt3*
;alts(Cat8) = alt1*, alt2*, alt3*
;alts(Cat9) = alt1*, alt2*, alt3*
;alts(Cat10) = alt1*, alt2*, alt3*
;alts(Cat11) = alt1*, alt2*, alt3*
;alts(Cat12) = alt1*, alt2*, alt3*

;alg = eval(d347.ngd)
;rows = 10
;eff = fish2(rpecpanel,d,mean)
;rdraws = gauss(3)
;bdraws = gauss(3)
;rep = 1000
;fisher(fish2) = design1(Cat7[0.191], Cat8[0.163], Cat9[0.207], Cat10[0.289], Cat11[0.134], Cat12[0.016])

;model(Cat7):
U(alt1) = b90[n,(n,-0.2746,0.0544),(n,0.1923,0.0526)] * tt.ref[7.5] + b91[n,(n,-0.1228,0.0379),(n,0.1843,0.0449)] * tts.ref[2] + b92[n,(n,-0.1382,0.0654),(n,0.2310,0.0770)] * sn.ref[5] + b93[(n,-1.5784,0.3706)] * vr.ref[0.85] + s1[ec,0.2]/
U(alt2) = b90[n,(n,-0.2746,0.0544),(n,0.1923,0.0526)] * tt.piv[-20%, -10%, 0%, 10%, 20%] + b91[n,(n,-0.1228,0.0379),(n,0.1843,0.0449)] * tts.piv[-50%, -25%, 0%, 25%, 50%] + b92[n,(n,-0.1382,0.0654),(n,0.2310,0.0770)] * sn.piv[-50%, -25%, 0%, 25%, 50%] + b93[(n,-1.5784,0.3706)] * vr.piv[-25%, -12.5%, 0%, 12.5%, 25%] + s1 + s2[ec,0.5]/
U(alt3) = b90[n,(n,-0.2746,0.0544),(n,0.1923,0.0526)] * tt.piv[-20%, -10%, 0%, 10%, 20%] + b91[n,(n,-0.1228,0.0379),(n,0.1843,0.0449)] * tts.piv[-50%, -25%, 0%, 25%, 50%] + b92[n,(n,-0.1382,0.0654),(n,0.2310,0.0770)] * sn.piv[-50%, -25%, 0%, 25%, 50%] + b93[(n,-1.5784,0.3706)] * vr.piv[-25%, -12.5%, 0%, 12.5%, 25%] + s2

;model(Cat8):
U(alt1) = b90[n,(n,-0.2746,0.0544),(n,0.1923,0.0526)] * tt.ref[22.5] + b91[n,(n,-0.1228,0.0379),(n,0.1843,0.0449)] * tts.ref[6] + b92[n,(n,-0.1382,0.0654),(n,0.2310,0.0770)] * sn.ref[12] + b93[(n,-1.5784,0.3706)] * vr.ref[2.45] + s1[ec,0.2]/
U(alt2) = b90[n,(n,-0.2746,0.0544),(n,0.1923,0.0526)] * tt.piv[-20%, -10%, 0%, 10%, 20%] + b91[n,(n,-0.1228,0.0379),(n,0.1843,0.0449)] * tts.piv[-50%, -25%, 0%, 25%, 50%] + b92[n,(n,-0.1382,0.0654),(n,0.2310,0.0770)] * sn.piv[-50%, -25%, 0%, 25%, 50%] + b93[(n,-1.5784,0.3706)] * vr.piv[-25%, -12.5%, 0%, 12.5%, 25%] + s1 + s2[ec,0.5]/
U(alt3) = b90[n,(n,-0.2746,0.0544),(n,0.1923,0.0526)] * tt.piv[-20%, -10%, 0%, 10%, 20%] + b91[n,(n,-0.1228,0.0379),(n,0.1843,0.0449)] * tts.piv[-50%, -25%, 0%, 25%, 50%] + b92[n,(n,-0.1382,0.0654),(n,0.2310,0.0770)] * sn.piv[-50%, -25%, 0%, 25%, 50%] + b93[(n,-1.5784,0.3706)] * vr.piv[-25%, -12.5%, 0%, 12.5%, 25%] + s2

;model(Cat9):
U(alt1) = b90[n,(n,-0.2746,0.0544),(n,0.1923,0.0526)] * tt.ref[45] + b91[n,(n,-0.1228,0.0379),(n,0.1843,0.0449)] * tts.ref[11] + b92[n,(n,-0.1382,0.0654),(n,0.2310,0.0770)] * sn.ref[20] + b93[(n,-1.5784,0.3706)] * vr.ref[5.3] + s1[ec,0.2]/
U(alt2) = b90[n,(n,-0.2746,0.0544),(n,0.1923,0.0526)] * tt.piv[-20%, -10%, 0%, 10%, 20%] + b91[n,(n,-0.1228,0.0379),(n,0.1843,0.0449)] * tts.piv[-50%, -25%, 0%, 25%, 50%] + b92[n,(n,-0.1382,0.0654),(n,0.2310,0.0770)] * sn.piv[-50%, -25%, 0%, 25%, 50%] + b93[(n,-1.5784,0.3706)] * vr.piv[-25%, -12.5%, 0%, 12.5%, 25%] + s1 + s2[ec,0.5]/
U(alt3) = b90[n,(n,-0.2746,0.0544),(n,0.1923,0.0526)] * tt.piv[-20%, -10%, 0%, 10%, 20%] + b91[n,(n,-0.1228,0.0379),(n,0.1843,0.0449)] * tts.piv[-50%, -25%, 0%, 25%, 50%] + b92[n,(n,-0.1382,0.0654),(n,0.2310,0.0770)] * sn.piv[-50%, -25%, 0%, 25%, 50%] + b93[(n,-1.5784,0.3706)] * vr.piv[-25%, -12.5%, 0%, 12.5%, 25%] + s2

;model(Cat10):
U(alt1) = b90[n,(n,-0.2746,0.0544),(n,0.1923,0.0526)] * tt.ref[75] + b91[n,(n,-0.1228,0.0379),(n,0.1843,0.0449)] * tts.ref[19] + b92[n,(n,-0.1382,0.0654),(n,0.2310,0.0770)] * sn.ref[30] + b93[(n,-1.5784,0.3706)] * vr.ref[12.0] + s1[ec,0.2]/
U(alt2) = b90[n,(n,-0.2746,0.0544),(n,0.1923,0.0526)] * tt.piv[-20%, -10%, 0%, 10%, 20%] + b91[n,(n,-0.1228,0.0379),(n,0.1843,0.0449)] * tts.piv[-50%, -25%, 0%, 25%, 50%] + b92[n,(n,-0.1382,0.0654),(n,0.2310,0.0770)] * sn.piv[-50%, -25%, 0%, 25%, 50%] + b93[(n,-1.5784,0.3706)] * vr.piv[-25%, -12.5%, 0%, 12.5%, 25%] + s1 + s2[ec,0.5]/
U(alt3) = b90[n,(n,-0.2746,0.0544),(n,0.1923,0.0526)] * tt.piv[-20%, -10%, 0%, 10%, 20%] + b91[n,(n,-0.1228,0.0379),(n,0.1843,0.0449)] * tts.piv[-50%, -25%, 0%, 25%, 50%] + b92[n,(n,-0.1382,0.0654),(n,0.2310,0.0770)] * sn.piv[-50%, -25%, 0%, 25%, 50%] + b93[(n,-1.5784,0.3706)] * vr.piv[-25%, -12.5%, 0%, 12.5%, 25%] + s2

;model(Cat11):
U(alt1) = b90[n,(n,-0.2746,0.0544),(n,0.1923,0.0526)] * tt.ref[105] + b91[n,(n,-0.1228,0.0379),(n,0.1843,0.0449)] * tts.ref[26] + b92[n,(n,-0.1382,0.0654),(n,0.2310,0.0770)] * sn.ref[42] + b93[(n,-1.5784,0.3706)] * vr.ref[19.3] + s1[ec,0.2]/
U(alt2) = b90[n,(n,-0.2746,0.0544),(n,0.1923,0.0526)] * tt.piv[-20%, -10%, 0%, 10%, 20%] + b91[n,(n,-0.1228,0.0379),(n,0.1843,0.0449)] * tts.piv[-50%, -25%, 0%, 25%, 50%] + b92[n,(n,-0.1382,0.0654),(n,0.2310,0.0770)] * sn.piv[-50%, -25%, 0%, 25%, 50%] + b93[(n,-1.5784,0.3706)] * vr.piv[-25%, -12.5%, 0%, 12.5%, 25%] + s1 + s2[ec,0.5]/
U(alt3) = b90[n,(n,-0.2746,0.0544),(n,0.1923,0.0526)] * tt.piv[-20%, -10%, 0%, 10%, 20%] + b91[n,(n,-0.1228,0.0379),(n,0.1843,0.0449)] * tts.piv[-50%, -25%, 0%, 25%, 50%] + b92[n,(n,-0.1382,0.0654),(n,0.2310,0.0770)] * sn.piv[-50%, -25%, 0%, 25%, 50%] + b93[(n,-1.5784,0.3706)] * vr.piv[-25%, -12.5%, 0%, 12.5%, 25%] + s2

;model(Cat12):
U(alt1) = b90[n,(n,-0.2746,0.0544),(n,0.1923,0.0526)] * tt.ref[135] + b91[n,(n,-0.1228,0.0379),(n,0.1843,0.0449)] * tts.ref[34] + b92[n,(n,-0.1382,0.0654),(n,0.2310,0.0770)] * sn.ref[50] + b93[(n,-1.5784,0.3706)] * vr.ref[21.0] + s1[ec,0.2]/
U(alt2) = b90[n,(n,-0.2746,0.0544),(n,0.1923,0.0526)] * tt.piv[-20%, -10%, 0%, 10%, 20%] + b91[n,(n,-0.1228,0.0379),(n,0.1843,0.0449)] * tts.piv[-50%, -25%, 0%, 25%, 50%] + b92[n,(n,-0.1382,0.0654),(n,0.2310,0.0770)] * sn.piv[-50%, -25%, 0%, 25%, 50%] + b93[(n,-1.5784,0.3706)] * vr.piv[-25%, -12.5%, 0%, 12.5%, 25%] + s1 + s2[ec,0.5]/
U(alt3) = b90[n,(n,-0.2746,0.0544),(n,0.1923,0.0526)] * tt.piv[-20%, -10%, 0%, 10%, 20%] + b91[n,(n,-0.1228,0.0379),(n,0.1843,0.0449)] * tts.piv[-50%, -25%, 0%, 25%, 50%] + b92[n,(n,-0.1382,0.0654),(n,0.2310,0.0770)] * sn.piv[-50%, -25%, 0%, 25%, 50%] + b93[(n,-1.5784,0.3706)] * vr.piv[-25%, -12.5%, 0%, 12.5%, 25%] + s2 $


Is it because I am having 3 parameters as random? I am even running the same script but with 2 random parameters. However, its still running and hasn't terminated yet.

Thanks a lot in advance

Neeraj
neeraj85
 
Posts: 31
Joined: Wed Jan 28, 2015 4:58 pm

Re: Optimising panel mixed logit design_Syntax errors

Postby Michiel Bliemer » Mon Jun 15, 2015 11:01 pm

If my quick calculation is correct, you are asking Ngene to evaluate the design using more than 531,000,000 draws. Clearly, it is not possible to keep so many numbers in memory on a normal conputer. Carefully consider reducing the total number of draws by reducing the number of Bayesian priors and random parameters, error components, and Gaussian abscissas.
Michiel Bliemer
 
Posts: 1733
Joined: Tue Mar 31, 2009 4:13 pm

Re: Optimising panel mixed logit design_Syntax errors

Postby neeraj85 » Tue Jun 16, 2015 8:05 pm

Thanks a lot sir.

Can you please let me know how you calculated the number of draws from the given information.
This will give me further insights on carefully adjusting the script.
neeraj85
 
Posts: 31
Joined: Wed Jan 28, 2015 4:58 pm

Re: Optimising panel mixed logit design_Syntax errors

Postby Michiel Bliemer » Tue Jun 16, 2015 9:58 pm

You have 5 random coefficients and 7 Bayesian priors, each with 3 Gaussian abscissas using a panel size of 1000 yields 3^7 * 3^5 * 1000 draws for each of the models.
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 55 guests