Page 1 of 1

What is the issue with our model /our priors?

PostPosted: Mon Oct 07, 2024 8:35 pm
by FredoW
Dear Ngene community,

a colleague and I are trying to generate an experimental design to analyse the acceptance of large solar projects. We have three categorial (G, M, Z), one ordinal (U) and two continuous (Entf., Zahl) attributes. We only make informed guesses for the signs with our priors.
This is our code currently:

design
;alts = alt1, alt2, alt3;
;rows = 18;
;block = 3;
;eff = (mnl,d);
;alg = swap(stop = total(10mins));
;cond:
if(alt1.Z=0, alt1.G=0),
;model:
U(alt1)= b1.dummy[0,0001|0,00001|0,00001]*G[1,2,3,0] + b2.dummy[0,00001|-0,0001|0,0001]*M[1,2,3,0]+b3.dummy[0,00001|0,00001]*U[1,2,0]+b4.dummy[0,00001|0,00001|0,00001]*Z[1,2,3,0]+ b5.[0,00001]*Entf[100,500,1000]+b15[0,01]*Zahl[300.000,600.000,1.200.000] /
U(alt2)= b1.dummy[0,0001|0,00001|0,00001]*G[1,2,3,0] + b2.dummy[0,00001|-0,0001|0,0001]*M[1,2,3,0]+b3.dummy[0,00001|0,00001]*U[1,2,0]+b4.dummy[0,00001|0,00001|0,00001]*Z[1,2,3,0]+ b5.[0,00001]*Entf[100,500,1000]+b15[0,01]*Zahl[300.000,600.000,1.200.000] /
U(alt3)= b0
$

At the moment we keep getting the error message: "Error: The 'model' property contains a prior that has an unknown random distribution type. '0,0001'".
We have so far been unable to spot our mistake, so any help in finding and correcting our mistake would be greatly appreciated.
Thank you very much in advance to anyone willing to help us!

Frederic

Re: What is the issue with our model /our priors?

PostPosted: Tue Oct 08, 2024 1:10 pm
by Michiel Bliemer
You are using periods and commas wrong. In English, you would write 0.001 instead of 0,001.
Also, instead of 300.000 (which is written 300,000 in English), you simply need to omit the period and write it as 300000. You can format in our survey later as 300.000, but for calculations in Ngene (and essentially any other computational tool) it needs be to 300000.

Further, note that some of your priors are problematic. For example:
b15[0.01]*Zahl[300000,600000,1200000]

You are multiplying 0.01 with a very large number, resulting in huge utilities and hence completely dominant attributes. If you are using very large attribute levels then the associated parameters will be very small. So you would need something like:
b15[0.00000001]*Zahl[300000,600000,1200000]

If you would like to avoid dominant alternatives, you will need to use:
;alts = alt1*, alt2*, alt3

Note that these priors indicate that levels 2 and 3 have equal preference (relative to base level 0), but level 2 is better than level 1:
b1.dummy[0.0001|0.00001|0.00001]*G[1,2,3,0]

if you want to indicate a preference order, you could use something like:
b1.dummy[0.01|0.02|0.03]*G[1,2,3,0]

This is only necessary if the attribute is ordinal and if there is a risk of dominant alternatives.

Michiel

Re: What is the issue with our model /our priors?

PostPosted: Wed Oct 09, 2024 10:47 pm
by FredoW
Dear Michiel,

thank you so much! We never thought about the commas. And thank you for the comment on our priors as well!

Frederic