Алгоритм лінійної регресії
Щоб по-справжньому зрозуміти лінійну регресію, корисно знати, як працює алгоритм. Код функції ols() містить сотні рядків, адже він має працювати з будь-якою формулою та з будь-яким набором даних. Проте для простої лінійної регресії на одному наборі даних ви можете реалізувати алгоритм лише кількома рядками коду.
Послідовність дій така:
- Спочатку напишіть функцію для обчислення суми квадратів, використовуючи таку загальну структуру:
def function_name(args):
# some calculations with the args
return outcome
- Далі скористайтеся функцією мінімізації з
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]))