文章目录

  • 一、利用Excel的数据分析实现线性回归
    • 1.1、添加数据分析工具
    • 1.2、使用数据分析库完成线性回归练习
    • 1.3、选择添加趋势线
    • 1.4、对200组、2000组数据的分析
  • 二、Python编程实现线性回归
  • 三、Python借助skleran库
  • 四、总结
  • 五、参考资料

一、利用Excel的数据分析实现线性回归

1.1、添加数据分析工具


选择分析工具库和分析工具库-VBA,点击转到后点击确定

1.2、使用数据分析库完成线性回归练习

上述分析工具添加完成后,点击工具栏的数据,然后点击右上角的数据分析

在弹出的选项框中选择回归

自行选择合适的输入数据作为XY值
残差选择线性拟合图

输出结果如下图:

若坐标轴起点为0,图像显示较为怪异,可以通过设置修改坐标轴起点,具体操作如下:
点击坐标轴,在弹出的选项中选择图片箭头指示,可自主调节最大最小值以及坐标轴单位间隔

1.3、选择添加趋势线

点击选中原始数据,单击鼠标右键,选择添加趋势线

选择线性,显示R值,显示公式

设置完成后图表显示如下

1.4、对200组、2000组数据的分析

结果如下:
200组:

2000组:

二、Python编程实现线性回归

输入以下代码:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import math
p=pd.read_excel('D:\Pythonwork\weights_heights.xls','weights_heights')
#输入保存的excel路径
#读取20行数据
p1=p.head(20)
x=p1["Height"]
y=p1["Weight"]
# 平均值
x_mean = np.mean(x)
y_mean = np.mean(y)
#x(或y)列的总数(即n)
xsize = x.size
zi=((x-x_mean)*(y-y_mean)).sum()
mu=((x-x_mean)*(x-x_mean)).sum()
n=((y-y_mean)*(y-y_mean)).sum()
# 参数a b
a = zi / mu
b = y_mean - a * x_mean
#相关系数R的平方
m=((zi/math.sqrt(mu*n))**2)
# 这里对参数保留4位有效数字
a = np.around(a,decimals=4)
b = np.around(b,decimals=4)
m = np.around(m,decimals=4)
print(f'回归线方程:y = {a}x +({b})')
print(f'相关回归系数为{m}')
#借助第三方库skleran画出拟合曲线
y1 = a*x + b
plt.scatter(x,y)
plt.plot(x,y1,c='r')

运行结果如下:


200组数据:

2000组数据:

三、Python借助skleran库

输入以下代码:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import math
p=pd.read_excel('weights_heights.xls','weights_heights')
#读取20行数据
p1=p.head(20)
x=p1["Height"]
y=p1["Weight"]
# 平均值
x_mean = np.mean(x)
y_mean = np.mean(y)
#x(或y)列的总数(即n)
xsize = x.size
zi=((x-x_mean)*(y-y_mean)).sum()
mu=((x-x_mean)*(x-x_mean)).sum()
n=((y-y_mean)*(y-y_mean)).sum()
# 参数a b
a = zi / mu
b = y_mean - a * x_mean
#相关系数R的平方
m=((zi/math.sqrt(mu*n))**2)
# 这里对参数保留4位有效数字
a = np.around(a,decimals=4)
b = np.around(b,decimals=4)
m = np.around(m,decimals=4)
print(f'回归线方程:y = {a}x +({b})')
print(f'相关回归系数为{m}')
#借助第三方库skleran画出拟合曲线
y1 = a*x + b
plt.scatter(x,y)
plt.plot(x,y1,c='r')


200组:

2000组

四、总结

本次实验分别用Excel、Python、Python skleran库对数据求解线性回归方程和回归系数。相比较而言,Excel上进行数据分析十分直观而且方便,而利用Python编程则略显繁琐。本次实验对线性回归有了更加深刻地理解,扩展了自己的知识面。

五、参考资料

https://blog.csdn.net/weixin_56102526/article/details/120495151
https://blog.csdn.net/jynyyhd/article/details/129461973

Excel-Python对数据进行线性回归相关推荐

  1. python与excel做数据可视化-用Python进行数据可视化的10种方法

    原标题:用Python进行数据可视化的10种方法 2015-11-19 关于转载授权 大数据文摘作品,欢迎个人转发朋友圈,自媒体.媒体.机构转载务必申请授权,后台留言"机构名称+转载&quo ...

  2. python读取数据文件-python多种读写excel等数据文件的方式(收藏篇)

    前言: python处理数据文件的途径有很多种,可以操作的文件类型主要包括文本文件(csv.txt.json等).excel文件.数据库文件.api等其他数据文件.下面小编整理下python到底有哪些 ...

  3. python输出数据到excel-python如何导出数据到excel文件

    python导出数据到excel文件的方法: 1.调用Workbook()对象中的add_sheet()方法wb = xlwt.Workbook() ws = wb.add_sheet('A Test ...

  4. python与excel做数据可视化-Python的Excel操作及数据可视化

    Excel表操作 python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库. 安装xlrd pip install xlrd 简单的表格读取 ...

  5. python处理数据的优势-python处理excel的优势是什么

    在我们工作中往往需要处理大量的数据,因此Excel在我们工作中是一个必不可少的工具,不过,近期很多人开始用Python处理数据,那 么,大家为什么开始用Python了呢?Python辅助处理excel ...

  6. python填写excel-Python向excel中写入数据的方法

    最近做了一项工作需要把处理的数据写入到Excel表格中进行保存,所以在此就简单介绍使用Python如何把数据保存到excel表格中. 数据导入之前需要安装 xlwt依赖包,安装的方法就很简单,直接 p ...

  7. python处理excel表格数据-利用Python处理和分析Excel表中数据实战.doc

    利用Python处理和分析Excel表中数据实战 [利用python进行数据分析--基础篇]利用Python处理和分析Excel表中数据实战 原创 2017年06月28日 15:09:32 标签: p ...

  8. python字符串写入excel-Python向excel中写入数据的方法

    最近做了一项工作需要把处理的数据写入到Excel表格中进行保存,所以在此就简单介绍使用Python如何把数据保存到excel表格中. 数据导入之前需要安装 xlwt依赖包,安装的方法就很简单,直接 p ...

  9. python处理数据的优势-Python处理excel的优点

    在我们工作中往往需要处理大量的数据,因此Excel在我们工作中是一个必不可少的工具,不过,近期很多人开始用Python处理数据,那么,大家为什么开始用Python了呢?Python辅助处理excel的 ...

  10. python输出数据到excel-python实现数据导出到excel的示例

    这篇文章主要介绍了关于python实现数据导出到excel的示例,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 此文是在django框架下编写,从数据库中获取数据使用的是django- ...

最新文章

  1. IIS7.5 HTTP 错误 500 调用loadlibraryex失败的解决方法
  2. Gartner发布2022年政府行业主要技术趋势:XaaS、数字化、超自动化等
  3. 艾伟_转载:使用LINQ to SQL更新数据库(中):几种解决方案
  4. matplotlib 直方图_Matplotlib直方图和散点图
  5. java string类型的初始化
  6. echarts 地图常见效果
  7. 一道充满歧义的思维题,全网唯一刁钻分析
  8. Docker容器内不能联网的6种解决方案
  9. BFS POJ 3278 Catch That Cow
  10. 传入oracle中的日期类型,Oracle中的日期类型及相关函数
  11. python经典编程100例(1)
  12. RE写作Issue问题题库分析与提纲
  13. Android Studio 报错 : Cause : zip file is empty
  14. 示例程序:关于双目视觉,标定,立体匹配(视差算法),点云,双目三维重建的原理以及代码
  15. Python打开电脑文件夹
  16. php程序员如何写简历
  17. C++利用openssl进行公钥解密
  18. 世界首个拥有肌肉骨骼机器人问世(组图)
  19. HashMap、ConcurrentHashMap源码解读(JDK7/8)
  20. 进程调度算法——C++实现 [ FCFS,SJF,HPR,HRN + 开源代码 + 详细解析 ]

热门文章

  1. 计算机专业术语表白,围观!看各专业都怎么用术语表白的!
  2. 基于 PYNQ 的 AXI 总线主从控制编写(ddr3的读写)
  3. 【论文笔记】2019 基于激光点云pole检测的重定位方法 Long-Term Urban Vehicle Localization Using Pole Landmarks
  4. Exchange-导出邮箱数据到pst文件
  5. 当代年轻人最后悔入坑的专业
  6. 有关Best-effort理解的相关资料汇总
  7. 教你从0开始打造一场成功的微信抽奖活动方案!
  8. jdk1.8api+google翻译下载
  9. 交直流与电路分析三板斧
  10. 硬笔练字“州”字书写技巧,想练好都不难!