基于Python多元线性回归模型

这篇具有很好参考价值的文章主要介绍了基于Python多元线性回归模型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提示:基于Python的多元线性回归模型

文章目录

前言

一、读取数据

二、建立模型

 三、预测新值

 四、去截距模型

总结

前言

本文主要是基于多元回归线性模型,然后建立模型和分析,解决多元线性回归模型存在的问题和优化多元线性回归模型,原理就不多讲了,可查看《应用回归分析》这本书,本文直接从例子讲解和分析,代码则是基于Python。

一、读取数据

首先是读取数据,观察数据是否有缺失和异常值,没有就可以直接进行建模,数据如下所示:

python多元线性回归模型,回归系列,python,pandas

 代码如下:

import pandas as pd
# Load data
#第一种方式,这种方式是你的文件夹有中文名的打开方式
f = open('文件路径', encoding='gbk')
df = pd.read_csv(f)
f.close()
print(df) #查看数据

#第二种方式是数据在全英的文件夹中的打开方式
df = pd.read_csv("文件路径")

print(df)

二、建立模型

接着建立多元回归分析模型,打印出模型的结果如下:

python多元线性回归模型,回归系列,python,pandas

 这个表格如何看呢?首先我们只要看我圈住的这三个地方就可以了,其他的主要用到的就是coef这列数据,这些数据是常数项和自变量的系数值。首先看第①个地方,这是模型的拟合效果,也就是R方的值;接着看第②个地方,这是整个模型的F检验;最后看第③个地方,这是每个对应值的T检验。从这三个地方去判断模型是否需要优化,可见在第三个地方中,有变量的T检验没通过,所以该模型还有待优化。

原理部分可以参考我的这篇文章,原理是一样的,只是变成了多个因变量 一元线性回归模型(保姆级)_数据小师弟的博客-CSDN博客_一元线性回归模型https://blog.csdn.net/DL11007/article/details/126982286

代码如下:

import statsmodels.formula.api as smf
result = smf.ols('y~x1+x2+x3',data=df).fit() 

print(result.params)   # 自变量系数和常数项结果
print(result.summary())    # 模型拟合的结果:检验,R方等
print(result.pvalues)   # 每个参数的P值

 三、预测新值

接下来就可以预测数据了,结果如下:

python多元线性回归模型,回归系列,python,pandas

①是预测出来的新值,②是预测值的的区间区间估计。

代码如下:

#单值
predictvalues = result.predict(pd.DataFrame({'x1': [75],'x2': [42],'x3':[1.6]}))
print(predictvalues)

#区间
predictions = result.get_prediction(pd.DataFrame({'x1': [75],'x2': [42],'x3':[1.6]}))
print(predictions.summary_frame(alpha=0.05))

 四、去截距模型

我们还可以尝试去截距模型,结果如下: 

python多元线性回归模型,回归系列,python,pandas

去截距建立的模型如上,可见R方有所提高,模型拟合效果提升。

代码如下:

result = smf.ols('y~x1+x2+x3-1',data=df).fit() 

print(result.params)  #自变量系数和常数项结果
print(result.summary())  #模型拟合的结果:检验,R方等
print(result.pvalues)  #每个参数的P值

对应的预测效果也是有所变化的,结果如下图:

python多元线性回归模型,回归系列,python,pandas

 代码如下:

#单值
predictvalues = result.predict(pd.DataFrame({'x1': [75],'x2': [42],'x3':[1.6]}))
print(predictvalues)

#区间
predictions = result.get_prediction(pd.DataFrame({'x1': [75],'x2': [42],'x3':[1.6]}))
print(predictions.summary_frame(alpha=0.05))

 完整代码如下:

import numpy as np
import statsmodels.formula.api as smf
import pandas as pd

# Load data
f = open('D:\Word文档和Pdf\应用回归作业\zy3.11.csv',encoding='gbk')
df = pd.read_csv(f)
f.close()
print(df)


result = smf.ols('y~x1+x2+x3',data=df).fit() 

print(result.params)  #自变量系数和常数项结果
print(result.summary())  #模型拟合的结果:检验,R方等
print(result.pvalues)  #每个参数的P值

#=========预测新值(原模型)======================================================
#单值
predictvalues = result.predict(pd.DataFrame({'x1': [75],'x2': [42],'x3':[1.6]}))
print(predictvalues)

#区间
predictions = result.get_prediction(pd.DataFrame({'x1': [75],'x2': [42],'x3':[1.6]}))
print(predictions.summary_frame(alpha=0.05))


#去截距模型
result = smf.ols('y~x1+x2+x3-1',data=df).fit() 

print(result.params)  #自变量系数和常数项结果
print(result.summary())  #模型拟合的结果:检验,R方等
print(result.pvalues)  #每个参数的P值


#=========预测新值(去截距模型)======================================================
#单值
predictvalues = result.predict(pd.DataFrame({'x1': [75],'x2': [42],'x3':[1.6]}))
print(predictvalues)

#区间
predictions = result.get_prediction(pd.DataFrame({'x1': [75],'x2': [42],'x3':[1.6]}))
print(predictions.summary_frame(alpha=0.05))


总结

以上便是本文的内容了,模型存在的问题和优化部分,我后续会发布新的文章,这里主要讲的是多元回归模型的一个整体的建模过程,我也是新手,有很多问题有待指出,有问题可以评论区交流交流啦!

看完的不要忘了点个赞和关注一下,爱心biu~biu~文章来源地址https://www.toymoban.com/news/detail-728817.html

到了这里,关于基于Python多元线性回归模型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 多元线性回归的python代码实现(基于sklearn的波士顿房价boston数据集为例)

    基于sklearn自带数据集波士顿房价数据集进行多元线性回归算法代码实现,其数据集包括13个特征向量,共计506个样本集。 本文代码实现步骤如下: 1. 获取数据集 2. 数据集切分,老规矩,80%训练,20%测试 3. 数据预处理(本用例尝试过归一化处理,但发现效果不好,不是每一个

    2024年02月06日
    浏览(48)
  • Python预测——多元线性回归

    答辩结束了,把论文里有用的东西摘出来。 多元线性回归模型: 其中 y 为要预测的变量,x 为影响 y 值的变量,b 为回归系数,计算方式为: 计算结果为一个矩阵,分别对应b0,b1,b2,b3。 对猪肉价格进行预测,即猪肉价格作为 y,选择猪肉价格指数,生猪屠宰量,猪粮比作

    2024年02月03日
    浏览(35)
  • Python多元线性回归sklearn

    2024年01月24日
    浏览(46)
  • 利用python实现多元线性回归

    本文介绍了如何用python进行回归分析 直线回归分析是研究两变量(自变量和因变量)之间的依存关系及其关系的具体方程的形式。分析中所形成的这种关系式称为回归模型,其中以一条直线方程表明的两个变量的依存关系的模型叫一元线性回归模型。 一元线性回归模型研究

    2024年02月11日
    浏览(36)
  • 大数据分析案例-基于多元线性回归算法构建广告投放收益模型

      🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 1.项目背景 2.项目简介 2.1

    2024年02月03日
    浏览(53)
  • 多元线性回归(OLS+稳健误)python代码实现

    多元线性回归主要适用于应变量和自变量具有较强的线性关系,且主要研究 因变量(被解释变量) 和 自变量(解释变量) 之间的 相关关系 ,从而达到解释或者预测的作用。而且一般用于处理 横截面数据 ,横截面数据一般为同一时间段的不同对象的数据,比如同一年中的

    2024年02月03日
    浏览(36)
  • 【数学建模】多元线性回归(Python&Matlab代码实现)

    目录 1 概述 2 算例1 2.1 算例 2.2 Python代码实现  2.3 结果 3 算例2  3.1 算例 3.2 Python代码 3.3 结果 4 算例3 4.1 算例 4.2 Python代码 4.3 结果 5 算例4——Matlab代码实现 5.1 算例 5.2 Matlab代码实现 5.3 结果  6 写在最后 一元线性回归模型研究的是一个因变量与一个自变量之间呈直线趋势的

    2023年04月15日
    浏览(46)
  • 多元线性回归模型

    目录 一、一元线性回归之旧轿车价格案例 二、多元线性回归之洞庭湖污染物案例实测 三、说一说plot函数的用法 四、感想 直接上例题 一、一元线性回归之旧轿车价格案 以x表示使用年数,y表示相应平均价格。根据表中x、y的数据,建立一个数据模型,分析旧轿车平均价格与

    2024年02月05日
    浏览(39)
  • 机器学习10—多元线性回归模型

    在市场的经济活动中,经常会遇到某一市场现象的发展和变化取决于几个影响因素的情况,也就是一个因变量和几个自变量有依存关系的情况。而且有时几个影响因素主次难以区分,或者有的因素虽属次要,但也不能略去其作用。例如,某一商品的销售量既与人口的增长变化

    2023年04月24日
    浏览(44)
  • 如何对多元线性回归模型调参?

    多元线性回归模型通常不像复杂的机器学习模型那样拥有许多可调节的超参数。然而,仍有一些关键步骤和技巧可以用于优化多元线性回归模型的性能: 特征选择 移除无关特征:通过分析特征与目标变量的关联度,移除与目标变量关联度低的特征。 使用特征选择方法:可以

    2024年01月23日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包