Page 1 of 1

Questions about Priors and S-Estimate

PostPosted: Tue May 28, 2013 12:10 pm
by kvaiknor
Hello, I have a few questions.
1. If my input for the prior is NextSeasonYield[5.5]*Yield[2, 1, 0], is Ngene reading that as a Yield value of 2 gets 11 units of utility, while the value of 1 gets 5.5? But, it is not reading a Yield Value of 0 as 0 utility, correct? It understands this is just the base level of “no change” and does not give it a utility value? Or does it?

2. If, instead, I have a utility function like this NextSeasonYield.dummy[(u, 0, 5.508)|(u, 0, 2.754]*Yield[1.2, 1.1, 1], then does the 5.508 get multiplied by the 1.2, and the 2.754 get multiplied by the 1.1?

2. If I want to get a better idea of what my priors are and was able to run a pilot study, how do I go about doing this? My assumption is that I would first use a set of questions output by Ngene, based on my best estimates of priors, ask them to a small group of people, input the results into some statistical software, and then run a conditional or mn logit model to get the coefficients? And would the coefficients then become my priors? Is this an accurate way to do this?

3. Does the “S” estimate tell me how many questions need to be asked or, how many people I need to ask all of the questions to? If I use a block, does it take that into account?

Thanks so much!

Re: Questions about Priors and S-Estimate

PostPosted: Wed Jun 05, 2013 1:51 pm
by Michiel Bliemer
I think you are mixing up a few things in the way you are coding your data and specify your utility functions.

Since you are using Bayesian priors in your second example, it makes it harder to explain, so I will use the following examples to explain what happens in Ngene.

First, suppose that in the utility function you have NextSeasonYield[5.5] * Yield[2,1,0].
This means that the first level will contribute 5.5*2 to utility, the second level contributes 5.5*1 to utility, and the third level contributes 5.5*0 to utility.

Now, suppose that in the utility function you have NextSeasonYield.dummy[11|5.5] * Yield[2,1,0].
In dummy coding (where the levels are 0 or 1), the last level is set to the base level (in this case, 0), and if the first level holds (11), the prior will be 11, and if the second level holds (1), the prior will be 5.5.
This means that the first level will contribute 11*1 to utility, the second level will contribute 5.5*1 to utility, and the third level is the reference and will be 0 by default.

Note that both specifications above give the same result regarding utilities, but the number of parameters you estimate are different (the first assumes a linear relationship, the second could handle a nonlinear relationship).

In order to obtain those priors, you can indeed do this using a pilot. There have been several posts here on the forum that have discussed this issue. You can come up with any design, orthogonal or efficient using small priors with the correct sign (see previous forum posts). You then give these questions to a small number of people, collect the data, use estimation software to estimate the parameters, which will give you betas and standard errors (se). You can then use this information in your efficient design generation by using Bayesian priors with (n,beta,se), or you can just use the beta.

The S estimate will tell you how many respondents you need (where each respondent answers each choice task). If you block the design, you have to multiply the S-estimate with the number of blocks. Note that the S-estimate is correct under the assumption that your priors are correct. The further your priors are off, the more incorrect the S-estimate will be.

Michiel