НачатьНачать бесплатно

Алгоритм линейной регрессии

Чтобы по-настоящему понять линейную регрессию, полезно разобраться в том, как работает её алгоритм. Код функции ols() занимает сотни строк, поскольку она должна работать с любой формулой и любым набором данных. Однако в случае простой линейной регрессии для конкретного набора данных алгоритм можно реализовать всего в нескольких строках кода.

Порядок действий:

  • Сначала напишите функцию для вычисления суммы квадратов, используя следующий синтаксис:
def function_name(args):
  # some calculations with the args
  return outcome
  • Затем с помощью функции minimize() из библиотеки scipy найдите коэффициенты, при которых эта функция принимает минимальное значение.

Значения объясняющей переменной (столбец n_convenience набора данных taiwan_real_estate) доступны как x_actual. Значения целевой переменной (столбец price_twd_msq набора данных taiwan_real_estate) доступны как y_actual.

Функция minimize() уже загружена.

Это упражнение является частью курса

Промежуточная регрессия со statsmodels в Python

Посмотреть курс

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Complete the function
def calc_sum_of_squares(coeffs):
    # Unpack coeffs
    ____, ____ = ____
    # Calculate predicted y-values
    y_pred = ____ + ____ * ____
    # Calculate differences between y_pred and y_actual
    y_diff = ____ - ____
    # Calculate sum of squares
    sum_sq = ____
    # Return sum of squares
    return sum_sq
  
# Test the function with intercept 10 and slope 1
print(calc_sum_of_squares([10, 1]))
Редактировать и запускать код