график логистической регрессии – понимание данных

Вопрос или проблема

Я пытаюсь понять, почему мои данные не показывают полноценную S-кривую? Это связано с тем, что предсказатель не очень хорошо предсказывает значение fellow = 1, или просто потому, что существует мало значений fellow = 1, которые находятся в верхней части по c_ns2 (переменная по оси x)?

введите описание изображения здесь

[![введите описание изображения здесь][2]][2]

///

при попытке расширить ось x до диапазона от 2.5 до 7: введите описание изображения здесь

##### 2 #####
ggplot(graph_df, aes(c_ns2, fellow)) +
  geom_point() +
  geom_smooth(method = 'glm', method.args = list(family = "binomial"), se = FALSE, size = 2, colour = "lightblue") +
  theme_classic() +
  geom_hline(yintercept = 0.5, colour = "grey50", linetype = 2, size = 1) +
    xlim(c(2.5, 7))

Расширьте свой график для больших значений c_ns2 (ось x). График тогда покажет полную сигмоидную кривую. Скорее всего, значений fellow=0 гораздо больше, чем значения fellow=1, и относительное распределение значительно смещает подогнанную кривую в их сторону.

Ответ или решение

Понимание графиков логистической регрессии: анализ данных

Введение

Логистическая регрессия — это мощный инструмент для бинарной классификации, позволяющий нам моделировать вероятность принадлежности к одной из двух категорий. В вашем случае вы пытаетесь проанализировать, почему ваши данные не отображают полную S-образную кривую (сигмоиду), и что на это может влиять. В этом ответе мы детально рассмотрим возможные причины, а также предложим рекомендации по улучшению визуализации данных.

Основные причины отсутствия S-образной кривой

  1. Проблемы с предсказательной способностью переменной (c_ns2):

    • Если переменная c_ns2 не является хорошим показателем для предсказания выдвижения fellow=1, то логистическая регрессия не сможет адекватно отразить данные в виде S-образной кривой. Это может случиться, если:
      • Вариация в c_ns2 не связана с зависимой переменной fellow.
      • Разнообразие в значениях c_ns2 для группы fellow=1 слишком ограничено.
  2. Нехватка наблюдений для класса fellow=1:

    • Если количество наблюдений для класса fellow=1 значительно меньше, чем для fellow=0, это может привести к смещению в модели. Сигмоида будет скошена в сторону более частой категории (fellow=0), что вы, скорее всего, и наблюдаете. Это также может влиять на окончательный вид кривой на графике.
  3. Целевой диапазон и экстраполяция:

    • Если вы ограничиваете ось x (c_ns2) слишком узко (например, в диапазоне от 2.5 до 7), это может не позволить модели развить свою форму. Увеличив диапазон значений c_ns2, вы, вероятно, сможете увидеть более четкую сигмоидную кривую. Модели логистической регрессии могут демонстрировать различную степень кривизны в зависимости от диапазона значений исходной переменной.

Рекомендации

  1. Расширение диапазона оси X:

    • Попробуйте расширить диапазон переменной c_ns2 в графике. Это может помочь выявить скрытые закономерности и позволить модели "обрисовать" более четкую S-образную форму.
    ggplot(graph_df, aes(c_ns2, fellow)) +
      geom_point() +
      geom_smooth(method = 'glm', method.args = list(family = "binomial"), se = FALSE, size = 2, colour = "lightblue") +
      theme_classic() +
      geom_hline(yintercept = 0.5, colour = "grey50", linetype = 2, size = 1) +
      xlim(c(min_value, max_value))  # Задайте реальные границы c_ns2
  2. Проверка дисбаланса классов:

    • Проанализируйте количество наблюдений для классов fellow=0 и fellow=1. Если существует значительный дисбаланс, может быть полезно рассмотреть применение методов балансировки, таких как подвыборка, переобучение, или использование методов увеличения выборки.
  3. Изучение других предикторов:

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

Заключение

Анализ логистической регрессии требует тщательного рассмотрения не только самих данных, но и порядка их визуализации. Ваша задача — определить, действительно ли переменная c_ns2 не справляется с предсказательными функциями, или же на результат влияет малая выборка данных для класса fellow=1. Следуя предложенным рекомендациям, вы сможете улучшить представление вашей модели и, возможно, увидеть более четкую S-образную кривую на графике.

Оцените материал
Добавить комментарий

Капча загружается...