我的编程空间,编程开发者的网络收藏夹
学习永远不晚

基于Python多元线性回归模型

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

基于Python多元线性回归模型

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

文章目录

前言

一、读取数据

二、建立模型

 三、预测新值

 四、去截距模型

总结

前言

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

一、读取数据

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

 代码如下:

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)

二、建立模型

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

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

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

代码如下:

import statsmodels.formula.api as smfresult = 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))

 四、去截距模型

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

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

代码如下:

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))

 完整代码如下:

import numpy as npimport statsmodels.formula.api as smfimport pandas as pd# Load dataf = 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://blog.csdn.net/DL11007/article/details/128524503

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

基于Python多元线性回归模型

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python实现多元线性回归模型的方法详解

多元线性回归是一种广泛应用于数据分析和机器学习的统计模型。它通过使用多个自变量来预测一个或多个因变量的值。在Python中,我们可以使用许多不同的库和框架来实现多元线性回归模型,例如NumPy、Pandas和Scikit-Learn等。下面
Python实现多元线性回归模型的方法详解
2024-01-24

python多元线性回归怎么实现

在Python中,可以使用`scikit-learn`库来实现多元线性回归。首先,需要导入所需的库和模块:```pythonfrom sklearn.linear_model import LinearRegressionfrom skle
2023-08-18

怎么用Python进行多元线性回归

本篇内容介绍了“怎么用Python进行多元线性回归”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!图1. 多元回归模型中要用到的公式如图1所示
2023-06-16

python中怎么推导线性回归模型

这篇文章给大家介绍python中怎么推导线性回归模型,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。首先,先看一张图:图是我们在初中学习过的直角坐标系二维平面,上面遍布着一些点。从整体趋势看,y随x的增大而增大。如果曾经
2023-06-02

pytorch实现线性回归和多元回归的方法

本篇内容介绍了“pytorch实现线性回归和多元回归的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!最近在学习pytorch,现在把学习
2023-06-14

rstudio多元线性回归怎么构建

在RStudio中进行多元线性回归可以使用lm()函数来构建模型。以下是构建多元线性回归模型的步骤:1. 准备数据:将要用于回归的自变量和因变量整理为一个数据框或数据矩阵。2. 使用lm()函数构建模型:使用lm()函数来拟合多元线性回归模
2023-08-18

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录