Выполнить перекрестную проверку и регрессию наилучших подмножеств в смешанных моделях

#r #mixed-models

#r #смешанные модели

Вопрос:

Я пытаюсь выполнить перекрестную проверку как часть регрессии лучших подмножеств на смешанных моделях, пока безуспешно. Я ищу помощь со следующим кодом или что-нибудь получше.

Я нашел следующий рабочий код с использованием пакета nlme для генерации соответствия каждой возможной модели из предварительно определенной модели, которая затем вычисляет и сортирует подобранные модели по BIC.

 library(nlme)
fm <- lme(distance ~age*Sex, random = ~ 1|Subject,data=Orthodont,method='ML')
terms <- terms(fm) #store the response and fixed effects
todrop <-  1:length(attr(terms,'term.labels')) #Count # of fixed effects
subs <- unlist(sapply(todrop,function(p) 
  combn(todrop,p,simplify=F)),recursive =F) #Creates list of all combinations of fixed terms
fm.subList <- lapply(subs[-length(subs)],function(s,...){ #Fits each possible model
  newf<- formula(drop.terms(terms(fm),s,keep.response = TRUE)) 
  update(fm,newf)
}) 
names(fm.subList) <- sapply(fm.subList, function(x) paste('fm',attr( 
  terms(x),'term.labels'),sep='.')) 
sort(sapply(fm.subList, BIC))
  

Код был найден здесь: http://r.789695.n4.nabble.com/best-subset-selection-on-random-effects-model-td4382936.html

Тем не менее, я бы хотел выбрать наиболее подходящую модель с перекрестной проверкой вместо BIC. Я пытался использовать cvFit из пакета cvTools, но, хотя я знаю, как использовать его отдельно от приведенного выше кода, я не могу понять, как объединить его с приведенным выше кодом.

Любая помощь в том, как объединить их, будет оценена.

Кроме того, в качестве дополнительного примечания, я также попробовал пакет leaps и regsubsets в сочетании с перекрестной проверкой из «Введение в статистическое обучение с приложениями на R» (найдено здесь: http://www-bcf.usc.edu /~gareth/ISL/), но не смог понять, как использовать смешанные модели в сочетании с этим кодом(начало стр. 249). Если я что-то упускаю из виду, я также открыт для предложений.

Комментарии:

1. Это может быть полезным вопросом для подражания: stats.stackexchange.com/questions/74220 /…

2. Подойдет. Спасибо.