博客
关于我
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/

你可能感兴趣的文章
MySQL“被动”性能优化汇总
查看>>
MySQL、HBase 和 Elasticsearch:特点与区别详解
查看>>
MySQL、Redis高频面试题汇总
查看>>
MYSQL、SQL Server、Oracle数据库排序空值null问题及其解决办法
查看>>
mysql一个字段为空时使用另一个字段排序
查看>>
MySQL一个表A中多个字段关联了表B的ID,如何关联查询?
查看>>
MYSQL一直显示正在启动
查看>>
MySQL一站到底!华为首发MySQL进阶宝典,基础+优化+源码+架构+实战五飞
查看>>
MySQL万字总结!超详细!
查看>>
Mysql下载以及安装(新手入门,超详细)
查看>>
MySQL不会性能调优?看看这份清华架构师编写的MySQL性能优化手册吧
查看>>
MySQL不同字符集及排序规则详解:业务场景下的最佳选
查看>>
Mysql不同官方版本对比
查看>>
MySQL与Informix数据库中的同义表创建:深入解析与比较
查看>>
mysql与mem_细说 MySQL 之 MEM_ROOT
查看>>
MySQL与Oracle的数据迁移注意事项,另附转换工具链接
查看>>
mysql丢失更新问题
查看>>
MySQL两千万数据优化&迁移
查看>>
MySql中 delimiter 详解
查看>>
MYSQL中 find_in_set() 函数用法详解
查看>>