Обработка альтернативных значений NA в mlogit - PullRequest
0 голосов
/ 08 июля 2019

Обычно в моделях выбора режима есть переменные, которые варьируются в зависимости от альтернатив («общие переменные»), но не определены для определенных режимов.Например, транзитный тариф присутствует для автобусов и легкорельсового транспорта, но не определен для автомобилей и велосипедов.Обратите внимание, что тариф не ноль.

Я пытаюсь сделать эту работу с пакетом mlogit для R. В этом MWE я утверждал, что price не определен для рыбалки с пляжа.Это приводит к ошибке сингулярности.

library(mlogit)
#> Warning: package 'mlogit' was built under R version 3.5.2
#> Loading required package: Formula
#> Loading required package: zoo
#> 
#> Attaching package: 'zoo'
#> The following objects are masked from 'package:base':
#> 
#>     as.Date, as.Date.numeric
#> Loading required package: lmtest

data("Fishing", package = "mlogit")
Fishing$price.beach <- NA
Fish <- mlogit.data(Fishing, varying = c(2:9), shape = "wide", choice = "mode")
head(Fish)
#>            mode   income     alt   price  catch chid
#> 1.beach   FALSE 7083.332   beach      NA 0.0678    1
#> 1.boat    FALSE 7083.332    boat 157.930 0.2601    1
#> 1.charter  TRUE 7083.332 charter 182.930 0.5391    1
#> 1.pier    FALSE 7083.332    pier 157.930 0.0503    1
#> 2.beach   FALSE 1250.000   beach      NA 0.1049    2
#> 2.boat    FALSE 1250.000    boat  10.534 0.1574    2

mlogit(mode ~ catch + price | income, data = Fish, na.action = na.omit)
#> Error in solve.default(H, g[!fixed]): system is computationally singular: reciprocal condition number = 3.92205e-24

Создано в 2019-07-08 пакетом Представить (v0.2.1)

Это происходит, когда price также перемещается в переменную позицию, специфичную для альтернативы.Я думаю, что проблема может заключаться в аргументе функции na.action, но я не могу найти никакой документации по этому аргументу, кроме тега базовой документации:

na.action :функция, которая указывает, что должно происходить, когда данные содержат NA

Похоже, нет примеров, показывающих, как этот термин используется по-разному и каковы результаты.Здесь есть связанный без ответа вопрос здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...