Это последняя часть простой линейной регрессии. Сначала прочтите Часть 1 и Часть 2.

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

Еще раз дайте мне знать, если вы заметите какие-либо ошибки, грамматические или математические.

Что означают ваши результаты?

Ранее, в Части 2, мы выводили нашу линию регрессии с помощью Python. График выглядит так

и уравнение:

y = 1.37x + 4.27

Итак .. что означают значения 1,37 и 4,27?

Единственная константа в жизни - это константа

4.27 будет постоянной или Y-точкой пересечения в уравнении.

Что мы узнали на уроке математики?

y = 1.37x + 4.27

so if

x = 0

тогда

y = 4.27

Поскольку ваш x - это уровень бедности, мы предполагаем, что при НУЛЕВОЙ бедности будет коэффициент рождаемости 4,27%.

..

..

ИЛИ ПО крайней мере, Я ДУМАЛ.

При дальнейшем чтении я понял, что, насколько это было правильно, есть две вещи, работающие против этого:

  1. Может ли уровень бедности когда-либо быть нулевым? Можно только представить. Кроме того, что, если моя константа была отрицательным числом (скажем, -4,27 вместо 4,27), могла ли моя рождаемость быть отрицательной (дети возвращаются в утробу?!?!)
  2. В моем наборе данных нет записей о том, что уровень бедности составляет 0%. Это означает, что уравнение регрессии, которое у меня есть, не будет иметь отношения к уровню бедности 0%, поскольку оно никогда не было обучено на таких данных.

Что же такое 4,27 в моем уравнении? Ну, это объясняет «и т. Д.», Которых нет у моего x. Это показывает вам, что жизнь не идеальна, не все можно объяснить тем, что вы знаете, и вы просто справляетесь с этим.

Эта действительно хорошая статья описывает The Constant как мусорное ведро, как я представляю, как меня описывают мои родители.

Коэффициент полезного действия. Да, есть слово «эффективный». Нет, это не модное слово, которое можно использовать в linkedin, чтобы показаться модным.

1,37 в моем уравнении - это как «множитель».

Для каждого увеличения на 1 единицу x (на каждый 1% увеличения уровня бедности) эффект умножается на 1,37. Поскольку это простая линейная регрессия только с одной переменной, вы можете предсказать, что на каждую единицу увеличения бедности уровень рождаемости увеличится в среднем в 1,37 раза.

Он также указывает, оказывает ли моя переменная x отрицательное или положительное влияние на мой y. Допустим, у меня есть уравнение, которое выглядит так:

y = -2x + 4

My y - это количество кликов по объявлению, а мой x - это высота моего объявления. Поскольку это «-2», это означает, что чем длиннее мои рекламные объявления, тем меньше я получаю кликов, и если эта взаимосвязь подтверждается, то более короткие объявления - это лучший вариант, если вам нужно больше кликов.

Время предсказания

Прогнозирующая часть появляется, когда вы вставляете x, чтобы узнать y. Вот почему y называется зависимой переменной, потому что она зависит от значения x.

Допустим, вы живете в городе с уровнем бедности 15% и пытаетесь заставить правительство обратить внимание на важность предоставления бесплатного образования и снижения уровня бедности.

Таким образом, вы хотите знать, какой будет расчетный уровень рождаемости для 15–17-летних, если уровень бедности достигнет 20%, чтобы предупредить их.

Ваше уравнение будет:

y = 1.37(20) + 4.27

y = 31.67

Из набора данных вы можете видеть, что этот результат довольно близок к фактическим данным. Ура!

Ваша модель реальна? Представляем: P-value AKA «UGHHHHH»

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

P-Value - это ответ на эти вопросы.

Хорошо, вот в чем дело. Вот парень, которого называют нулевой гипотезой:

Нулевая Гипотеза, или Нуль Армстронг, как я его назову * хихикает самому себе *, - это, по сути, раздражающий чувак, который говорит вам, что вы - отстой, что то, во что вы верите, неправильно, и что на самом деле ваш x не влияет на ваш y.

Для него ваше уравнение будет выглядеть так:

y = 0x + b

Ваш наклон равен 0, потому что ваш x не влияет на y. Следовательно, ваша нулевая гипотеза утверждает, что

НУЛЕВАЯ ГИПОТЕЗА

H0: Β1 = 0 (бета 1 - это ваш наклон / коэффициент / a)

Однако, поскольку вам нелегко сдаться, вы говорите Наллу Армстронгу, чтобы он заткнул этот грязный рот, и доказываете, что он неправ, показывая ему, что есть альтернативная гипотеза, которая гласит, что

АЛЬТЕРНАТИВНАЯ ГИПОТЕЗА

Ha: Β1 ≠ 0

существует значительная линейная зависимость между x и y, и эта бедность действительно влияет на рождаемость, поэтому наклон не может быть равен 0, и кто-нибудь даже нравится тусоваться с тобой?

Один из способов доказать неправоту Нуля Армстронга - использовать p-value.

Для начала мы всегда должны предполагать, что нулевая гипотеза верна.

Отсюда действительно маленькое p-значение будет указывать на то, что очень маловероятно, что нулевая гипотеза считается истинной, и ТАК делает p-значение x статистически значимо и дает больше оснований верить в альтернативную гипотезу.

Малое P-значение = маловероятно, что ноль Армстронг прав = по исключению, вы правы

Что мы считаем «действительно маленьким»?

Не обращая внимания на размер того, что у вас в штанах, люди обычно используют 0,05 в качестве точки отсечения на основе того, что было выбрано английским статистиком Рональдом Фишером, который написал книгу о p-значении,

кто, кстати, тоже выдвинул гипотезу сексуального сына, которая совершенно не имеет отношения к этой теме, но сейчас я люблю говорить ГИПОТЕЗА СЕКСУАЛЬНЫХ СЫНОВ.

Обратите внимание, что ваше p-значение НЕ ДОКАЗЫВАЕТ, что вы правы, оно только доказывает неправоту Нуля Армстронга.

По сути:

Высокие значения P: на этот раз ты выиграешь, Нуль Армстронг!

Низкие значения P: Сосать иттттт, Нулевой Армстронг!

Но зачем мне так мучить себя?

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

Scikit learn не имеет сводной функции для отображения p-значения, поэтому я буду использовать statsmodel вместо этого, чтобы найти p-значение моей переменной (рождаемости).

Значение p для нашей переменной x равно 0,000, что означает, что она слишком мала для отображения. Вместо этого я запускаю этот код:

печать (reg2.pvalues)

и получить

[9.79903930e-02 1.18781873e-09]

Таким образом, p-значение моей переменной x на самом деле составляет 1,19e-09, что действительно очень мало, очевидно, намного меньше 0,05, и, следовательно, мой уровень бедности является статистически значимым фактором при прогнозировании рождаемость.

А как насчет p-значения нашей константы, равного 0,098, что выше 0,05?

Что ж, не волнуйтесь, потому что наша постоянная остается.

Для констант нулевая гипотеза предполагает, что константа не имеет никакого эффекта, поэтому она равна 0.

Высокое значение p просто означает, что, когда my x = 0, константа не так уж далека от 0, что возможно ИЛИ похоже на это, потому что в наборе данных нет точек данных, где x равно 0, чтобы доказать обратное.

Достаточно ли доказательств p-значения?

Как и у нас с вами, p-value не идеален, и у него есть ненавистники. Многие исследователи спорили об истинной значимости и точности p-значения.

В конце концов, это не доказательство того, что ваша гипотеза определенно верна. Да, это статистически значимо, но это потому, что вы считаете статистически значимым, потому что вы устанавливаете пороговый уровень.

  1. 0,05 действительно достаточно? Устанавливая более высокий пороговый уровень, вы просто даете себе больше возможностей сказать, что вы правы.
  2. p-значение может измениться ALOT, когда вы используете разные выборки из одной и той же совокупности, поскольку может быть возможно, что определенная выборка просто дает высокое p-значение, но оказывается неточным, если вы принимаете во внимание всю генеральную совокупность. Это может исказить полученное вами p-значение. ЧТО ТАКОЕ ПРАВДА!
  3. Разумна ли нулевая гипотеза? Имеет ли измерение, чтобы сказать вам, что гипотеза, которая невозможна, не может быть значимым измерением ????? Ты понял это?

Исследовательский документ о том, насколько p-value плохой и должен быть плохим, можно найти здесь.

Люди, которые против проверки гипотезы p-значения, могут вместо этого предпочесть использовать байесовские методы.

Однако есть и много сторонников p-value. Кажется, что ключом к получению более точного результата будет установка гораздо более низкого порога (0,001 или 0,005).

P-значение широко используется для оценки моделей в машинном обучении, поэтому я буду продолжать его использовать. Просто рассматривайте это как способ оценки для сравнения моделей и / или переменных.

Например, некоторые школы могут сказать, что пройдено 50%, а некоторые могут сказать, что это 60%, но это 50% или 60% точные измерения того, достаточно ли ученик знает тему? Возможно, нет, но это хороший ориентир, по которому можно судить.

Есть и другие методы оценки точности моей модели - хороший способ сказать себе, что у вас все хорошо. Из которых я расскажу ниже:

Тренировка / тестовый сплит

Если у нас достаточно данных для экспериментов, мы обычно делаем разделение «Обучение / Тестирование», где мы разделяем набор данных на обучающий и тестовый набор (обычно 80% / 20 %)

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

Здесь нужно убедиться, что ваша модель не переоборудована.

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

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

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

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

Проверьте свой остаточный участок

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

Вот как выглядит мой:

R в квадрате

R в квадрате ВСЕГДА находится между 0 и 1, и чем выше ваш R в квадрате, тем лучше.

R в квадрате - это вариация y, которая объясняется вашей линейной моделью.

R-квадрат = объясненная вариация / общая вариация

Функции Scikit learn:

печать (рег. оценка (X, Y))

Однако класть все яйца в корзину R-квадрат - ошибка. Иногда ваши прогнозы необъективны, и R-Squared этого не видит.

В некоторых случаях значения R-квадрата всегда будут низкими, несмотря ни на что. Например, при моделировании наборов данных, которые пытаются предсказать поведение человека, он может быть низким, потому что мы в основном непредсказуемые и коварные ублюдки.

В других случаях значения R-квадрата будут высокими, что хорошо, потому что модель точно следует фактическим данным. ТЕМ НЕ МЕНИЕ! Это может быть вызвано переобучением, которое, как мы все знаем, совсем не круто.

RMSE (старый друг, стандартное отклонение)

RMSE - среднеквадратическая ошибка

RMSD - среднеквадратичное отклонение

Привет, тьма, мой старый друг, я снова пришел поговорить с тобой.

Под темнотой я имею в виду дисперсию и стандартное отклонение. Ну а еще SSR / SSE из части 2.

RMSE измеряет разницу между прогнозируемыми значениями выборки и фактическими значениями. По сути, это квадратный корень из средней дисперсии остатков.

Звучит знакомо? Стандартное отклонение - это также квадратный корень из дисперсии.

Однако в случае регрессионного анализа ошибка в дисперсии - это не столбец Y -Y, а прогноз Y -Y, что отличает его немного, но по тому же принципу.

Как соотносятся среднеквадратические ошибки (RMSE) с остаточной суммой квадратов (RSS: REAL Y - PREDICTED Y AKA регрессионная форма дисперсии)?

RSS - это квадрат ошибок, а MSE - квадрат этого, что делает RMSE корнем среднего значения RSS.

ВЗДОХ.

Остаточная сумма квадратов = ∑ (Ŷ i − Yi) 2

Среднеквадратичные ошибки = (1 / n) ∑ (Ŷ i − Yi) 2

Для RMSE чем меньше, тем лучше, поскольку это показывает, что меньше «ошибок».

Краткое резюме

- p-value = Меньше, тем лучше. Лучше быть ‹0,05

- Не проверяйте себя. Разделение данных на тестовые и обучающие наборы

- R в квадрате = 0 ‹R в квадрате‹ 1. Больше лучше

- RMSE = чем меньше, тем лучше

И это все для этого поста!

Да, у меня тоже болит голова. Мои глаза потускнели, и моя душа покинула мое тело.

Мы закончили с простой линейной регрессией!

Ктооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооо

Если когда-либо и было прекрасное руководство по исчерпывающему коду для простой линейной регрессии в Python, то оно здесь.



Следующий пост будет о множественной линейной регрессии, которая похожа на простую линейную регрессию, но ... менее ... проста ...

Спасибо Майклу и Румену за вычитку.

Эта история опубликована в The Startup, крупнейшем предпринимательском издании Medium, за которым следят более 289 682 человека.

Подпишитесь, чтобы получать наши главные новости здесь.