手把手教你用一个py案例(statsmodels)教你学会线性回归!

目录

 一、准备阶段

1.打开控制台输入下列命令:

导入pandas库

导入statsmodels

二、分析案例

1.在建立回归方程前首先导入库

2.从一维到多维线性回归

(1)一维线性回归例子解析

1.问题:

2.解答代码:

​编辑

代码汇总:

代码逐步分析:

代码结果:

1.问题:

2.解答代码:

代码汇总:

代码逐步分析:

代码结果:

三、总结:


 一、准备阶段

1.打开控制台输入下列命令:

导入pandas库

pip install pandas

导入statsmodels

pip install statsmodels

statsmodels是python中专门用于统计学分析的包,它能够帮我们在模型未知的情况下来检验模型的线性显著性

二、分析案例

1.在建立回归方程前首先导入库

import statsmodels.api as sm
import pandas as pd

导入pandas库并且取别名为pd

导入statsmodels库的api接口并且取别名为sm

2.从一维到多维线性回归

(1)一维线性回归例子解析

1.问题:

 分析这个文档中广告投入对销售额的线性影响

 注:这个图片来自于'data.csv'

2.解答代码:

代码汇总:
data = pd.read_csv('./data.csv')# #当前目录中存在名为“多元线性回归.csv”的CSV文件
x=data[['广告投入']]#自变量
y=data[['销售额']]#因变量
X=sm.add_constant(x)#添加常数列,即截距项
#最小二乘法
model=sm.OLS(y,X)#创建线性回归模型
result=model.fit()#拟合模型
print(result.summary())#查看回归结果
代码逐步分析:

1.数据是使用熊猫库中的函数从名为“data.csv”的CSV文件中读取的。

data = pd.read_csv('./data.csv')# #当前目录中存在名为“多元线性回归.csv”的CSV文件

2.自变量(预测变量)被选为“广告投入”(广告支出),因变量(响应变量)被选为“销售额”(销售额)。这些变量分别分配给 和 变量。

x=data[['广告投入']]#自变量
y=data[['销售额']]#因变量

3.通过使用 中的函数向变量添加常量项来创建变量。添加常量项允许模型估计截距项。

注:添加截距项是为了便计算相当于添加的x0,可以为把公式(1)看成:

y=\beta 0*x0+\beta 1*x1+\varepsilon

X=sm.add_constant(x)#添加常数列,即截距项

4.该函数用于创建普通最小二乘 (OLS) 模型对象。此函数将因变量 () 和自变量 () 作为参数。

model=sm.OLS(y,X)#创建线性回归模型

5.调用该方法以将 OLS 模型拟合到数据。它返回一个对象,其中包含有关拟合模型的各种信息,例如系数、标准误差、t 统计量等。

result=model.fit()#拟合模型

6.使用该函数打印模型结果的汇总,该函数提供回归模型的详细分析,包括系数估计值、p 值、R 平方值和其他诊断测量值。

print(result.summary())#查看回归结果
代码结果:

(2)二维线性回归例子解析

1.问题:

分析体重和年龄与血压收缩的线性关系

注:图片截自’多元线性回归.csv‘

2.解答代码:

代码汇总:
#当前目录中存在名为“多元线性回归.csv”的CSV文件,并且数据以“gbk”格式编码
data=pd.read_csv('./多元线性回归.csv',encoding='gbk')
x=data[['体重','年龄']]#自变量
y=data['血压收缩']#因变量
X=sm.add_constant(x)#添加常数列,即截距项
model=sm.OLS(y,X)#创建线性回归模型
result=model.fit()#拟合模型
params=result.params#系数矩阵
print(result.summary())#查看回归结果
代码逐步分析:


1.数据是使用熊猫库中的函数从名为“多元线性回归.csv”的CSV文件中读取的。

data=pd.read_csv('./多元线性回归.csv',encoding='gbk')


2.自变量(预测因子)被选为“体重”和“年龄”,因变量(响应变量)被选为“血压收缩”(收缩压)。这些变量分别分配给 和 变量。

x=data[['体重','年龄']]#自变量
y=data['血压收缩']#因变量


3.通过使用 中的函数向变量添加常量项来创建变量。添加常量项允许模型估计截距项。

X=sm.add_constant(x)#添加常数列,即截距项


4.该函数用于创建普通最小二乘 (OLS) 模型对象。此函数将因变量 () 和自变量 () 作为参数。

model=sm.OLS(y,X)#创建线性回归模型

注:最小二乘法求解:


5.调用该方法以将 OLS 模型拟合到数据。它返回一个对象,其中包含有关拟合模型的各种信息,例如系数、标准误差、t 统计量等。

result=model.fit()#拟合模型


6.估计的模型参数(系数)存储在变量中。模型结果的摘要使用该函数打印,该函数提供回归模型的详细分析,包括系数估计值、p 值、R 平方值和其他诊断测量值。

params=result.params#系数矩阵
print(result.summary())#查看回归结果


7.请注意,当前目录中存在名为“多元线性回归.csv”的CSV文件,并且数据以“gbk”格式编码。如有必要,请确保针对您的特定用例调整文件路径和编码。

代码结果:

三、总结:

先读取-->再找自变量和因变量-->添加截距-->用最小二乘法求解-->拟合模型-->查看回归结果

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值