Введение в простую линейную регрессию с примерами
Регрессионный анализ — это статистический инструмент, который используется для установления взаимосвязей между двумя или более переменными. Он используется для прогнозирования будущих результатов на основе прошлых данных. В этой статье мы сосредоточимся на простой линейной регрессии, которая включает одну независимую переменную и одну зависимую переменную. Мы рассмотрим основное введение, цели простой линейной регрессии, что такое коэффициент корреляции, примеры, переменные, уравнение простой линейной регрессии и пример линии регрессии.
Простая линейная регрессия — это статистический метод, который используется для изучения взаимосвязи между двумя переменными, где одна переменная является независимой, а другая — зависимой. Цель простой линейной регрессии — установить линейную связь между этими двумя переменными.
Цель простой линейной регрессии
Цель простой линейной регрессии состоит в том, чтобы найти линию наилучшего соответствия, которая представляет линейную связь между независимой переменной и зависимой переменной. Затем эту линию наилучшего соответствия можно использовать для прогнозирования зависимой переменной для заданного значения независимой переменной.
Что такое коэффициент корреляции?
Коэффициент корреляции — это статистическая мера, которая показывает степень связи между двумя переменными. Он находится в диапазоне от -1 до +1, где -1 указывает на полную отрицательную корреляцию, +1 указывает на полную положительную корреляцию, а 0 указывает на отсутствие корреляции. Коэффициент корреляции можно рассчитать по следующей формуле:
r = (nΣxy — ΣxΣy) / sqrt((nΣx2 — (Σx)2)(nΣy2 — (Σy)2))
где:
- n - количество точек данных
- Σxy представляет собой сумму произведений соответствующих значений x и y
- Σx и Σy — суммы значений x и y
- Σx2 и Σy2 — суммы квадратов значений x и y
Пример
Предположим, мы хотим исследовать взаимосвязь между количеством часов обучения и оценкой, полученной на тесте. Мы собираем данные от 10 студентов и получаем следующие результаты:
Количество часов обучения (x) Оценка (y) 2 50 3 60 4 70 5 80 6 90 7 100 8 110 9 120 10 130 11 140
Используя формулу для коэффициента корреляции, получаем:
r = (10(1650) – (55)(770)) / sqrt((10(385) – (55)2)(10(12155) – (770)2)) r = 0,9974
Поскольку коэффициент корреляции близок к +1, можно сделать вывод, что существует сильная положительная корреляция между количеством часов обучения и оценкой, полученной в тесте.
Что такое переменные?
В простой линейной регрессии есть два типа переменных: независимая переменная и зависимая переменная. Независимая переменная — это переменная, которая используется для прогнозирования значения зависимой переменной. Зависимая переменная — это прогнозируемая переменная.
Уравнение простой линейной регрессии
Уравнение простой линейной регрессии имеет вид:
y = mx + c
где:
- y - зависимая переменная
- х независимая переменная
- m - наклон линии наилучшего соответствия
- c - y-пересечение линии наилучшего соответствия
Наклон линии наилучшего соответствия можно рассчитать по следующей формуле:
m = (nΣxy — ΣxΣy) / (nΣx2 — (Σx)2)
Y-пересечение линии наилучшего соответствия можно рассчитать по следующей формуле:
c = (Σy — mΣx) /n
где:
- n - количество точек данных
- Σxy представляет собой сумму произведений соответствующих значений x и y
- Σx и Σy — суммы значений x и y
- Σx² и Σy² представляют собой суммы квадратов значений x и y.
Пример линии регрессии
Пример реальной линии регрессии можно увидеть в прогнозировании цен на жилье на основе размера дома. Предположим, агент по недвижимости хочет предсказать цену дома на основе его размера. Они собирают данные по 10 домам и получают следующие результаты:
Размер дома (квадратные футы) Цена (INR) 1000 10 00 000 1 200 12 00 000 1 400 14 00 000 1 600 16 00 000 1 800 18 00 000 2 000 20 00 000 2 200 22 00 000 240 0 24 00 000 2 600 26 00 000 2 800 28 00 000
Используя простую линейную регрессию, мы можем найти уравнение линии регрессии, которое лучше всего соответствует этим данным. Сначала мы вычисляем наклон линии наилучшего соответствия по формуле:
m = (nΣxy — ΣxΣy) / (nΣx² — (Σx)²)
где:
- n — количество точек данных (в данном случае n=10)
- Σxy представляет собой сумму произведений соответствующих значений x и y
- Σx и Σy — суммы значений x и y
- Σx² представляет собой сумму квадратов значений x
Подставив значения из таблицы, получим:
m = (10(66,30,00,000) — (2,10,00,000)(2,10,000)) / (10(1,36,00,000) — (2,10,000)²) m ≈ 1740.46
Далее мы можем рассчитать точку пересечения оси Y линии наилучшего соответствия по формуле:
c = (Σy — mΣx) / n
Подставив значения из таблицы, получим:
c = (16,00,000 — (1740.46)(1400)) / 10 c ≈ 10,73,977.39
Следовательно, уравнение линии регрессии, которое лучше всего соответствует этим данным, имеет вид:
Цена = 1740,46(размер) + 10,73,977,39
Это уравнение можно использовать для прогнозирования цены дома в зависимости от его размера. Например, если дом имеет размер 1500 квадратных футов, мы можем предсказать его цену как:
Цена = 1740,46(1500) + 10 73 977,39 Цена ≈ 25 60 000 индийских рупий
Этот код отобразит точечную диаграмму точек данных и линию регрессии, а также распечатает прогнозируемую цену дома площадью 1500 квадратных футов на основе уравнения линии регрессии.
import matplotlib.pyplot as plt import numpy as np # define the dataset house_size = [1000, 1200, 1400, 1600, 1800, 2000, 2200, 2400, 2600, 2800] price = [1000000, 1200000, 1400000, 1600000, 1800000, 2000000, 2200000, 2400000, 2600000, 2800000] # calculate the regression line equation n = len(house_size) x = np.array(house_size) y = np.array(price) xy = x * y x_squared = x ** 2 m = (n * np.sum(xy) - np.sum(x) * np.sum(y)) / (n * np.sum(x_squared) - np.sum(x) ** 2) c = (np.sum(y) - m * np.sum(x)) / n # plot the data and regression line plt.scatter(house_size, price) plt.plot(house_size, m * x + c, color='red') plt.xlabel('House size (square feet)') plt.ylabel('Price (INR)') plt.title('Regression line of house prices based on size') plt.show() # make a prediction using the regression line equation house_size_pred = 1500 price_pred = m * house_size_pred + c print(f'Predicted price of a {house_size_pred}-sqft house: {price_pred:.2f} INR')
Вывод
Спасибо
☎️Если у вас проблемы с машинным обучением, глубоким обучением, НЛП, визуализацией данных, компьютерным зрением, распознаванием лиц, Python, большими данными или проектами Django, CodersArts может помочь! Они предлагают экспертную помощь в назначении и услуги по обучению в этих областях, и вы можете найти дополнительную информацию по ссылкам ниже:
- ✅Машинное обучение: https://www.codersarts.com/machine-learning-assignment-help
- ✅Глубокое обучение: https://www.codersarts.com/deep-learning-assignment-help
- ✅НЛП: https://www.codersarts.com/nlp-assignment-help
- ✅Визуализация данных: https://www.codersarts.com/data-visualization-assignment-help
- ✅Компьютерное зрение: https://www.codersarts.com/computer-vision-assignment-help
- ✅Распознавание лиц: https://www.codersarts.com/face-recognition-project-help
- ✅Питон: https://www.codersarts.com/python-assignment-help
- ✅Большие данные: https://www.codersarts.com/big-data-assignment-help
- ✅Джанго: https://www.codersarts.com/django-assignment-help
Не забудьте подписаться на CodersArts в их социальных сетях, чтобы быть в курсе последних тенденций и советов в этой области:
- ✅Инстаграм: https://www.instagram.com/codersarts/?hl=ru
- ✅Facebook: https://www.facebook.com/codersarts2017
- ✅YouTube: https://www.youtube.com/channel/UC1nrlkYcj3hI8XnQgz8aK_g
- ✅LinkedIn: https://in.linkedin.com/company/codersarts
- ✅Среда: https://codersarts.medium.com
- ✅Гитхаб: https://github.com/CodersArts
Вы также можете посетить их основной веб-сайт или учебный портал, чтобы узнать больше. И если вам нужны дополнительные ресурсы и обсуждения, не пропустите их блог и форум:
- ✅Основной сайт: https://www.codersarts.com/
- ✅Обучение Codersarts: https://www.training.codersarts.com/
- ✅Блог Codersarts: https://www.codersarts.com/blog
- ✅Форум Codersarts: https://www.codersarts.com/forum
С CodersArts вы сможете вывести свои проекты на новый уровень!
Если вам нужна помощь с какими-либо проектами по машинному обучению, свяжитесь с нами по адресу 📧 [email protected].