新型冠状病毒肺炎(COVID-19)的传播分析及对经济的影响
任务:
请你建立 COVID-19 传播的数学模型,定量地研究传染病的传播规律,利用所给(不限于)资料和数据,作出预测并给出控制传染病蔓延的对策建议,具体要求如下:
建立模型,预测不同国家或地区(至少预测两个国家或地区)确诊病例和死亡病例数的变化。对具体国家或地区卫生部门所采取的措施做出评论,如:
针对美国采取的防控措施,讨论实施或取消居家令(stay-at-home)和就地避难令(shelter-in-place)对疫情传播的影响;或针对我国采取的隔离措施,讨论提前或延后 3-5 天采取严格的隔离措施,对疫情传播所造成的影响。
思路
1、去除数据的空值或者把空值数据归0
2、划分训练集与测试集,将特征和预测值分开进行训练
3、使用sklearn中的LinearRegression 模型求出回归系数,求出R2 的值,对模型进行评估
数据
2020年6月4日之前的累计确诊数数据
新冠肺炎数据下载[每日更新]
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
path = 'D:\data\新冠肺炎\\'
def plotPre():
gamma = 0.55
Q = 7
D = 10
P = np.zeros(300, dtype=np.float)
Psum = np.zeros(300, dtype=np.float)
for i in range(Q):
P[i] = 1
for j in range(300 - Q):
P[j + Q] = P[j + Q - 1] + P[j] * gamma
if j + Q - D - Q >= 0:
P[j + Q] -= P[j + Q - D - Q] * gamma
if j + Q == D:
P[j + Q] -= 1
plt.xlabel("N")
plt.ylabel("PN")
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.plot(range(1, 61), P[0:60])
plt.grid()
plt.show()
def plotPre1():
data = pd.read_excel(path + '全国新冠.xls')
data1 = data.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
x = data1.iloc[:,3:4].values
y = data1.iloc[:,0].values
from sklearn.linear_model import LinearRegression as LR
lr = LR()
lr.fit(x, y)
Slr = lr.score(x, y)
c_x = lr.coef_
c_b = lr.intercept_
x1 = np.array([4, 1.5, 10, 17, 9])
x1 = x1.reshape(1, 4)
R1 = lr.predict(x1)
r1 = x1 * c_x
R2 = r1.sum() + c_b
print('x回归系数为:', c_x)
print('回归系数常数项为:', c_b)
print('判定系数为:', Slr)
print('样本预测值为:', R1)
print('R2值为:', R2)
plotPre1()
其余任务我会陆续更新,请关注我并收藏本博文,谢谢!
如需帮忙做数据挖掘、机器学习的任务,请私聊我。。。