Статья Автор: Деникина Н.В., Деникин А.В.

Ищем лучшие k и b. Метод 2: математика!

Математики нашли точную формулу для вычисления k и b! Не нужно ничего перебирать.

Формулы вычисления k и b:
 

\(k = \frac{\text{сумма}((x - \text{среднее_x}) \cdot (y - \text{среднее_y})}{\text{сумма}((x-\text{среднее_x})^2)}\)
 

  • Числитель: показывает, как вместе изменяются X и Y
    • Если когда X больше среднего, Y тоже больше среднего → произведение положительное
    • Если когда X больше среднего, Y меньше среднего → произведение отрицательное
  • Знаменатель: просто масштабирует результат

Проще говоря: k показывает, насколько сильно Y реагирует на изменения X.

 

\(b = \text{среднее_y} - k \cdot \text{среднее_x}\)

  • Это гарантирует, что наша линия пройдет через "центр тяжести" данных — точку (среднее_x, среднее_y)
  • Линия как бы "закрепляется" в центре всех данных

 

Алгоритм нахождения коэффициентов линейной регрессии:


ВХОД: массивы X и y (одинаковой длины)
ВЫХОД: коэффициенты k и b

ШАГ 1: Найти средние значения

   среднее_x = сумма всех x / количество
   среднее_y = сумма всех y / количество
 

ШАГ 2: Вычислить отклонения от среднего

   Для каждой точки i:
      отклонение_x[i] = x[i] - среднее_x
      отклонение_y[i] = y[i] - среднее_y
 

ШАГ 3: Вычислить числитель для k

   числитель = 0
   Для каждой точки i:
      числитель = числитель + (отклонение_x[i] × отклонение_y[i])
 

ШАГ 4: Вычислить знаменатель для k

   знаменатель = 0
   Для каждой точки i:
      знаменатель = знаменатель + (отклонение_x[i])²
 

ШАГ 5: Найти k

   k = числитель / знаменатель
 

ШАГ 6: Найти b

   b = среднее_y - k × среднее_x
 

ШАГ 7: Вернуть k и b
Печать