MixedModel с отсутствующими значениями в Julia - PullRequest
0 голосов
/ 08 ноября 2019

Невозможно запустить MixedModel, когда переменные ответа имеют missing. Я получаю ERROR: KeyError: key missing not found

Ранее Джулия могла запустить это без проблем.

Я загружаю свои данные, используя CSV.read, но в приведенном ниже примере используется набор данных из пакета R, который называется languageR

using DataFrames, MixedModels, GLM, RDatasets, RData, RCall, Missings, CSV

#load data
lexdec = rcopy(R"languageR::lexdec")

#replace one value with missing
lexdec.rt = recode(lexdec.RT, 6.905753 => missing)

#run mixedmodel
fm = fit(MixedModel, @formula(rt ~ 1 + Class*NativeLanguage*Frequency + Trial + (1|Subject) + (1|Word)), lexdec)

ERROR: KeyError: key missing not found
#plus a long Stacktrace

Та же ошибка, если отсутствует независимая переменная (скажем, частота). Хотелось бы найти решение, которое может решить проблему отсутствия в обоих случаях.

1 Ответ

0 голосов
/ 11 ноября 2019

Разрабатываемая версия MixedModels может обрабатывать пропущенные значения. Похоже, он просто удаляет строку с отсутствующим значением. Это то же самое, что и na.omit в R.

#install development version
add https://github.com/dmbates/MixedModels.jl

julia> #run mixedmodel
       fm = fit(MixedModel, @formula(rt ~ 1 + Class*NativeLanguage*Frequency + Trial + (1|Subject) + (1|Word)), lexdec)
Linear mixed model fit by maximum likelihood
 rt ~ 1 + Class + NativeLanguage + Frequency + Trial + Class & NativeLanguage + Class & Frequency + NativeLanguage & Frequency + Class & NativeLanguage & Frequency + (1 | Subject) + (1 | Word)
   logLik    -2 logLik      AIC         BIC     
   500.93350 -1001.86699  -977.86699  -912.90658

Variance components:
            Column     Variance    Std.Dev.  
Word     (Intercept)  0.0023721041 0.04870425
Subject  (Intercept)  0.0166347779 0.12897588
Residual              0.0290821397 0.17053486
 Number of obs: 1658; levels of grouping factors: 79, 21

  Fixed-effects parameters:
───────────────────────────────────────────────────────────────────────────────────────────────
                                                      Estimate   Std.Error     z value  P(>|z|)
───────────────────────────────────────────────────────────────────────────────────────────────
(Intercept)                                        6.52805      0.0594568   109.795      <1e-99
Class: plant                                      -0.0575706    0.0630526    -0.913056   0.3612
NativeLanguage: Other                              0.378076     0.0753413     5.01817    <1e-6 
Frequency                                         -0.0371412    0.00860268   -4.3174     <1e-4 
Trial                                             -0.000233949  9.0215e-5    -2.59324    0.0095
Class: plant & NativeLanguage: Other              -0.108593     0.0685904    -1.58322    0.1134
Class: plant & Frequency                           0.00893183   0.0130981     0.68192    0.4953
NativeLanguage: Other & Frequency                 -0.0398737    0.00936592   -4.25732    <1e-4 
Class: plant & NativeLanguage: Other & Frequency   0.0078122    0.014241      0.54857    0.5833
───────────────────────────────────────────────────────────────────────────────────────────────
...