Линейната регресия е прост и широко използван статистически метод за прогнозиране на числена стойност въз основа на набор от входни характеристики. Това е популярен алгоритъм, използван в машинното обучение и статистическото моделиране и често е първият алгоритъм, научен от начинаещи.

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

Линейна регресия

Линейната регресия е метод, използван за намиране на линейната връзка между зависима променлива и една или повече независими променливи. При простата линейна регресия има само една независима променлива, докато при множествената линейна регресия има две или повече независими променливи. Целта на линейната регресия е да се намери най-подходящата линия чрез набор от точки от данни, който минимизира разстоянието между линията и данните.

Уравнението за проста линейна регресия е както следва:

y = b0 + b1 * x + e

където y е зависимата променлива, x е независимата променлива, b0 е пресечната точка, b1 е наклонът, а e е членът на грешката. Членът на грешката представлява разликата между действителната стойност на y и предвидената стойност въз основа на линията на регресия.

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

y = b0 + b1 * x1 + b2 * x2 + … + bn * xn + e

където y е зависимата променлива, x1, x2, ..., xn са независимите променливи, b0 е пресечната точка, b1, b2, ..., bn са наклоните и e е членът на грешката.

Предположения на линейната регресия

Има няколко допускания, които трябва да бъдат изпълнени, за да бъде валидна линейната регресия. Тези предположения включват:

  1. Линейност: Връзката между зависимата променлива и независимата променлива(и) е линейна. Това означава, че когато стойността на независимата променлива(и) се променя, стойността на зависимата променлива се променя по права линия.
  2. Независимост: Наблюденията в набора от данни са независими едно от друго. Това означава, че стойността на едно наблюдение не влияе върху стойността на друго наблюдение.
  3. Хомоскедастичност: Дисперсията на члена на грешката е постоянна за всички стойности на независимата променлива(и). Това означава, че грешките са равномерно разпределени около линията на регресия.
  4. Нормалност: Членът на грешката е нормално разпределен. Това означава, че грешките следват нормално разпределение със средна стойност 0 и постоянна дисперсия.

Намиране на най-доброто прилягане

Целта на линейната регресия е да се намери линията, която най-добре отговаря на данните. Това се прави чрез минимизиране на сумата от квадратите на грешките между прогнозираните и действителните стойности. Това е известно като остатъчна сума на квадрати (RSS).

RSS се изчислява, както следва:

RSS = Σ(y — ŷ)²

Линейната регресия е прост и широко използван статистически метод за прогнозиране на числена стойност въз основа на набор от входни характеристики. Това е популярен алгоритъм, използван в машинното обучение и статистическото моделиране и често е първият алгоритъм, научен от начинаещи.

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

Линейна регресия

Линейната регресия е метод, използван за намиране на линейната връзка между зависима променлива и една или повече независими променливи. При простата линейна регресия има само една независима променлива, докато при множествената линейна регресия има две или повече независими променливи. Целта на линейната регресия е да се намери най-подходящата линия чрез набор от точки от данни, който минимизира разстоянието между линията и данните.

Уравнението за проста линейна регресия е както следва:

y = b0 + b1 * x + e

където y е зависимата променлива, x е независимата променлива, b0 е пресечната точка, b1 е наклонът, а e е членът на грешката. Членът на грешката представлява разликата между действителната стойност на y и предвидената стойност въз основа на регресионната линия.

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

y = b0 + b1 * x1 + b2 * x2 + … + bn * xn + e

където y е зависимата променлива, x1, x2, ..., xn са независимите променливи, b0 е пресечната точка, b1, b2, ..., bn са наклоните и e е терминът за грешка.

Предположения на линейната регресия

Има няколко допускания, които трябва да бъдат изпълнени, за да бъде валидна линейната регресия. Тези предположения включват:

  1. Линейност: Връзката между зависимата променлива и независимата променлива(и) е линейна. Това означава, че когато стойността на независимата променлива(и) се променя, стойността на зависимата променлива се променя по права линия.
  2. Независимост: Наблюденията в набора от данни са независими едно от друго. Това означава, че стойността на едно наблюдение не влияе върху стойността на друго наблюдение.
  3. Хомоскедастичност: Дисперсията на члена на грешката е постоянна за всички стойности на независимата променлива(и). Това означава, че грешките са равномерно разпределени около линията на регресия.
  4. Нормалност: Членът на грешката е нормално разпределен. Това означава, че грешките следват нормално разпределение със средна стойност 0 и постоянна дисперсия.

Намиране на най-доброто прилягане

Целта на линейната регресия е да се намери линията, която най-добре отговаря на данните. Това се прави чрез минимизиране на сумата от квадратите на грешките между прогнозираните и действителните стойности. Това е известно като остатъчна сума на квадрати (RSS).

RSS се изчислява, както следва:

RSS = Σ(y — ŷ)²

където y е действителната стойност, ŷ е предвидената стойност, а Σ е сумата от всички точки от данни.

За да намерим най-доброто прилягане, трябва да намерим стойностите на b0 и b1 (или b0, b1, ..., bn за множествена линейна регресия), които минимизират RSS. Това се прави с помощта на метод, наречен обикновени най-малки квадрати (OLS).

Обикновени най-малки квадрати

OLS е метод за оценка на стойностите на b0 и b1 (или b0, b1, ..., bn за множествена линейна регресия), които минимизират RSS. Това се прави, като се вземе частичната производна на RSS по отношение на b0 и b1 (или b0, `b1…,bn`) и се зададе на 0. Получените уравнения след това се решават, за да се намерят стойностите на коефициентите, които минимизират RSS .

За проста линейна регресия уравненията са както следва:

b1 = Σ((x — x̄)(y — ȳ)) / Σ(x — x̄)²

b0 = ȳ — b1 * x̄

където е средната стойност на x, ȳ е средната стойност на y, а Σ е сумата от всички точки от данни.

За множествената линейна регресия уравненията са както следва:

B = (X^T X)^-1 X^T Y

където B е вектор на коефициентите (b0, b1, ..., bn), X е матрицата на независимите променливи, а Y е вектор на зависимата променлива.

След като имаме стойностите на коефициентите, можем да използваме регресионното уравнение, за да предвидим стойността на зависимата променлива въз основа на стойностите на независимата променлива(и).

Заключение

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

Примерен код за справка

import csv

# Load data from CSV file
with open('data.csv') as f:
    reader = csv.reader(f)
    next(reader)  # skip header row
    data = [(float(row[0]), float(row[1])) for row in reader]

# Compute the means of x and y
mean_x = sum(d[0] for d in data) / len(data)
mean_y = sum(d[1] for d in data) / len(data)

# Compute the numerator and denominator of the slope
numerator = sum((d[0] - mean_x) * (d[1] - mean_y) for d in data)
denominator = sum((d[0] - mean_x)**2 for d in data)

# Compute the slope and intercept of the regression line
slope = numerator / denominator
intercept = mean_y - slope * mean_x

# Print the slope and intercept
print('Slope:', slope)
print('Intercept:', intercept)

# Make predictions for new inputs
x_new = [3, 4, 5]
y_new = [slope * x + intercept for x in x_new]
print('Predictions:', y_new)