Dear Michel,
I am running a mixed logit model for my panel data with five alternatives.
I used random parameters on my ASC to capture serial correlation caused by the panel nature of my data.
Apart from that, I also included four error components to account for the 'cross nested' nature of the alternatives (my model isn't a nested logit).
I used this code for the error components:
SIGMA_SR = Beta('SIGMA_SR',0.1,-10,10,0)
SIGMA_SC = Beta('SIGMA_SC',0.1,-10,10,0)
SIGMA_LATE = Beta('SIGMA_LATE',0.1,-10,10,0)
SIGMA_EARLY = Beta('SIGMA_EARLY',0.1,-10,10,0)
EC_SC = SIGMA_SC * bioDraws('EC_SC','NORMAL')
EC_SR = SIGMA_SR * bioDraws('EC_SR','NORMAL')
EC_LATE = SIGMA_LATE * bioDraws('EC_LATE','NORMAL')
EC_EARLY = SIGMA_EARLY * bioDraws('EC_EARLY','NORMAL')
and this for the random parameters:
ASC_1SC = Beta('1SC',0,None,None,0)
ASC_2SC = Beta('2SC',0,None,None,0)
ASC_1SR = Beta('1SR',0,None,None,0)
ASC_2SR = Beta('2SR',0,None,None,0)
ASC_PT = Beta('PT',0,None,None,1)
ASC_1SC_S = Beta('ASC_1SC_S',1,None, None, 0)
ASC_2SC_S = Beta('ASC_2SC_S',1,None, None, 0)
ASC_1SR_S = Beta('ASC_1SR_S',1,None, None, 0)
ASC_2SR_S = Beta('ASC_2SR_S',1,None, None, 0)
ASC_PT_S = Beta('ASC_PT_S', 1, None, None, 0)
ASC_1SC_RND = ASC_1SC + ASC_1SC_S * bioDraws('ASC_1SC_RND', 'NORMAL_ANTI')
ASC_2SC_RND = ASC_2SC + ASC_2SC_S * bioDraws('ASC_2SC_RND', 'NORMAL_ANTI')
ASC_1SR_RND = ASC_1SR + ASC_1SR_S * bioDraws('ASC_1SR_RND', 'NORMAL_ANTI')
ASC_2SR_RND = ASC_2SR + ASC_2SR_S * bioDraws('ASC_2SR_RND', 'NORMAL_ANTI')
ASC_PT_RND = ASC_PT + ASC_PT_S * bioDraws('ASC_PT_RND', 'NORMAL_ANTI')
an example utility function to illustrate how I used the error components:
V1 = ASC_1SC_RND + \
B_payoffSC * payoff_lag_SCALED + \
B_expSC * experience + \
B_lateSC * late_SCALED+ \
B_avgcartimeSC * avgcartime_SCALED+ \
B_avgsharedSC * avgshared_SCALED2+ \
B_stickySC * stickySC+ \
EC_SC + EC_EARLY
My questions are:
1. Does it make sense to use both error components and random parameters this way?
2. Considering the number of alternatives, is there a limit to the number of random parameters/error components I can use ?
Thank you in advance,
Shelly