import statistics # Новое в версии 3.10. statistics.linear_regression(x, y, /)
x
- независимая переменная, последовательность.y
- зависимая переменная, последовательность.Функция linear_regression()
модуля statistics
возвращает наклон и точку пересечения аргументов простой линейной регрессии, оцененные с помощью обычного метода наименьших квадратов.
Простая линейная регрессия описывает отношения между независимой переменной x
и зависимой переменной y
в терминах этой линейной функции:
y = slope * x + intercept + noise
где наклон slope
и пересечение intercept
- это оцениваемые параметры регрессии, а шум noise
представляет изменчивость данных, которая не была объяснена линейной регрессией (она равна разнице между прогнозируемыми и фактическими значениями зависимой переменной).
Оба входных сигнала должны быть одинаковой длины (не менее двух), а независимая переменная x
не может быть постоянной, в противном случае возникает ошибка StatisticsError
.
Новое в версии 3.10.
statistics.linear_regression()
:Например, можно использовать даты выхода фильмов, чтобы предсказать совокупное количество фильмов, которые были бы выпущены к 2019 году, при условии, что они сохраняли темп.
>>> year = [1971, 1975, 1979, 1982, 1983] >>> films_total = [1, 2, 3, 4, 5] >>> slope, intercept = linear_regression(year, films_total) >>> round(slope * 2019 + intercept) # 16