python 回归方程

下面是7个地区2017年的人均国内生产总值(GDP)和人均消费水平的统计数据:

地区

人均GDP(元)

人均消费水平(元)

北京

22460

7326

辽宁

11226

4490

上海

34547

11546

江西

4851

2396

河南

5444

2208

贵州

2662

1608

陕西

4549

2035

要求: 

(1)人均GDP作自变量,人均消费水平左因变量,绘制散点图,并说明二者之间的关系形态。 

(2)计算两个变量之间的线性相关系数,说明两个变量之间的关系强度。 (3)利用最小二乘法求出估计的回归方程,并解释回归系数的实际意义。 (4)计算判定系数,并解释其意义。

import matplotlib.pyplot as plt

import numpy as np


x=np.array([22460,11226,34547,4851,5444,2662,4549])

y=np.array([7326,4490,11546,2396,2208,1608,2035])

plt.plot(x,y,'*')



def B1(x,y):

    x1=x.size*np.sum(x*y)

    x2=np.sum(x)*np.sum(y)

    x3=x.size*np.sum(x*x)

    x4=np.square(np.sum(x))

    return (x1-x2)/(x3-x4)


y_pre=np.zeros(x.size)



def predict(x):

    for i in np.arange(x.size):

        pre=b0+b1*x[i]

        y_pre[i]=pre

       

b1=B1(x,y)

b0=np.mean(y)-b1*np.mean(x)


predict(x)

y_mean=np.mean(y)

R=1-(np.sum(np.square(y-y_pre)))/(np.sum(np.square(y-y_mean)))



plt.plot(x,y,'*')

plt.plot(x,y_pre,'r--')

R

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值