Prior values (mode choice)

This forum is for posts that specifically focus on Ngene.

Moderators: Andrew Collins, Michiel Bliemer, johnr

Prior values (mode choice)

Postby felipelobo » Tue Sep 08, 2020 5:42 am

Dear ChoiceMetrics Team,

I started using Ngene last week. I would like to clarify certain doubts, and I apologize if the questions are simple.

I am developing a model for mode choice (2 labeled alternatives), with 3 attributes. As I have no previous studies in my country, I will carry out a pilot study. Can I include low values (-0.001 and +0.001) for all prior values?

In the case of the constant (bo), what procedure can I adopt about prior values and the sign if I have no information for the pilot study?

Code: Select all
design
;alts = 1,2
;rows =8
;eff = (mnl,d)
;cond:
if (2.B2 = 6, 2.C2 <> 25)
;model:
U(1) = b0[0.001] + b1[0.001] * A1[0,1]+ b2[-0.001]* B1[5] + b3[-0.001] * C1[25,35] /
U(2) =                                    b2 * B2[6,10]   + b3         * C2[15,25]
$


Thank you for the attention.
Regards,
Felipe Souza
felipelobo
 
Posts: 11
Joined: Sat Sep 05, 2020 1:17 am

Re: Prior values (mode choice)

Postby Michiel Bliemer » Tue Sep 08, 2020 9:51 am

Hi Felipe,

Priors in general should only be set if you are sufficiently confident of their values, e.g. through a pilot study, and should be set to zero otherwise. In experiments with unlabelled alternatives, Ngene needs to know the sign of the priors and instead of zeros one can use very small positive or negative priors. In a labelled experiment, like yours, dominance checks do not make sense so you can just use zero priors for all of them. Ngene by default sets priors to zero if you do not specify them.

A few comments on your syntax:

1. It is best to use meaningful variable names, e.g. ;alts = car, bike, and in utility functions use something like U(car) = ... tt * TRAVELTIME[5,10,15] ...

2. In case of labelled alternatives, you can use alternative-specific coefficients for all attributes, i.e. instead of using b2 and b3 across both alternatives, you could use different coefficients. But if you believe they are generic, of course you can specify them as you have done.

3. In total only 12 feasible choice tasks exist due to the small dimensions of your experiment, i.e. only 1 or 2 levels for each attribute and also having a constraint. This is not much, you are asking Ngene to select 8 out of 12 choice tasks. In this case, I would include all 12 choice tasks in your design (you can still use ;block = 2 if you like), or I would increase the number of attribute levels, e.g. C2[15,20,25] etc.

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

Re: Prior values (mode choice)

Postby felipelobo » Thu Sep 10, 2020 3:32 am

Dear Professor Bliemer,

Thank you for the answer and suggestions.
I would like to clarify some final doubts. Based on your answer, can I develop a design for a pilot study with this syntax?

Code: Select all
design
;alts = BUS,CAR
;rows =12
;block =2
;eff = (mnl,d)
;cond:
if (CAR.Cost_CAR = 6, CAR.Time_CAR <> 25)
;model:
U(BUS) = b0 + b1 * Service_BUS[0,1]+ b2* Cost_BUS[5] + b3* Time_BUS[25,35] /
U(CAR) =                           b2 * Cost_CAR[6,10] + b3* Time_CAR[15,25]
$


For the final design, using the prior values obtained in the pilot study, should the B-estimate have any minimum values? Does the S-estimate value indicate the sample size required for the study?

Thank you for your attention.
Best Regards,
Felipe Souza
felipelobo
 
Posts: 11
Joined: Sat Sep 05, 2020 1:17 am

Re: Prior values (mode choice)

Postby Michiel Bliemer » Thu Sep 10, 2020 4:39 pm

Note that your are not optimising your design, you are simply showing all feasible combinations, which is known as a full factorial design. The syntax below creates a full factorial design, taking the contraint into account, and produces the same design.

Code: Select all
design
;alts = BUS,CAR
;rows = all
;block =2
;fact
;reject:
CAR.Cost_CAR = 6 and CAR.Time_CAR = 25
;model:
U(BUS) = b0 + b1 * Service_BUS[0,1]+ b2* Cost_BUS[5] + b3* Time_BUS[25,35] /
U(CAR) =                           b2 * Cost_CAR[6,10] + b3* Time_CAR[15,25]
$


B-estimates and S-estimates need to be ignored with zero priors because they have no meaning, they are only meaningful with reliable priors from a pilot study. S-estimates will indicate the minimum sample size needed (you will need to multiply them by 2 because you have 2 blocks) for estimating significant parameter estimates at the 95% confidence level (t-ratio 1.96), but you should interpret these S-estimates as a rough guide only and you probably want much higher t-ratios than just 1.96.

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

Re: Prior values (mode choice)

Postby felipelobo » Tue Sep 15, 2020 2:45 pm

Dear Professor Bliemer,

Thanks for your response. However, I would like to clarify a doubt. In my last post, I asked if I could develop a pilot study with this syntax.

Code: Select all
design
;alts = BUS,CAR
;rows =12
;block =2
;eff = (mnl,d)
;cond:
if (CAR.Cost_CAR = 6, CAR.Time_CAR <> 25)
;model:
U(BUS) = b0 + b1 * Service_BUS[0,1]+ b2* Cost_BUS[5] + b3* Time_BUS[25,35] /
U(CAR) =                           b2 * Cost_CAR[6,10] + b3* Time_CAR[15,25]
$


However, you indicated that the syntax result would be equal to the full factorial. I would like to ask just to clarify. Could this syntax (zero priors) be used to develop a pilot study ( labelled experiment) in order to obtain prior values and develop an efficient design? If not, would it be possible to indicate?

Thank you for your attention. Congratulations on the work developed in the field of experimental design.

Best Regards,
Felipe
felipelobo
 
Posts: 11
Joined: Sat Sep 05, 2020 1:17 am

Re: Prior values (mode choice)

Postby Michiel Bliemer » Tue Sep 15, 2020 4:00 pm

Yes you can use this design for a pilot study. I was merely pointing out that you do not need software like Ngene to optimise the design because there only exists a single design in this case, namely a full factorial design with all possible combinations (you could easily construct the 12 choice tasks manually).

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

Re: Prior values (mode choice)

Postby peyman_07 » Sat Sep 19, 2020 6:25 am

Hi Michiel,

In my experiment, there are 2 alternatives and 8 contextual variables. I have conducted a pilot with 50 respondents (400 observations) to estimate the priors, but none of the parameters is significant and surprisingly some of them have unexpected (implausible) signs. I was wondering whether I should consider the insignificant parameters as the priors? If so, what shall I do with the parameters with unexpected (irrational) signs?

Looking forward to hearing from you.

Kind regards,
Peyman.
peyman_07
 
Posts: 32
Joined: Mon Nov 19, 2018 4:46 am

Re: Prior values (mode choice)

Postby Michiel Bliemer » Sun Sep 20, 2020 5:37 pm

If you use Bayesian priors than having insignificant priors is not a problem. Having the wrong sign should be avoided by perhaps setting the mean of the Bayesian distribution to zero or close to zero (e.g. 0.00001 or -0.00001) with the correct sign if you need the sign for dominance checks.

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

Re: Prior values (mode choice)

Postby peyman_07 » Fri Sep 25, 2020 1:21 am

Thanks Micheil for your help. As shown below, in some cases, the standard error is much larger than the estimated parameters:

Name Value Robust SE
B_time -0.0866 0.210
B_surge 0.0354. 0.215
B_wait 0.0379 0.0258

I was wondering if I can still use these priors for a Bayesian design?
If so, for the first item (B_time), the mean and the standard deviation of the Bayesian distribution is set to -0.0866 and 0.210, respectively. Is that right?

Thanks,
Best,
Peyman.
peyman_07
 
Posts: 32
Joined: Mon Nov 19, 2018 4:46 am

Re: Prior values (mode choice)

Postby Michiel Bliemer » Fri Sep 25, 2020 9:46 am

Yes you can still use them, which would mean that you are optimising your design over a large uncertain range of parameter values, but it would include positive time coefficients as well, which is perhaps not what you want.

Instead of using b_time[(n,-0.0866,0.210)] with a normally distributed prior you could also consider something like b_time[(u,-0.3,0)] with a uniformly distributed prior to indicate that there is a lot of uncertainty about the parameter value but also stating that the parameter will be negative. These are decisions that you need to make as an analyst.

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

Next

Return to Choice experiments - Ngene

Who is online

Users browsing this forum: Google [Bot] and 11 guests

cron