1、实验目的
通过本实验使学生熟练运用语言编写线性回归分析程序 。
2、 实验内容
有以下两组数据,第一组数据为我国2004年31个地区城镇居民年人均可支配收入和年人均消费性支出数据,第二组数据为随机抽查的36个人的当前年薪y(美元)与开始年薪x1(美元)、工作时间x2(月)、先前工作经验x3(月)和受教育年限x4(年) 。
图1城镇居民年人均可支配收入和年人均消费性支出数据
图2 抽样调查得到的36个人的数据资料
使用这两组数据完成以下内容 。
1、用SPSS软件对第一组数据和第二组数据进行相关系数、回归方程建模;
2、根据SPSS软件结果,用语言对第一组数据求可支配收入和消费性支出两个变量的相关系数;
3、根据SPSS软件结果,用语言对第一组数据建立回归方程模型;
4、根据SPSS软件结果,用语言对第二组数据求y和各x变量的相关系数;
5、根据SPSS软件结果,用语言对第二组数据建立回归方程模型 。
使用SPSS软件进行数据分析:
第一组数据分析
第二组数据分析
2、用语言对第一组数据求可支配收入和消费性支出两个变量的相关系数;
import pandas as pdimport numpy as npimport matplotlib.pyplot as pltfrom sklearn.linear_model import LinearRegressionfrom sklearn.metrics import r2_scoreimport statsmodels.api as smdata = http://www.kingceram.com/post/pd.read_csv("数据1.csv",encoding="gbk") #读入数据data.head()print(data.corr())
运行结果:
3、用语言对第一组数据建立回归方程模型;
【多元统计分析实验-线性回归】import pandas as pdimport numpy as npimport matplotlib.pyplot as pltfrom sklearn.linear_model import LinearRegressionfrom sklearn.metrics import r2_scoreimport statsmodels.api as smdata = http://www.kingceram.com/post/pd.read_csv("数据1.csv",encoding="gbk") #读入数据data.head()X = data['可支配收入'].values.reshape(-1,1)#自变量Y = data['消费性支出'].values.reshape(-1,1)#因变量reg = LinearRegression()reg.fit(X, Y)a = reg.coef_#系数b = reg.intercept_#常量print("回归系数为",a,"常量为",b)print("回归方程为: Y(消费性支出) = {:.5} * X(可支配收入) + {:.5}".format(a[0][0], b[0]))
运行结果:
4、用语言对第二组数据求y和各x变量的相关系数
import pandas as pdimport numpy as npimport matplotlib.pyplot as pltfrom sklearn.linear_model import LinearRegressionfrom sklearn.metrics import r2_scoreimport statsmodels.api as smdata = http://www.kingceram.com/post/pd.read_csv("数据2.csv",encoding="gbk")data = http://www.kingceram.com/post/data.drop(['Unnamed: 0'], axis=1)print("当前年薪与开始年薪相关系数",data['当前年薪'].corr(data['开始年薪']))print("当前年薪与工作时间相关系数",data['当前年薪'].corr(data['工作时间']))print("当前年薪与先前工作经验相关系数",data['当前年薪'].corr(data['先前工作经验']))print("当前年薪与受教育年限相关系数",data['当前年薪'].corr(data['受教育年限']))
运行结果:
5、用语言对第二组数据建立回归方程模型 。
import pandas as pdimport numpy as npimport matplotlib.pyplot as pltfrom sklearn.linear_model import LinearRegressionfrom sklearn.metrics import r2_scoreimport statsmodels.api as smdata2 = pd.read_csv("数据2.csv",encoding="gbk")data2.head()data2.drop(['Unnamed: 0'], axis=1)Xs = data.drop(['当前年薪','性别'], axis=1)Y = data['当前年薪'].values.reshape(-1,1)reg2 = LinearRegression()reg2.fit(Xs, Y)#系数a = reg2.coef_#常量b = reg2.intercept_print("回归系数为",a,"常量为",b)print("线性回归方程为: Y(当前年薪) = {:.5} + {:.5}*开始年薪 + {:.5}*工作时间 + {:.5}*先前工作经验 + {:.5}*受教育年限".format(reg2.intercept_[0], reg2.coef_[0][0], reg2.coef_[0][1], reg2.coef_[0][2],reg2.coef_[0][3]))
- “大象的牙膏”实验玩出世界之最一吨多泡沫瞬间喷出掩埋整个院子 历史之最大象牙膏
- 洛阳市第二实验中学
- 减少生物实验误差的方法,高中生物减少实验误差的措施有哪些
- AutoSAR配置视频讲解:课前准备
- 世界上耗时最长的科学实验 吉尼斯记录电池
- 伊顿幼儿园
- chatgpt赋能python:Python做描述性统计:统计分析从未如此轻松
- 长沙小学周边出现“牙签弩”,实验告诉你它有多可怕 在气球上查牙签吉尼斯记录
- 无锡市大桥实验中学
- 人类历史上最邪恶的实验组织:731部队母爱实验揭示人性的黑暗面 人类历史之最