Я пытаюсь сделать выбор модели для некоторых кандидатов-предикторов, используя LASSO с непрерывным результатом. Цель состоит в том, чтобы выбрать оптимальную модель с наилучшими показателями прогнозирования, что обычно может быть выполнено путем перекрестной проверки в K-кратном порядке после получения пути решения параметров настройки из LASSO. Проблема здесь заключается в том, что данные взяты из комплексного многоэтапного плана обследования (NHANES) с кластерной выборкой и стратификацией. Оценка части не является сложной, так как glmnet
в R может принимать веса выборки. Но часть перекрестной проверки мне менее понятна, так как наблюдения больше не рассматриваются, и как процедура может учитывать веса выборки, представляющие конечную совокупность?
Итак, мои вопросы:
1) Как выполнить перекрестную проверку K-кратных данных со сложными данными обследования, чтобы выбрать оптимальный параметр настройки? В частности, как правильно разделить выборочные данные на обучающие и проверочные наборы? А как определить оценку ошибки прогноза?
2) Есть ли альтернативный способ выбора оптимального параметра настройки?
источник
Ответы:
У меня нет подробного ответа, только некоторые указатели для работы, которые я хотел прочитать:
Вы можете взглянуть на McConville (2011) на LASSO комплексного опроса, чтобы убедиться, что использование LASSO подходит для ваших данных. Но, возможно, это не имеет большого значения, если вы делаете LASSO только для выбора переменных, а затем подгоняете что-то еще к оставшимся переменным.
Для перекрестной проверки со сложными данными опроса (но не LASSO) McConville также ссылается на Opsomer & Miller (2005) и You (2009). Но их методы, похоже, используют CV, а не K-fold.
Упрощенный метод проще реализовать в сложных опросах - меньше заботится о том, как правильно разделить данные. (С другой стороны, запуск может занять больше времени, чем K-кратный. И если ваша цель - выбор модели, известно, что опускание одного может быть хуже K-кратного для больших выборок.)
источник
РЕДАКТИРОВАНИЕ ОП: Не применимо к сложным данным обследования.
Функция cv.glmet может помочь вам выполнить требуемую перекрестную проверку. Значение lambda.min - это значение λ, где ошибка CV минимальна. Значение lambda.1se представляет значение λ в поиске, которое было проще, чем лучшая модель (lambda.min), но имеет ошибку в пределах 1 стандартной ошибки наилучшей модели.
Доступ к значению lambda.min можно получить из самой модели, как показано ниже.
источник