CSV для фрейма данных здесь .
В основном столбец Режим представляет вариант транспортировки, доступный пользователю для поездки в аэропорт, Выбор представляет выбор пользователя, а все остальные столбцы отображают переменные, влияющие на выбор. ,
Я публикую код ниже. функция 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
хотя mlogit с f1 выводит коэффициенты с
Likelihood: -2.2039e-07
Ясно, что я не понимаю, какие переменные должны и не должны быть включены, и взаимосвязь между которыми вызывает проблему.