博客
关于我
python实战之一元线性回归(数理统计)
阅读量:254 次
发布时间:2019-03-01

本文共 1539 字,大约阅读时间需要 5 分钟。

1.数据分析要求

数据集展示了m城市人口初次来m城市的时间、迁离m城市的时间、现在的收入。现假设外来人口在m城市的居住时间影响他们的收入。试加以分析和证明。

(1)展示数据集的结构。
(2)显示前10条数据记录。
(3)将变量名重新命名为英文变量名。不能使用Excel处理数据。
(4)计算自变量的最小值、中位数、均值、最大值和标准差,要求保留2位小数。注意:因变量转换为对数。
(5)计算因变量(转换为对数值)和自变量的相关系数,要求保留2位小数。
(6)绘制因变量与自变量的散点图。
(7)利用一元线性回归模型对因变量与自变量的关系进行拟合,并进行假设检验。
(8)分别计算因变量的均值、标准差、偏度和峰度,判断因变量的样本值是否符合正态分布。

大致看一下数据集

在这里插入图片描述

2.利用pandas和numpy进行分析

import numpy as npimport pandas as pdfrom matplotlib import pyplot as pltfrom statsmodels.formula.api import ols  #数理统计包file_path="/home/cc1997/Desktop/huleihomework/data01.csv"mydata=pd.read_csv(file_path,encoding="gbk")#print(mydata.head(10))#删除空列mydata=mydata.dropna(axis=1)#重命名names=["comeyear","comemon","outyear","outmon","income"]mydata.columns=names#计算居住时间times=mydata["outyear"]*12+mydata["outmon"]-mydata["comeyear"]*12-mydata["comemon"]#如果你的数据只有一列,在指定column时,需要加个中括号times=pd.DataFrame(times,columns=["times"])print(times.head(10),type(times))mydata=mydata.join(times)#取对数mydata["income"]=mydata["income"].apply(np.log)print(mydata.head(10))#求自变量的最大值最小值保留两位小数print("最大值:",mydata["times"].max())print("最小值:",mydata["times"].min())print("平均值:",round(mydata["times"].mean(),2))print("中位数:",mydata["times"].median())#计算因变量和自变量的相关系数print("相关系数",mydata["times"].corr(mydata["income"]))#画图plt.plot(mydata["times"],mydata["income"],'o')plt.xlabel("居住时间")plt.ylabel("对数收入")plt.show()#线性回归和参数估计times=mydata["times"]logincome=mydata["income"]model=ols("logincome~times",data=mydata).fit()print(model.summary())#计算自变量偏度和峰度print("偏度:",logincome.skew())#偏度print("峰度:",logincome.kurt())#峰度

转载地址:http://ljpv.baihongyu.com/

你可能感兴趣的文章
Navicat for MySQL 命令列 执行SQL语句 历史日志
查看>>
Navicat for MySQL 查看BLOB字段内容
查看>>
Navicat for MySQL(Ubuntu)过期解决方法
查看>>
Navicat Premium 12 卸载和注册表的删除
查看>>
Navicat 导入sql文件
查看>>
navicat 添加外键1215错误
查看>>
navicat 系列软件一点击菜单栏就闪退
查看>>
navicat 自动关闭_干掉Navicat!MySQL官方客户端到底行不行?
查看>>
Navicat 设置时间默认值(当前最新时间)
查看>>
navicat 连接远程mysql
查看>>
navicat:2013-Lost connection to MySQL server at ‘reading initial communication packet解决方法
查看>>
Navicate for mysql 数据库设计-数据库分析
查看>>
Navicat下载和破解以及使用
查看>>
Navicat中怎样将SQLServer的表复制到MySql中
查看>>
navicat创建连接 2002-can‘t connect to server on localhost(10061)且mysql服务已启动问题
查看>>
Navicat可视化界面导入SQL文件生成数据库表
查看>>
Navicat向sqlserver中插入数据时提示:当 IDENTITY_INSERT 设置为 OFF 时,不能向表中的标识列插入显式值
查看>>
Navicat因导入的sql文件中时间数据类型有参数而报错的原因(例:datetime(3))
查看>>
Navicat如何连接MySQL
查看>>
navicat导入.sql文件出错2006- MySQLserver has gone away
查看>>