Масштабирование данных и прогнозирование новых значений в R - PullRequest
0 голосов
/ 04 мая 2018

Я застрял в проблеме на некоторое время и не могу понять, как именно ее решить.

Введение: Я работаю над регрессией, в которой я прогнозирую долю выводка полового выводка в колониях муравьев на основе нескольких экологических параметров (таких как размер колонии, инбридинг рабочих и маток, обозначаемых в модели как HL_Q и HL_Colony). Переменная ответа - это количество половых куколок и рабочих куколок.

m_sexual_binom = glmer(cbind(Sexualpupae, Workers)~ scale(HL_Q) + scale(HL_Colony) + scale(Colony_size) + 
                     Island + (1|Colony), data = mergeddata, family = "binomial")

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

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

Здесь я сталкиваюсь с неприятностями. Сначала я создал новый набор данных, в котором я сохранил значения всех других предикторов в среднем, чтобы я мог использовать функцию предикторов (для факторов, которые я выбрал для случайной колонии и острова).

newdata = data.frame(HL_Q = mean(mergeddata$HL_Q, na.rm = TRUE), 
                 HL_Colony = mean(mergeddata$HL_Colony, na.rm = TRUE), 
                 Colony= "J24", 
                 Island = "Joskär", 
                 Colony_size = mergeddata$Colony_size)

Затем я использую функцию прогнозирования для прогнозирования значений Y для различных значений размера колонии.

newdata$y = predict(m_sexual_binom, newdata = newdata, type = "response")

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

plot(Sexuals~scale(Colony_size), data = mergeddata)
lines(newdata$y ~ scale(newdata$Colony_size))

То, с чем я застрял, это: - Должен ли Colony_size уже масштабироваться в newdata data.frame, или функция предикторов должна получать немасштабированные предикторы, как здесь? - Когда я масштабирую и не масштабирую Colony_size в новых данных, график не верен. Я не понимаю S-кривую, которую должна создать логистическая регрессия.

Надеюсь, мой вопрос понятен. Я был бы рад предоставить больше информации, если это необходимо. Большое спасибо за ваше время!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...