回归分析:一元线性回归模型 白话解析与案例实现

线性学习

回归分析是研究自变量x与因变量y的关系的方法。
生活中经常会有类似的关系,例如工龄与工资的关系、房屋面积与价格的关系等等。

一元线性回归模型

只是涉及一个自变量的关系,可以用一元线性方程来表示:

y = a x + b y=ax+b y =a x +b

从统计的角度来观察,生活实际案例中的样本点存在随机扰动ϵ \epsilon ϵ,所以会有一定的偏差。因此一元线性回归模型可以表示为:

y = β 1 x + β 0 + ϵ y=\beta1x+\beta0 +\epsilon y =β1 x +β0 +ϵ

此时,β 1 、 β 2 \beta1、\beta2 β1 、β2都是未知的,随机扰动项ϵ \epsilon ϵ也是未知的。

我们想要用统计学方法估计出真实的、不可观测的一元线性回归模型,利用样本数据估计出β 1 , β 0 \beta1,\beta0 β1 ,β0 ,将它们的估计值记为β ^ 1 , β ^ 0 \hat{\beta}1,\hat{\beta}0 β^​1 ,β^​0 ,由此得出的相应的y的估计值为$ \hat{y}$,用经验回归方程表示:

$ \hat{y}=\hat{\beta}1 x+\hat{\beta}0 $

以下列散点图为例,我们先找到一个线性回归方程,尽可能更好的去拟合这些样本点,即:尽可能找到误差最小的方程去表示这个一元线性回归模型。 这个过程我们可以使用最小二乘估计,也可以使用极大似然估计等。

回归分析:一元线性回归模型 白话解析与案例实现

; 一元线性回归模型python的实现过程

我们以方程y=0.1x+0.5为依据,加入噪声,生成了100个随机样本,经过估计得到一元线性回归模型参数如下

  • 归方程的斜率为: [[0.09154158]]
  • 回归方程的截距为: [0.5006561]
  • 回归方程为:y = [[0.09154158]] *x + ( [0.5006561] )
import numpy as np
import pandas as pd
import  matplotlib.pyplot as plt

np.random.seed(1)
count=100
data=[]
for i in range(count):
    x1=np.random.normal(0.00,0.55)
    y1=x1*0.1+0.5+np.random.normal(0.00,0.03)
    data.append([x1,y1])

data =pd.DataFrame(data)

x_data=np.array(data[0])
y_data=np.array(data[1])

plt.scatter(x_data,y_data,c='r')
plt.show()

from sklearn.linear_model import LinearRegression
regr = LinearRegression()

x_data=x_data.reshape(-1,1)
y_data=y_data.reshape(-1,1)

regr.fit(x_data,y_data)

plt.scatter(x_data,y_data,c='r')
plt.plot(x_data,regr.predict(x_data),color='black')
plt.show()

回归分析:一元线性回归模型 白话解析与案例实现

Original: https://blog.csdn.net/zzh1464501547/article/details/126735045
Author: 人工智能学术前沿(真)
Title: 回归分析:一元线性回归模型 白话解析与案例实现

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/629642/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球