[高级编程技术] 第十四周

Part1

For each of the four datasets…

Compute the mean and variance of both x and y

Compute the correlation coefficient between x and y

Compute the linear regression line: y=β0+β1x+ϵ (hint: use statsmodels and look at the Statsmodels notebook)

import numpy as np
import seaborn
import statsmodels.api as sma
import pandas

seaborn.set_context("talk")
anascombe = pandas.read_csv('C:/Users/sysusdcsgjh/Desktop/anscombe.csv')
print(anascombe)
print()
l=0
r=11
for i in range(4):
    xi = anascombe.x[l:r].values
    yi = anascombe.y[l:r].values
    meanxi = np.mean(xi)
    meanyi = np.mean(yi)
    varxi = np.var(xi)
    varyi = np.var(yi)
    coefxy = np.corrcoef(xi,yi)[0][1]
    tmp = sma.add_constant(xi)
    model = sma.OLS(yi,tmp)
    rst = model.fit()
    params = rst.params
    print('mean_x'+str(i+1),': ',meanxi)
    print('mean_y'+str(i+1),': ',meanyi)
    print('varx'+str(i+1),': ',varxi)
    print('vary'+str(i+1),': ',varyi)
    print('coef_xy: ',coefxy)
    print('线性回归为 y=',params[0],'+',params[1],'*x')
    print()
    l += 11
    r += 11

结果:

这里写图片描述
这里写图片描述

Part2

Using Seaborn, visualize all four datasets.

hint: use sns.FacetGrid combined with plt.scatter

import seaborn
import pandas
import matplotlib.pyplot as plt

anascombe = pandas.read_csv('C:/Users/sysusdcsgjh/Desktop/anscombe.csv')

seaborn.set(style='whitegrid')   #数据可视化
graph = seaborn.FacetGrid(anascombe,col='dataset',hue='dataset',size=3)
graph.map(plt.scatter,'x','y')
plt.show()

结果

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值