Выбор переменной в пакете земля R для MARS
Я работаю над моделью MARS, используя пакет Земли в R. Я хочу форсировать все переменные в модели. У меня есть 14 предсказателей, но в результате я получаю только 13 предсказателей. Ниже мой код.
mdl <- earth(x,y,nprune=10000, nk=1000, degree=1, thresh=1e-7,
linpreds=c(1:14), penalty = -1, ponly=T, trace = 0)
Вот мои вопросы
- Могу ли я заставить переменные вместо некоторого выбора переменных. Если да, то как?
- Как только я начну исследовать петли в данных, могу ли я вручную исправить узлы и затем получить оценки на их основе.
Спасибо за помощь.
1 ответ
Вы не можете принудить предикторов к модели Земля /MARS. Основой алгоритма MARS является автоматический выбор предикторов.
Но можно увеличить вероятность того, что все предикторы войдут в модель, подорвав нормальный алгоритм, установив thresh=0 и штраф =-1. Обратитесь к странице справки о земле и найдите "порог" и "штраф" в земной виньетке за подробностями и примерами.
Тем не менее, процитируем эту виньетку: "Обычно лучше не подрывать стандартный алгоритм MARS, играя с параметрами настройки, такими как порог, штраф и конечный период. Помните, что мы не ищем модель, которая лучше всего соответствует обучающим данным, а скорее модель, которая наилучшим образом соответствует базовому распределению ".
Вы не можете вручную исправить узлы. Еще раз, автоматический выбор узлов, если это присуще алгоритму MARS. Однако аргументы minspan и endpan дают вам некоторую гибкость в автоматическом размещении узлов, например, minspan=-3 позволит использовать до 3 равноотстоящих узлов на один предиктор.