博客
关于我
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 插入是否成功_PDO mysql:如何知道插入是否成功
查看>>
Mysql 数据库InnoDB存储引擎中主要组件的刷新清理条件:脏页、RedoLog重做日志、Insert Buffer或ChangeBuffer、Undo Log
查看>>
mysql 数据库中 count(*),count(1),count(列名)区别和效率问题
查看>>
mysql 数据库备份及ibdata1的瘦身
查看>>
MySQL 数据库备份种类以及常用备份工具汇总
查看>>
mysql 数据库存储引擎怎么选择?快来看看性能测试吧
查看>>
MySQL 数据库操作指南:学习如何使用 Python 进行增删改查操作
查看>>
MySQL 数据库的高可用性分析
查看>>
MySQL 数据库设计总结
查看>>
Mysql 数据库重置ID排序
查看>>
Mysql 数据类型一日期
查看>>
MySQL 数据类型和属性
查看>>
mysql 敲错命令 想取消怎么办?
查看>>
Mysql 整形列的字节与存储范围
查看>>
mysql 断电数据损坏,无法启动
查看>>
MySQL 日期时间类型的选择
查看>>
Mysql 时间操作(当天,昨天,7天,30天,半年,全年,季度)
查看>>
MySQL 是如何加锁的?
查看>>
MySQL 是怎样运行的 - InnoDB数据页结构
查看>>
mysql 更新子表_mysql 在update中实现子查询的方式
查看>>