Линейната регресия е прост и широко използван статистически метод за прогнозиране на числена стойност въз основа на набор от входни характеристики. Това е популярен алгоритъм, използван в машинното обучение и статистическото моделиране и често е първият алгоритъм, научен от начинаещи.
В тази статия ще изследваме математическите основи на линейната регресия, включително нейните основни уравнения и предположения.
Линейна регресия
Линейната регресия е метод, използван за намиране на линейната връзка между зависима променлива и една или повече независими променливи. При простата линейна регресия има само една независима променлива, докато при множествената линейна регресия има две или повече независими променливи. Целта на линейната регресия е да се намери най-подходящата линия чрез набор от точки от данни, който минимизира разстоянието между линията и данните.
Уравнението за проста линейна регресия е както следва:
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
е членът на грешката.
Предположения на линейната регресия
Има няколко допускания, които трябва да бъдат изпълнени, за да бъде валидна линейната регресия. Тези предположения включват:
- Линейност: Връзката между зависимата променлива и независимата променлива(и) е линейна. Това означава, че когато стойността на независимата променлива(и) се променя, стойността на зависимата променлива се променя по права линия.
- Независимост: Наблюденията в набора от данни са независими едно от друго. Това означава, че стойността на едно наблюдение не влияе върху стойността на друго наблюдение.
- Хомоскедастичност: Дисперсията на члена на грешката е постоянна за всички стойности на независимата променлива(и). Това означава, че грешките са равномерно разпределени около линията на регресия.
- Нормалност: Членът на грешката е нормално разпределен. Това означава, че грешките следват нормално разпределение със средна стойност 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
е терминът за грешка.
Предположения на линейната регресия
Има няколко допускания, които трябва да бъдат изпълнени, за да бъде валидна линейната регресия. Тези предположения включват:
- Линейност: Връзката между зависимата променлива и независимата променлива(и) е линейна. Това означава, че когато стойността на независимата променлива(и) се променя, стойността на зависимата променлива се променя по права линия.
- Независимост: Наблюденията в набора от данни са независими едно от друго. Това означава, че стойността на едно наблюдение не влияе върху стойността на друго наблюдение.
- Хомоскедастичност: Дисперсията на члена на грешката е постоянна за всички стойности на независимата променлива(и). Това означава, че грешките са равномерно разпределени около линията на регресия.
- Нормалност: Членът на грешката е нормално разпределен. Това означава, че грешките следват нормално разпределение със средна стойност 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̄
е средната стойност на 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)