В настоящее время я изучаю функции gbm в пакете dismo для создания усиленных деревьев регрессии для моделирования распространения видов. Я использовал виньетки дисмо, а также статью 2008 года «Рабочее руководство по форсированным деревьям регрессии» Элита и др., опубликованную в Журнале экологии животных. На странице 808:809 Elith et al. статьи авторы поясняют графики частных зависимостей и приводят пример внизу страницы 809 (рис. 6). Согласно виньетке dismo «Деревья ускоренной регрессии для экологического моделирования», gbm.plot «Показывает частичную зависимость ответа от одного или нескольких предикторов».
Gbm.plot создает графики, которые выглядят почти так же, как пример в Elith et al. Однако есть несколько параметров, которые я не могу понять, как установить, чтобы получить цифру, точно такую же, как в статье.
Оси Y в документе имеют логарифмическую шкалу и центрированы, чтобы иметь нулевое среднее значение по распределению данных. Оси Y в gbm.plot представляют подобранную функцию.
Коврик в бумаге находится на верхней части сюжетов, gbm.step коврик находится на нижней.
Gbm.plot использует имя переменной в качестве метки оси x. Бумага имеет осмысленные метки осей.
Вот рисунок из статьи Elith в сравнении с цифрой, полученной с помощью gbm.plot
Рисунок 6 из Elith et al., 2009
Из gbm.plot
Мои решения
При поиске решений я наткнулся на это вопрос, и это натолкнуло меня на мысль взглянуть на исходный код (впервые для меня). Из первоисточника я смог получить хорошее представление о том, как устроена эта функция, но я все еще многого не понимаю.
Я не уверен, что нужно изменить, чтобы преобразовать оси Y в логарифмическую шкалу и центрировать их, чтобы иметь среднее значение, равное нулю.
Я смог изменить источник, чтобы переместить ковер в верхнюю часть графиков. Я нашел команду для функции коврика и добавил аргумент
side=3
.Что касается имен переменных, я полагаю, мне нужно составить список соответствующих имен переменных, прикрепить его к данным и каким-то образом прочитать его в исходном коде. Все еще над моей головой.
Я буду благодарен за любой вклад. Я также думаю, что если другие экологи используют статью Elith в качестве ориентира, они могут столкнуться с той же проблемой.
Вот пример кода, который я запускал для создания графиков.
gbm.plot(all.sum.tc4.lr001,
rug=TRUE,
smooth=TRUE,
n.plots=9,
common.scale=TRUE,
write.title = FALSE,
show.contrib=TRUE,
plot.layout=c(2,3),
cex.lab=1.5)