latent class model on choice data with gmnl - choosing starting values I want to run a LCMNL (using the gmnl-package) on choice data. I read that starting values can influence class allocation since LCMNL can have several optima. I found the following example code that I would like to adapt to my data. How can I determine the starting values? To me they seem quiet abitrary in the example code, if I however change them slightly, it does influence the model parameters quiet a lot.
# Load packages
library(mlogit)
library(gmnl)

# Load data ====================
data(Cracker)  # Cracker data of Jain et al. (1994); included in the mlogit package

# Prepare Data for analysis
cracker <-as.data.table(Cracker)
cracker_long <-mlogit.data(cracker, id = "id", choice = "choice", varying = c(2:13),shape = "wide", sep = ".")


lc5 <-gmnl(choice ~ price + feat + disp + lastchoice | 1 | 0 | 0 | 1,
           start = c(-3.3, -2, -3, 1.3, 0.1, 0.5, 1, 1, 4, 0.3, -2, 1, 0.2, 1, -0.5, 2, -0.3, -11, -0.4, 0.5, 0.4, 1.5, 
                     2, 1, -5, 1, 0.5, 0.7, 7, 6.5, 5.5, -8, 0, 0, 1, 1, 0.4, 0.4, -0.3),
           data = cracker_long, print.level = 1, model = "lc", Q = 5, panel = TRUE)

# estimates
round(summary(lc5)$CoefTable, 3)

 A: Latent class models have likelihoods that are multi-modal. Best practice appears to be to repeatedly fit models with randomly selected start values, and choose the solution with the highest consistently-converged log likelihood value. Kathryn Masyn has a general and very accessible chapter on latent class analysis that is publicly available here. If you only use one set of starting parameters, you may find a local but not a global maxima, i.e. when the model converges, it won't be the maximum likelihood estimate of the parameters. Your results will then be invalid.
I don't know what algorithms are used to select start values for each parameter. I've tried to figure this out from MPlus's documentation, but it was too long and I couldn't determine what algorithm they used. Stata provides options that randomly assign each observation to a particular latent class, or to assign each observation a vector of probabilities of being in each class. I believe that the start values are computed from the average means of the $Y_i$s in each class (e.g. the average mean of price, feat, disp, and lastchoice, whatever those are, in each class). I think the model then iterates from each set of start values. Stata's documentation wasn't explicit about this, so I could be wrong. (Note: I'm an applied statistician, not a 'real' one.)
I skimmed the documentation for the package gmnl. I can't see any option to randomly vary starting parameters. I can't find a corresponding example in the package documentation with that command that justifies the start values either. You will need to investigate this further before proceeding. Latent class models are very tricky to maximize. If you don't understand this post, please give Masyn a read and see if you can follow her writing.
I can recommend the R package poLCA as a starter package for categorical indicators that has an automatic parameter search option. It seems pretty easy to operate, and it may be a better option to learn about LCA than your package. Your data appear to be from a choice experiment of a type that I think is popular in economics. For other readers, I believe the setup is that each person is offered a number of choices of some good or service (e.g. health insurance or cellphone plans). The data record the choice set for each person, plus the characteristics of each choice. For example, maybe I have a choice between Blue Cross/Blue Shield's HMO plan for a premium of 100 dollars, United Health's HMO plan for a premium of 105 dollars, and United Health's PPO plan for a premium of 120 dollars. Insurance carrier (i.e. BCBS and United), premium, and plan type (i.e. HMO or PPO) are all characteristics that could go into the latent class model.
I don't believe poLCA will fit this sort of model. I suggested it for learning purposes, and it has some sample datasets attached. I'm not an economist either and I'm not that familiar with poLCA, so maybe it does fit that sort of latent choice model (or whatever it's called). 
