Python Glossary English

Python 3.10+statisticsфункция

statistics.linear_regression

связь

Линейная регрессия: наклон и точка пересечения (slope, intercept) методом наименьших квадратов (Python 3.10+).

Синтаксис

statistics.linear_regression(x, y)

Подгонка несимметрична: x считается независимой переменной, y — зависимой, и от перестановки аргументов прямая получается другая. О том, насколько хорошо линия описывает данные, функция не говорит ничего — силу связи оценивает statistics.correlation. Точек нужно минимум две, и значения x не должны быть все одинаковыми, иначе StatisticsError.

Примеры

# Python 3.11+
import statistics
r = statistics.linear_regression([1, 2, 3], [2, 4, 6])
print(round(r.slope, 1), round(r.intercept, 1))   # → 2.0 0.0
slope, intercept = statistics.linear_regression([1, 2, 3, 4], [3, 5, 6, 9])
print(round(slope, 2), round(intercept, 2))   # → 1.9 1.0
print(round(slope * 5 + intercept, 2))   # → 10.5
print(round(statistics.linear_regression([1, 2], [3, 5], proportional=True).slope, 2))   # → 2.6
print(statistics.linear_regression([1, 1, 1], [2, 4, 6]))   # → StatisticsError

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности