Priors

This forum is for posts that specifically focus on Ngene.

Moderators: Andrew Collins, Michiel Bliemer, johnr

Priors

Postby tibor » Thu Sep 30, 2010 10:33 pm

Hi again,

another question about the best choice regarding the priors. In our case the only priors we can make use of are estimates from other studies on the same topic (demand for alternative-fueled vehicles), there will be no pilot study. The problem with this is that the designs of earlier studies vary a great deal, for instance with regard to the use of a reference vehicle, customization or scaling of attribute levels. The estimated parameter, for instance, for purchase price (measuring the effect on the probability to buy a certain type of car) varies between -0.000062 and -10,69 across studies. So I wonder what would be the best strategy for the choice of priors?
(a) All priors equal to zero: Clearly an inferior option since we know at least the expected signs of the parameters (and even something about the magnitudes).
(b) Priors equal to a small number (e.g. 0.001) with the correct sign: OK, but unable to make use of the information on magnitudes.
(c) Priors equal to the parameters in the most comparable study: OK, but maybe risky because none the earlier designs is completely the same as ours.
(d) Bayesian priors: Use priors uniformly distributed over a plausible range taken from the most comparable studies.

For the moment I have a preference for the use of Bayesian priors since this seems to be the least risky approach. However, maybe you can give me advice on how to proceed!

Thanks!
tibor

PS. Here is the relevant section from the syntax file.

Design
;alts = EV, PHEV, HEV, CNG, E85, CV
;rows = 108
;block = 12, minmax
;eff = (mnl,d,mean)
;bdraws = halton(400)
;alg = mfederov
;require:
CV.PP<1.4,
EV.PS<1.2,
EV.FC<0.12
;model:

U(EV) = B_PP[(u,-10,-0.01)] * PP[0.8,1,1.2,1.4] + B_MC[(u,-2,-0.001)] * MC[0.04,0.05,0.06] + B_PS[(u,0.001,4)] * PS[0.8,1,1.2] + B_FC[(u,-4,0.01)] * FC[0.04,0.08,0.12] + B_RA[(u,0.001,2)] * RA[1.4,2.8,4.2]
+ B_LEV[(u,0.001,2)] * LEV[0,1,2] + B_IM * IM[0,1] + B_RA_LEV * RA * LEV + B_PP_RA * PP * RA + B_PP_LEV * PP * LEV /

U(PHEV) = B_PP * PP + B_MC * MC + B_PS * PS + B_FC * FC /

U(HEV) = B_PP * PP + B_MC * MC + B_PS * PS + B_FC * FC /

U(CNG) = B_PP * PP + B_MC * MC + B_PS * PS + B_FC * FC + B_RA * RA + B_SSA * SSA[80,100] + B_RA_SSA * RA * SSA /

U(E85) = B_PP * PP + B_MC * MC + B_PS * PS + B_FC * FC + B_SSA * SSA /

U(CV) = B_PP * PP + B_MC * MC + B_PS * PS + B_FC * FC $
tibor
 
Posts: 7
Joined: Thu Jun 17, 2010 10:50 pm

Re: Priors

Postby Michiel Bliemer » Fri Oct 01, 2010 8:28 pm

I would opt for Bayesian priors as you have done, although at the moment your prior uncertainty is extremely large. Looking at the PP attribute that ranges from 0.8 to 1.4 with a prior between 0 and -10, this will have a too large impact on the utility and therefore the designs will not be that stable I would think. Perhaps it is best to take the most reliable study that you talk about, and use the estimated parameters in that paper as the means of normally distributed Bayesian priors, and the standard error as the standard deviation of your Bayesian prior.
Another observation, I am not quite sure why you use 108 choice tasks, while less (such as 24) would also be sufficient.
Michiel Bliemer
 
Posts: 1885
Joined: Tue Mar 31, 2009 4:13 pm

Re: Priors

Postby tibor » Fri Oct 01, 2010 9:10 pm

Thank you very much! I understand your point about the priors and the choice tasks.
The remaining problem, I think, is that the values for the PP attribute (as those for PS/Horsepower) are just percentages, i.e. if PP is equal to 0.8 this means that the purchase price of the car will be 0.8 times the price of the reference car in that segment. The respondents will be able to chose their segment of interest (e.g. small, compact, medium, large etc.) before beginning with the DCE. Each segment has a 'reference' car, which is, however, not part of the choice sets (that's also why I'm not using the pivot-design structure from the manual), it's just used to customize two attributes (PP and PS/HP) for all available alternatives according to the preferences of each individual respondent. The idea is that all alternatives should have some variation (instead of having a fixed reference alternative).
So... I'm still not quite sure whether it would be ok to use such a framework?
tibor
 
Posts: 7
Joined: Thu Jun 17, 2010 10:50 pm

Re: Priors

Postby Michiel Bliemer » Sat Oct 02, 2010 12:01 am

Why not using a pivot design with designs?

I do not understand why you are using attribute levels with scaling factors, what do the priors mean in this case? You should always use the actual values in your efficient design (which pivot designs with percentages automatically do).
Michiel Bliemer
 
Posts: 1885
Joined: Tue Mar 31, 2009 4:13 pm

Re: Priors

Postby tibor » Sat Oct 02, 2010 12:36 am

Michiel Bliemer wrote:Why not using a pivot design with designs?


Because in a pivot design the attributes(e.g. Attr1.ref) of the reference alternative have to stay fixed, we thought that would be a disadvantage (the same question as in an earlier post by 'Kloddz' in march 2010). Also, I'm not sure how many different segments Ngene can handle (we wanted 7)?!

Michiel Bliemer wrote:I do not understand why you are using attribute levels with scaling factors, what do the priors mean in this case? You should always use the actual values in your efficient design (which pivot designs with percentages automatically do).


OK :-) now I got that too!

Just two last questions: (I) Would it be possible to keep the framework with the scaling factors in case I use zero-priors or even an orthogonal design?
(II) Using e.g. per kilometer values in the design and multiplying them with individual kilometer values before showing them to the respondents should be fine as long as the priors have the same scaling as the attribute levels in the design!?

Thank you so much - your advice is much appreciated!
tibor
tibor
 
Posts: 7
Joined: Thu Jun 17, 2010 10:50 pm

Re: Priors

Postby Michiel Bliemer » Sat Oct 02, 2010 1:33 am

(i) Yes, with zero priors and using an orthogonal design ignores the attribute levels. So you will loose efficiency.
(ii) Scaling attribute levels with, say, 10, and scaling the priors with 1/10 yields the same result, if that is what you are asking.
Michiel Bliemer
 
Posts: 1885
Joined: Tue Mar 31, 2009 4:13 pm

Re: Priors

Postby tibor » Sat Oct 02, 2010 1:57 am

Michiel Bliemer wrote:(i) Yes, with zero priors and using an orthogonal design ignores the attribute levels. So you will loose efficiency.

I've just tried to use a pivot design instead- in case I use all 7 segments and including fixed (or Bayesian) priors Ngene seems to be unable to find a design. Only in case I use zero priors I get some results. What do you recommend, should I try to decrease the number of segments or do it without priors?

Design
;alts(A) = EV, PHEV, HEV, CNG, E85, CV
;alts(B) = EV, PHEV, HEV, CNG, E85, CV
;alts(C) = EV, PHEV, HEV, CNG, E85, CV
;alts(D) = EV, PHEV, HEV, CNG, E85, CV
;alts(E) = EV, PHEV, HEV, CNG, E85, CV
;alts(M) = EV, PHEV, HEV, CNG, E85, CV
;alts(J) = EV, PHEV, HEV, CNG, E85, CV
;rows = 24
;eff = fish(mnl,d,mean)
;bdraws = halton(200)
;fisher(fish) = design1(A[0.14], B[0.15], C[0.15], D[0.14], E[0.14], M[0.14], J[0.14])
;model(A):
U(CV) = B_PP[(n,-6.5,(u,0.01,4))] * PP.ref[10000] + B_MC * MC[0.04,0.05,0.06] + B_PS * PS.ref[67] + B_FC[(n,-5,(u,-2,0.01))] * FC[0.04,0.06,0.08,0.10] /
U(EV) = B_PP * PP.piv[80%,100%,120%] + B_MC * MC + B_PS * PS.piv[80%,100%] + B_FC * FC + B_RA * RA[140,280,420]
+ B_LEV * LEV[0,1,2] + B_IM * IM[0,1] + B_RA_LEV * RA * LEV /
U(PHEV) = B_PP * PP.piv[80%,100%,120%,140%] + B_MC * MC + B_PS * PS.piv[80%,100%,120%] + B_FC * FC /
U(HEV) = B_PP * PP.piv[80%,100%,120%,140%] + B_MC * MC + B_PS * PS.piv[80%,100%,120%] + B_FC * FC /
U(CNG) = B_PP * PP.piv[80%,100%,120%,140%] + B_MC * MC + B_PS * PS.piv[80%,100%,120%] + B_FC * FC + B_RA * RA + B_SSA * SSA[80,100] /
U(E85) = B_PP * PP.piv[80%,100%,120%,140%] + B_MC * MC + B_PS * PS.piv[80%,100%,120%] + B_FC * FC + B_SSA * SSA

;model(B):
U(CV) = B_PP[(n,-6.5,(u,0.01,4))] * PP.ref[15000] + B_MC * MC[0.04,0.05,0.06] + B_PS * PS.ref[70] + B_FC[(n,-5,(u,-2,0.01))] * FC[0.04,0.06,0.08,0.10] /
U(EV) = B_PP * PP.piv[80%,100%,120%] + B_MC * MC + B_PS * PS.piv[80%,100%] + B_FC * FC + B_RA * RA[140,280,420]
+ B_LEV * LEV[0,1,2] + B_IM * IM[0,1] + B_RA_LEV * RA * LEV /
U(PHEV) = B_PP * PP.piv[80%,100%,120%,140%] + B_MC * MC + B_PS * PS.piv[80%,100%,120%] + B_FC * FC /
U(HEV) = B_PP * PP.piv[80%,100%,120%,140%] + B_MC * MC + B_PS * PS.piv[80%,100%,120%] + B_FC * FC /
U(CNG) = B_PP * PP.piv[80%,100%,120%,140%] + B_MC * MC + B_PS * PS.piv[80%,100%,120%] + B_FC * FC + B_RA * RA + B_SSA * SSA[80,100] /
U(E85) = B_PP * PP.piv[80%,100%,120%,140%] + B_MC * MC + B_PS * PS.piv[80%,100%,120%] + B_FC * FC + B_SSA * SSA

;model(C):
U(CV) = B_PP[(n,-6.5,(u,0.01,4))] * PP.ref[23000] + B_MC * MC[0.04,0.05,0.06] + B_PS * PS.ref[105] + B_FC[(n,-5,(u,-2,0.01))] * FC[0.04,0.06,0.08,0.10] /
U(EV) = B_PP * PP.piv[80%,100%,120%] + B_MC * MC + B_PS * PS.piv[80%,100%] + B_FC * FC + B_RA * RA[140,280,420]
+ B_LEV * LEV[0,1,2] + B_IM * IM[0,1] + B_RA_LEV * RA * LEV /
U(PHEV) = B_PP * PP.piv[80%,100%,120%,140%] + B_MC * MC + B_PS * PS.piv[80%,100%,120%] + B_FC * FC /
U(HEV) = B_PP * PP.piv[80%,100%,120%,140%] + B_MC * MC + B_PS * PS.piv[80%,100%,120%] + B_FC * FC /
U(CNG) = B_PP * PP.piv[80%,100%,120%,140%] + B_MC * MC + B_PS * PS.piv[80%,100%,120%] + B_FC * FC + B_RA * RA + B_SSA * SSA[80,100] /
U(E85) = B_PP * PP.piv[80%,100%,120%,140%] + B_MC * MC + B_PS * PS.piv[80%,100%,120%] + B_FC * FC + B_SSA * SSA

;model(D):
U(CV) = B_PP[(n,-6.5,(u,0.01,4))] * PP.ref[25000] + B_MC * MC[0.04,0.05,0.06] + B_PS * PS.ref[105] + B_FC[(n,-5,(u,-2,0.01))] * FC[0.04,0.06,0.08,0.10] /
U(EV) = B_PP * PP.piv[80%,100%,120%] + B_MC * MC + B_PS * PS.piv[80%,100%] + B_FC * FC + B_RA * RA[140,280,420]
+ B_LEV * LEV[0,1,2] + B_IM * IM[0,1] + B_RA_LEV * RA * LEV /
U(PHEV) = B_PP * PP.piv[80%,100%,120%,140%] + B_MC * MC + B_PS * PS.piv[80%,100%,120%] + B_FC * FC /
U(HEV) = B_PP * PP.piv[80%,100%,120%,140%] + B_MC * MC + B_PS * PS.piv[80%,100%,120%] + B_FC * FC /
U(CNG) = B_PP * PP.piv[80%,100%,120%,140%] + B_MC * MC + B_PS * PS.piv[80%,100%,120%] + B_FC * FC + B_RA * RA + B_SSA * SSA[80,100] /
U(E85) = B_PP * PP.piv[80%,100%,120%,140%] + B_MC * MC + B_PS * PS.piv[80%,100%,120%] + B_FC * FC + B_SSA * SSA

;model(E):
U(CV) = B_PP[(n,-6.5,(u,0.01,4))] * PP.ref[56000] + B_MC * MC[0.04,0.05,0.06] + B_PS * PS.ref[170] + B_FC[(n,-5,(u,-2,0.01))] * FC[0.04,0.06,0.08,0.10] /
U(EV) = B_PP * PP.piv[80%,100%,120%] + B_MC * MC + B_PS * PS.piv[80%,100%] + B_FC * FC + B_RA * RA[140,280,420]
+ B_LEV * LEV[0,1,2] + B_IM * IM[0,1] + B_RA_LEV * RA * LEV /
U(PHEV) = B_PP * PP.piv[80%,100%,120%,140%] + B_MC * MC + B_PS * PS.piv[80%,100%,120%] + B_FC * FC /
U(HEV) = B_PP * PP.piv[80%,100%,120%,140%] + B_MC * MC + B_PS * PS.piv[80%,100%,120%] + B_FC * FC /
U(CNG) = B_PP * PP.piv[80%,100%,120%,140%] + B_MC * MC + B_PS * PS.piv[80%,100%,120%] + B_FC * FC + B_RA * RA + B_SSA * SSA[80,100] /
U(E85) = B_PP * PP.piv[80%,100%,120%,140%] + B_MC * MC + B_PS * PS.piv[80%,100%,120%] + B_FC * FC + B_SSA * SSA

;model(M):
U(CV) = B_PP[(n,-6.5,(u,0.01,4))] * PP.ref[28400] + B_MC * MC[0.04,0.05,0.06] + B_PS * PS.ref[105] + B_FC[(n,-5,(u,-2,0.01))] * FC[0.04,0.06,0.08,0.10] /
U(EV) = B_PP * PP.piv[80%,100%,120%] + B_MC * MC + B_PS * PS.piv[80%,100%] + B_FC * FC + B_RA * RA[140,280,420]
+ B_LEV * LEV[0,1,2] + B_IM * IM[0,1] + B_RA_LEV * RA * LEV /
U(PHEV) = B_PP * PP.piv[80%,100%,120%,140%] + B_MC * MC + B_PS * PS.piv[80%,100%,120%] + B_FC * FC /
U(HEV) = B_PP * PP.piv[80%,100%,120%,140%] + B_MC * MC + B_PS * PS.piv[80%,100%,120%] + B_FC * FC /
U(CNG) = B_PP * PP.piv[80%,100%,120%,140%] + B_MC * MC + B_PS * PS.piv[80%,100%,120%] + B_FC * FC + B_RA * RA + B_SSA * SSA[80,100] /
U(E85) = B_PP * PP.piv[80%,100%,120%,140%] + B_MC * MC + B_PS * PS.piv[80%,100%,120%] + B_FC * FC + B_SSA * SSA

;model(J):
U(CV) = B_PP[(n,-6.5,(u,0.01,4))] * PP.ref[32500] + B_MC * MC[0.04,0.05,0.06] + B_PS * PS.ref[140] + B_FC[(n,-5,(u,-2,0.01))] * FC[0.04,0.06,0.08,0.10] /
U(EV) = B_PP * PP.piv[80%,100%,120%] + B_MC * MC + B_PS * PS.piv[80%,100%] + B_FC * FC + B_RA * RA[140,280,420]
+ B_LEV * LEV[0,1,2] + B_IM * IM[0,1] + B_RA_LEV * RA * LEV /
U(PHEV) = B_PP * PP.piv[80%,100%,120%,140%] + B_MC * MC + B_PS * PS.piv[80%,100%,120%] + B_FC * FC /
U(HEV) = B_PP * PP.piv[80%,100%,120%,140%] + B_MC * MC + B_PS * PS.piv[80%,100%,120%] + B_FC * FC /
U(CNG) = B_PP * PP.piv[80%,100%,120%,140%] + B_MC * MC + B_PS * PS.piv[80%,100%,120%] + B_FC * FC + B_RA * RA + B_SSA * SSA[80,100] /
U(E85) = B_PP * PP.piv[80%,100%,120%,140%] + B_MC * MC + B_PS * PS.piv[80%,100%,120%] + B_FC * FC + B_SSA * SSA
$
tibor
 
Posts: 7
Joined: Thu Jun 17, 2010 10:50 pm

Re: Priors

Postby Michiel Bliemer » Sat Oct 02, 2010 3:30 am

Ngene does not find any designs because your priors ald levels combinations are too large. With a beta of 4 and a reference level of 10000, this yields a utility of 40000. In other words, all your choice tasks will have dominant alternatives. Yours priors do not match your levels, they are not consistent.
Michiel Bliemer
 
Posts: 1885
Joined: Tue Mar 31, 2009 4:13 pm


Return to Choice experiments - Ngene

Who is online

Users browsing this forum: No registered users and 48 guests

cron