We have a set of agents that must choose one and only one alternative out of a large number of them (max # of alternatives = 120). Agents take the decision several times, without replacement of the alternatives chosen in the earlier iterations (So the number of alternatives is at first 120, then 119, then 118, etc.). Each time an agent makes a decision is a group of alternatives (i.e. one agent making one decision = one group of alternatives to choose between). For each alternative group, we want to estimate the probability of the agent choosing any of the alternatives. Since we know that one of the alternatives in the group will be chosen, the sum of these probabilities must be 1. We are modeling the decision choice as a function of:
- the characteristics of the alternatives and
- some characteristics of the agent that interact with the the alternatives' characteristics.
Note that the characteristics of both the alternatives and the agents vary from group to group; both the alternatives and the agents are changing over time (e.g. If one of the alternatives is "bus" and it has the property price, the price is varying every grouping. Similarly, if the agents have the property "income", the income is varying across every group.) Also note that we do not have any reason to believe that we have unobserved agent-specific effects in our scenario. In fact, we have reasons to believe that the interaction of our agent-specific variables with those describing the alternatives are able to capture any possible agent-specific effect.
How do we model this?
The McFadden's choice model (asclogit
in Stata) is one option, but:
- It is too slow for our purposes
- It actually even fails to converge
- It includes more analysis than what we're interested in right now; it has a dummy variable for each alternative (e.g. "bus" vs. "taxi") when all we're presently interested in is the alternative's measured properties (e.g. "price").
- We don't know how to implement it in R, which will eventually need to do
We therefore run a conditional logit model (clogit
in Stata, or clogit
in survival
in R). From here we would like to obtain the adjusted probabilities for several variables of interest. However, interpreting the output has proven to be tricky because in a conditional logit it is not possible to obtain the marginal effects or adjusted probabilities of particular variables. Normally people would suggest looking at odds ratios. In our case this is greatly complicated by the fact that many of the variables of interested are implemented using a restricted cubic spline. The entire issue of not being able to obtain marginal effects or adjusted probabilities seems to be due to conditional logit implementing fixed effects, which we do not really need and only complicate post-estimation analysis in our case.
A regular logit model, without conditioning, would allow to estimate marginal effects (even with restricted cubic splines). Unfortunately, the sum of the predicted probabilities for each group is not equal to 1. So, here comes the question: Is there a way to condition the probability of observing a positive outcome for alternative j and agent i in a way that the sum of the probabilities for each group equals 1, without having to assume that there are some agent-specific fixed effects?