数据帧的csv为here。
基本上,模式列代表用户可前往机场的交通选择,选择代表用户的选择,所有其他列均描述了影响选择。 我在下面发布一些代码。 mFormula 函数仅将变量分成3个部分,并用'|'即
分隔与w相关的一般系数|个别特定w替代特定系数|替代依赖w替代特定系数
我用mFormula函数尝试了两个公式,其中一个输出系数(f1),但没有像效用函数(f)那样为效用函数的变量建模。
library(mlogit)
path=""
a<-read.table(path,sep=",", header=TRUE)
Ta<-mlogit.data(a,shape="long",alt.var="Mode",choice="Choice")
f <- mFormula(Choice ~ CostPersonal+CostTrainBus+CostCarpool+CostTaxi+CostSharedTaxi+CostCS+CostSCS+DistSYR+DistNYC+DistALB+DistEWR+SafteyPersonal+SafteyTrainBus+SafteyCarpool+SafteyTaxi+SafteySharedTaxi+SafteyCS+SafteySCS+PrivacyPersonal+PrivacyTrainBus+PrivacyCarpool+PrivacyTaxi+PrivacySharedTaxi+PrivacyCS+PrivacySCS+ConviniencePersonal+ConvinienceTrainBus+ConvinienceCarpool+ConvinienceTaxi+ ConvinienceSharedTaxi+ConvinienceCS+ConvinienceSCS+payUticaSYR+payUticaALB+flightsYear+daysBreturn+incomeB+familySize+ageB|Airport+TimePersonal+TimeTrainBus+TimeCarpool+TimeTaxi+TimeSharedTaxi+TimeCS+TimeSCS+luggage+ownVehicle+shuttleMaxPersonsB)
f1<- mFormula(Choice ~ 1| +0+CostPersonal+CostTrainBus+CostCarpool+CostTaxi+CostSharedTaxi+CostCS+CostSCS+Airport+DistSYR+DistNYC+DistALB+SafteyPersonal+SafteyTrainBus+SafteyCarpool+SafteyTaxi+SafteySharedTaxi+PrivacyPersonal+PrivacyTrainBus+PrivacyCarpool+PrivacyTaxi+PrivacySharedTaxi+ConviniencePersonal+ConvinienceTrainBus+ConvinienceCarpool+ConvinienceTaxi+ConvinienceSharedTaxi+TimePersonal+TimeTrainBus+TimeCarpool+TimeTaxi+TimeSharedTaxi+flightsYear+daysBreturn+luggage+ownVehicle+incomeB+familySize+ageB+shuttleMaxPersonsB+payUticaSYR+payUticaALB)
ml.a<-mlogit(f,Ta)#does not output coefficients
ml.a<-mlogit(f1,Ta)#does output coefficients
summary(ml.a)`
The error is:
Error in solve.default(H, g[!fixed]) :
Lapack routine dgesv: system is exactly singular: U[3,3] = 0
尽管f1的mlogit确实输出了带有
的系数Likelihood: -2.2039e-07
很明显,我不知道应该包含和不应该包含哪些变量以及导致问题的变量之间的相互关系。