Tuesday, May 31, 2022

Scatterplot with regression line in Matplotlib

Линейная регрессия является основным и широко используемым типом прогнозного анализа. Общая идея регрессии состоит в том, чтобы исследовать две вещи: (1) хорошо ли набор предикторных переменных предсказывает результирующую (зависимую) переменную? (2) Какие переменные, в частности, являются значимыми предикторами переменной результата и каким образом они — на что указывают величина и знак оценок бета — влияют на переменную результата? Эти регрессионные оценки используются для объяснения взаимосвязи между одной зависимой переменной и одной или несколькими независимыми переменными. Простейшая форма уравнения регрессии с одной зависимой и одной независимой переменной определяется формулой y = c + b*x, где y = оценочная оценка зависимой переменной, c = константа, b = коэффициент регрессии и x = оценка на независимая переменная. 

Standard sample of plotting Linear Regression

(.env) boris@boris-All-Series:~/LREGRESSION$ cat sampleLREGR.py

import matplotlib.pyplot as plt

import numpy as np

rng = np.random.default_rng(1234)

# Generate data

x = rng.uniform(0, 10, size=100)

y = x + rng.normal(size=100)

# Initialize layout

fig, ax = plt.subplots(figsize = (9, 9))

# Add scatterplot

ax.scatter(x, y, s=60, alpha=0.7, edgecolors="k")

# Fit linear regression via least squares with numpy.polyfit

# It returns an slope (b) and intercept (a)

# deg=1 means linear fit (i.e. polynomial of degree 1)

b, a = np.polyfit(x, y, deg=1)


# Create sequence of 100 numbers from 0 to 100 

xseq = np.linspace(0, 10, num=100)

# Plot regression line

ax.plot(xseq, a + b * xseq, color="k", lw=2.5);

plt.show()


































No comments:

Post a Comment