下面是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