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

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

Где мы используем линейную регрессию?

  • Оценка тенденций и оценок продаж
    Вы также можете использовать линейный регрессионный анализ, чтобы попытаться предсказать общий годовой объем продаж продавца (зависимая переменная) на основе независимых переменных, таких как возраст, образование и опыт работы. .
  • Анализ ценовой эластичности
    Изменения в ценообразовании часто влияют на поведение потребителей , и линейная регрессия может помочь вам проанализировать, каким образом. Например, если цена на определенный продукт постоянно меняется, вы можете использовать регрессионный анализ, чтобы увидеть, падает ли потребление по мере роста цены. Что, если потребление не упадет значительно по мере роста цены? В какой ценовой категории покупатели перестают покупать продукт? Эта информация будет очень полезна для руководителей розничного бизнеса.
  • Оцените риск в страховой компании
    Для анализа риска можно использовать методы линейной регрессии. Например, у страховой компании могут быть ограниченные ресурсы для расследования страховых претензий домовладельцев; с помощью линейной регрессии команда компании может построить модель для оценки стоимости претензий. Анализ может помочь руководителям компаний принять важные бизнес-решения о том, какие риски принимать.
  • Спортивный анализ
    Линейная регрессия не всегда важна для бизнеса. В спорте это тоже важно. Например, вы можете задаться вопросом, связано ли количество игр, выигранных баскетбольной командой за сезон, со средним количеством очков, набранных командой за игру. Диаграмма рассеяния показывает, что эти переменные связаны линейно. Количество выигранных игр и среднее количество очков, набранных противником, также связаны линейной зависимостью.
  • Анализ окружающей среды
    Экологические работы в таких областях, как устойчивое развитие, также могут использовать линейную регрессию для сравнения взаимосвязей отдельных элементов в природе. Например, уровень загрязнения может влиять на температуру или более простые вещи, например, как количество воды, получаемой растениями, влияет на их рост. Этот процесс также может помочь предсказать будущие условия окружающей среды, чтобы информировать специалистов по устойчивому развитию о том, какие текущие операции могут потребовать адаптации.

Как работает линейная регрессия?

  1. Набор данных загружен и разделен на наборы тестовых и обучающих данных.

2. Поиск хороших параметров :выбрав модель функции регрессии, пусть параметры b0 и b1 будут параметрами, где X будет независимой переменной, имеющей X = {x1, x2, x3,…..xn}, и зависимой переменной Y, имеющей Y = {y1, y2, y3,…..yn}.

Уравнение линейной регрессии имеет вид:

Мы находим среднее значение X, т. е. x̄, и среднее значение Y, т. е. ȳ, и алгоритм оптимизации, применяемый для получения хороших параметров с использованием градиентного спуска. :

3. Затем мы проверяем правильность подгонки
проверена, и здесь мы собираемся использовать метод R-Square который также известен как коэффициент корреляции для получения этой степени соответствия. Этот коэффициент корреляции можно получить по формуле:

Реализация линейной регрессии

Мы использовали данные о размере головы и массе мозга разных народов.

Шаг 1: Импорт необходимых библиотек

%matplotlib inline
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['figure.figsize'] = (20.0, 10.0)

# Reading Data
data = pd.read_csv('headbrain.csv')
print(data.shape)
data.head()


# Collecting X and Y
X = data['Head Size(cm^3)'].values
Y = data['Brain Weight(grams)'].values

Шаг 2: Теперь мы вычисляем среднее значение X и Y, чтобы получить параметры B0 и B1.

# Mean X and Y
mean_x = np.mean(X)
mean_y = np.mean(Y)

# Total number of values
n = len(X)

# Using the formula to calculate m and c
numer = 0
denom = 0
for i in range(n):
numer += (X[i] - mean_x) * (Y[i] - mean_y)
denom += (X[i] - mean_x) ** 2
m = numer / denom
c = mean_y - (m * mean_x)

# Print coefficients
print(m, c)

На основе линейной регрессии для модели можно дать следующее уравнение:

BrainWeight = c + m ∗ Размер головы

Шаг 3: Теперь, когда у нас есть уравнение линии. Таким образом, для каждого фактического значения x мы найдем прогнозируемые значения y. Как только мы получим точки, мы можем построить их и создать линию линейной регрессии.

# Plotting Values and Regression Line
max_x = np.max(X) + 100
min_x = np.min(X) - 100
# Calculating line values x and y
x = np.linspace(min_x, max_x, 1000)
y = c + m * x

# Ploting Line
plt.plot(x, y, color='#52b920', label='Regression Line')
# Ploting Scatter Points
plt.scatter(X, Y, c='#ef4423', label='Scatter Plot')

plt.xlabel('Head Size in cm3')
plt.ylabel('Brain Weight in grams')
plt.legend()
plt.show()

Шаг 4: Чтобы получить соответствие, мы собираемся использовать метод R-Square.

#ss_t is the total sum of squares and ss_r is the total sum of squares of residuals(relate them to the formula).
ss_t = 0
ss_r = 0
for i in range(m):
y_pred = c + m * X[i]
ss_t += (Y[i] - mean_y) ** 2
ss_r += (Y[i] - y_pred) ** 2
r2 = 1 - (ss_r/ss_t)
print(r2)

Внедрение линейной регрессии с использованием обучения scikit

from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error

# Cannot use Rank 1 matrix in scikit learn
X = X.reshape((m, 1))
# Creating Model
reg = LinearRegression()
# Fitting training data
reg = reg.fit(X, Y)
# Y Prediction
Y_pred = reg.predict(X)

# Calculating R2 Score
r2_score = reg.score(X, Y)

print(r2_score)

Этот код будет работать с любым образцом данных, например, давайте запустим его на образце данных для прогнозирования заработной платы (зависимая переменная) на основе многолетнего опыта (независимая переменная) [нажмите здесь для источника данных]

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

График соответствия линии:

Доверительный интервал для среднего значения зависимой переменной.
Это интервал для линии уравнения, истинное значение уравнения будет в этом интервале. Если бы мы знали истинное уравнение, то ширина этого интервала была бы равна нулю. Если бы вы рассчитали доверительный интервал для бесконечного числа регрессий с одинаковым размером выборки, 95% (уровень достоверности) рассчитанных доверительных интервалов будут содержать истинное значение среднего.

Интервал прогнозирования для конкретного наблюдения зависимой переменной. Это интервал для любого одиночного значения. Интервал прогнозирования учитывает тот факт, что вы не знаете истинного уравнения, и тот факт, что линейная регрессия объяснила только часть дисперсии (эта часть равна R-квадрату). Кривая для этого интервала прогнозирования приведена ниже:

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

Отношение R-квадрата (коэффициент корреляции): 0,956

Значение β0 = 24848,204 ……..(1)

Значение β1 = 9449,9623 ………(2)

Из (1) и (2) уравнение линейной регрессии можно представить в виде:

Вывод :

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

  • R линейная регрессия
  • Линейная регрессия MATLAB
  • Линейная регрессия Склеарна
  • Линейная регрессия Python
  • Линейная регрессия Excel

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

Это был мой 5-й из 30-дневных квантовых испытаний от QuantumComputingIndia.

#квантум30