1.基于LSTM的新冠肺炎疫情群体态势预测方法,其特征在于:该方法包括以下步骤:
S1:新冠肺炎疫情数据获取;
S2:全国新冠肺炎疫情群体态势预测;
S3:省、自治区和直辖市新冠肺炎疫情预测;
S4:城市新冠肺炎疫情群体态势预测。
2.根据权利要求1所述的基于LSTM的新冠肺炎疫情群体态势预测方法,其特征在于:所述S1具体为:S11:从百度新冠肺炎疫情大数据平台获取源代码;
S12:利用Python集成开发环境Pycharm,利用Python爬虫库requests、urllib以及JSON模块、lxml模块中的etree函数,通过编程语句xpath('//script[@type="application/json"]/text()')获取百度新冠肺炎疫情大数据平台源代码JSON格式文件,并筛选出中国的新冠肺炎疫情数据;
S13:将全国新冠肺炎疫情数据按新增确诊病例数据、新增境外输入病例、新增无症状感染者病例、新增重症病例、新增死亡病例、新增治愈病例和新增疑似病例数据和时间生成csv格式的文件并保存在本地主机。
3.根据权利要求1所述的基于LSTM的新冠肺炎疫情群体态势预测方法,其特征在于:所述S2具体为:获取全国新冠肺炎疫情数据后,需要构建LSTM网络和对数据进行预处理和归一化处理,使输入数据符合LSTM网络的输入格式;
S21:将生成的csv格式的新冠肺炎疫情数据按n_lag天的数据构成数组作为输入数据,将之后28天的数据构成数组作为预测标签,形成预测数据集;
S22:将预测数据集按7:3比例划分为训练集和测试集;
S23:由于输入数据波动幅度较大,送入LSTM网络中训练效果不好,需要将数据进行归一化处理,将数据x映射x′到[0,1]之间;选取最大值max和最小值min,采用公式(7)进行归一化处理;
S24:构建LSTM模型,通过人工神经网络库Keras,利用Keras中包含的LSTM网络模块以及损失函数、层数和Dropout模块,将训练集数据输入到LSTM网络中进行训练,损失函数选取均方误差函数(MSE),优化器选取Adam,通过设置迭代次数epoch、批处理大小batch_size以及时间步长n_lag,不断优化LSTM网络,并使损失函数降到最低;
S25:将测试集数据送入到训练好的LSTM网络中,采用公式(8)均方根误差RMSE来评价真实值与预测值之间的偏差,并且根据测试集得出的RMSE值继续调整LSTM网络训练参数,通过增加迭代次数、修改时间步长n_lag使测试集RMSE值降到最低时,认定此时训练模型已是最优,然后保存模型参数;
S26:预测;将训练好的网络参数保存,将所要预测的时间的数据和时间步长n_lag的数据生成序列,并调整维度,然后输入到已训练好LSTM网络中,得出全国28天后的新冠肺炎疫情群体态势;
S27:重复以上步骤,对全国新增确诊病例数据、新增境外输入病例、新增无症状感染者病例、新增重症病例、新增死亡病例、新增治愈病例和新增疑似病例数据分别进行LSTM网络训练参数,得出不同病例的预测模型、参数和预测结果。
4.根据权利要求1所述的基于LSTM的新冠肺炎疫情群体态势预测方法,其特征在于:所述S3具体为:通过Python爬虫从百度新冠肺炎疫情大数据平台获取各省、自治区和直辖市新冠肺炎疫情新增确诊病例,新增死亡病例以及新增治愈病例历史数据和实时数据,并将其生成csv格式的文件;预测各省、自治区和直辖市28天后新冠肺炎疫情群体态势;
S31:将生成的csv格式的新冠肺炎疫情数据按n_lag天的数据构成数组作为输入数据,将之后28天的新冠肺炎疫情数据构成数组作为预测标签,形成预测数据集;
S32:将预测数据集按7:3比例划分为训练集和测试集;
S33:由于输入数据波动幅度较大,送入LSTM网络中训练效果不好,因此需要将数据进行归一化处理,将数据x映射x′到[0,1]之间;选取最大值max和最小值min,采用公式(7)进行归一化处理;
S34:构建LSTM网络,通过人工神经网络库Keras,利用Keras中包含的LSTM网络模块以及损失函数、层数和Dropout模块,将训练集数据输入到LSTM网络中进行训练,损失函数选取均方误差函数MSE,优化器选取Adam,通过设置迭代次数epoch、批处理大小batch_size以及时间步长n_lag,不断优化LSTM网络,并使损失函数降到最低;
S35:将测试集数据送入到训练好的LSTM网络中,采用公式(8)均方根误差RMSE来评价真实值与预测值之间的偏差,并且根据测试集得出的RMSE值继续调整LSTM网络训练参数,通过增加迭代次数、修改时间步长n_lag使测试集RMSE值降到最低时,认定此时训练模型已是最优,然后保存模型参数;
步骤6:预测;将训练好的模型参数保存,将所要预测的时间的数据和时间步长n_lag的数据生成序列,并调整维度,然后输入到已训练好LSTM网络中,得出省、自治区和直辖市28天后的新冠肺炎疫情群体态势;
步骤7:重复以上步骤,对各省、自治区和直辖市新增确诊病例,新增死亡病例以及新增治愈病例分别进行LSTM网络训练参数,得出不同病例的预测模型、参数和预测结果。
5.根据权利要求1所述的基于LSTM的新冠肺炎疫情群体态势预测方法,其特征在于:所述S4具体为:通过Python爬虫从百度新冠肺炎疫情大数据平台获取各主要城市新冠肺炎疫情新增确诊病例,新增死亡病例以及新增治愈病例历史数据和实时数据,并将其生成csv格式的文件;预测各城市28天后的新冠肺炎疫情群体态势;
S41:将生成的csv格式的文件新冠肺炎疫情数据按n_lag天的数据构成数组作为输入数据,将之后28天的数据构成数组作为预测标签,形成预测数据集;
S42:将预测数据集按7:3比例划分为训练集和测试集;
S43:由于输入数据波动幅度较大,送入LSTM网络中训练效果不好,需要将数据进行归一化处理,将数据x映射x′到[0,1]之间;选取最大值max和最小值min,采用公式(7)进行归一化处理;
S44:构建LSTM网络,通过人工神经网络库Keras,利用Keras中包含的LSTM网络模块以及损失函数、层数和Dropout模块,将训练集数据输入到LSTM网络中进行训练,损失函数选取均方误差函数MSE,优化器选取Adam,通过设置迭代次数epoch、批处理大小batch_size以及时间步长n_lag,不断优化LSTM模型,并使损失函数降到最低;
S45:将测试集数据送入到训练好的LSTM网络中,采用公式(8)均方根误差RMSE来评价真实值与预测值之间的偏差,并且根据测试集得出的RMSE值继续调整LSTM模型训练参数,通过增加迭代次数、修改时间步长n_lag使测试集RMSE值降到最低时,认定此时训练模型已是最优,然后保存模型参数;
S46:预测;将训练好的模型参数保存,将所要预测的时间的数据和时间步长n_lag的数据生成序列,并调整维度,然后输入到已训练好LSTM模型中,得出各城市28天后的新冠肺炎疫情群体态势;
S47:重复以上步骤,对各省、自治区和直辖市新增确诊病例,新增死亡病例以及新增治愈病例分别进行LSTM网络训练参数,得出不同病例的预测模型、参数和预测结果。