Вступление

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

Уравнение прямой имеет вид

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

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

Прежде чем изучать линейную регрессию, давайте поговорим о линейной регрессии и ее основах.

Понимание линейной регрессии

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

  1. Линия Best Fit
  2. Функция стоимости
  3. Градиентный спуск

Линия наилучшего соответствия - это линия, которая имеет наименьшую ошибку при рассмотрении всех точек на графике, член ошибки может быть вычислен с использованием многих способов, таких как RMSE, MSE, Евклидово расстояние и т. Д.

Функция стоимости

Функция стоимости определяется следующим образом

Где J (θ) - это функция стоимости, которая представляет собой MSE (среднеквадратическую ошибку) разницы прогнозируемого выхода и желаемого результата.

h (θ) то же самое, что y = mx + c, которое является уравнением прямой линии, но дает нам прогнозируемый результат.

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

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

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

Ключевые выводы из приведенной выше формулы:

  1. У нас есть отрицательный знак, что означает, что мы движемся в направлении от склона, то есть мы движемся в направлении Минимы.
  2. Мы берем частные производные, поскольку функция стоимости включает в себя более одной переменной, это будет иметь больше смысла, если мы расширим ее до множественной регрессии, когда в картину входит слишком много переменных.
  3. Мы уменьшаем ошибку по мере приближения к минимуму.

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

Но сценарии меняются, когда мы переходим в многомерное пространство, поскольку существует много переменных, поэтому частная производная приводит нас к минимумам в каждом из измерений, которые можно визуализировать на следующей диаграмме.

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

Итак, это было о линейной регрессии

Интуиция о множественной линейной регрессии

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

Выразим формулу множественной линейной регрессии.

Это включает в себя множество независимых переменных, которые скрывают атрибуты, указанные в наборе данных, мы должны найти такие коэффициенты, чтобы мы могли соответствующим образом разместить n-мерную гиперплоскость в соответствующем пространстве.

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

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

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

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

Существуют разные методы множественной линейной регрессии.

  1. Все в
  2. Обратное устранение
  3. Вперед на выбывание

и многое другое…

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

За обратным исключением стоит огромная интуиция, и мы начнем наше путешествие, изучая p-значение.

Что такое p-значение?

p-value - это инструмент статистической проверки гипотез, который принимает во внимание гипотезу NULL и альтернативную гипотезу и использует кривую вероятности (кривая Белла) и дает результаты для крайних случаев гипотезы, таких как 5% и 95% значений.

Так что давайте углубимся в это.

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

Когда мы хотим это сделать, мы должны знать, что все пространство результатов - это Вселенная, и она разделена на то, что называется

  1. НУЛЕВАЯ гипотеза
  2. Альтернативная гипотеза

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

НУЛЕВАЯ Гипотеза: монета - честная монета.

Альтернативная гипотеза: монета необъективна.

Альтернативная гипотеза используется по умолчанию, поскольку она является дополнением к нулевой гипотезе.

Итак, предположим, что мы несколько раз подбрасываем монету и записываем результаты.

Number of Toss           Outcome                 Probability
    1                     Heads                      50%
    2                     Heads                      25% 
    3                     Heads                      12.5%
    4                     Heads                      6.25%
    5                     Heads                      3.125%
    6                     Heads                      1.5%
    7                     Heads                      0.75%

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

Вероятность 50% означает, что для 2 бросков возможна одна голова, а 25% означает, что для 4 бросков обе монеты получают только 1 из 4, аналогично для последующих бросков вероятность означает соответственно.

Итак, давайте рассмотрим сценарий, чтобы внимательно это объяснить.

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

Ваша реакция после каждого броска.

Бросок 1: вероятность составляет 50%, и вы думаете, что это наиболее частый случай.

Бросок 2: вероятность 25%, и вы думаете, что это обычное дело.

Бросок 3: вероятность 12,5%, и вы думаете о том, чтобы попробовать еще раз.

Бросок 4: вероятность составляет 6,25%, и вы начинаете подозревать, но все же чувствуете, что это может произойти.

Бросок 5: вероятность составляет 3,13%, и ваши подозрения воплощаются в реальность.

Бросок 6: вероятность составляет 1,5%, и вы очень уверены, что монета смещена.

Это кривая, которая отображает переход ваших мыслей от броска 1 к броску 6.

p-значение и уровень значимости идут рука об руку, поскольку НУЛЕВАЯ гипотеза находится на пике колоколообразной кривой при переходе к альтернативе. гипотеза.

В нашем случае вероятность Toss 6 составляет 1,5%, что означает, что уровень значимости гипотезы NULL составляет всего 1,5%, а для альтернативной гипотезы - 98,5%, что означает 98,5% вероятности того, что монета смещена.

Таким образом, мы устанавливаем общий уровень значимости 5% перед выполнением проверки гипотез, гипотезы ниже порогового значения отбрасываются.

Применение p-значения в обратном исключении

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

Таким образом, наша гипотеза NULL здесь будет заключаться в том, чтобы рассматривать атрибуты как несущественные для модели.

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

import statsmodels.api as sm

statsmodels - это библиотека, широко используемая в Python для расчета статистических показателей.

Мы используем метод обыкновенных наименьших квадратов (OLS) для создания сводной таблицы OLS, которая содержит различные меры и значения, а также присутствует p-значение, и мы используем это значение для наших расчетов.

Сводная таблица OLS выглядит примерно так.

OLS Regression Results                            
==============================================================================
Dep. Variable:                Lottery   R-squared:                       0.348
Model:                            OLS   Adj. R-squared:                  0.333
Method:                 Least Squares   F-statistic:                     22.20
Date:                Fri, 21 Feb 2020   Prob (F-statistic):           1.90e-08
Time:                        13:59:15   Log-Likelihood:                -379.82
No. Observations:                  86   AIC:                             765.6
Df Residuals:                      83   BIC:                             773.0
Df Model:                           2                                         
Covariance Type:            nonrobust                                         
===================================================================================
                      coef    std err          t      P>|t|      [0.025      0.975]
-----------------------------------------------------------------------------------
Intercept         246.4341     35.233      6.995      0.000     176.358     316.510
Literacy           -0.4889      0.128     -3.832      0.000      -0.743      -0.235
np.log(Pop1831)   -31.3114      5.977     -5.239      0.000     -43.199     -19.424
==============================================================================
Omnibus:                        3.713   Durbin-Watson:                   2.019
Prob(Omnibus):                  0.156   Jarque-Bera (JB):                3.394
Skew:                          -0.487   Prob(JB):                        0.183
Kurtosis:                       3.003   Cond. No.                         702.
==============================================================================

Код Python для реализации обратного исключения:

#Backward Elimination
import statsmodels.formula.api as sm
x = np.append(arr = np.ones((50,1)).astype(int),values = x,axis = 1)
def BackwardElimination(x,sl):
    n = len(x[0])
    for i in range(0,n):
        regressor_OLS = sm.OLS(y,x).fit()
        maxv = max(regressor_OLS.pvalues).astype(float)
        if maxv > sl:
            for j in range(0,n-i):
                if(regressor_OLS.pvalues[j].astype(float) == maxv):
                    x = np.delete(x,j,1)
    regressor_OLS.summary()
    return x
sl = 0.05
x_opt = x
x_model = BackwardElimination(x_opt,sl)
x_model.shape

Приведенный выше код генерирует сводную таблицу OLS каждый раз, проверяет наибольшее p-значение и удаляет этот конкретный атрибут из фактического набора атрибутов.

Затем мы обычно можем применить Linear Regressor из sklearn для других параметров, чтобы получить желаемый результат.

from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor.fit(x_train,y_train)

Примечание. 1) В отличие от линейной регрессии, множественную линейную регрессию немного сложно визуализировать, но мы должны правильно понять n-мерную геометрию и мыслить нестандартно.

Любые комментарии или изменения приветствуются, и еще один блог в очереди будет обновляться !!!

Ссылки

  1. Кредиты за изображения идут на изображения Google
  2. Сводная таблица OLS https://www.statsmodels.org/stable/index.html