1.一种基于K‑means和LSTM的日游客量预测方法,具体步骤如下,其特征在于,步骤1:日游客预测系统录入景区每天的游客相关百度指数以及实际日游客量;
所述步骤1中景区每天的游客相关百度指数,包括关键词“景区名”百度指数、关键词“景区名+旅游攻略”百度指数、关键词“景区名+天气”百度指数、关键词“景区名+门票”百度指数和关键词“景区名+在哪里”百度指数;
步骤2:将步骤1的游客因素特征数据进行归一化处理;
所述步骤2中数据归一化处理为:
其中,xi是第i个游客因素特征的归一化处理的结果, 和 为第i个游客因素特征的原始数据的最大值和最小值, 为第i个游客因素特征的归一化前的数值,i∈{1,
2,…,n},n为游客因素特征数;
步骤3:基于步骤2处理好的数据,采用动态时窗的方法提取序列,建立日游客量预测样本序列数据库;
所述步骤3中建立日游客量预测样本序列的提取方式为,以十天为一个周期,以历史的七天的历史数据序列X={X1,X2,X3,X4,X5,X6,X7}为输入,其中Xk={x1,x2,…,xn},xi为归一化后的游客因素特征,以后三天的日游客量预测值Y={Y1,Y2,Y3}为预测输出,其中Y1,Y2,Y3为后续三天的日游客量,每个序列样本按时间逐天滑动生成,从而建立日游客量预测样本序列数据库;
步骤4:采用Kmeans算法对样本数据集进行聚类分析,将样本集分成3个训练集,分别对应淡季、旺季和平稳季;
所述步骤4中Kmeans算法具体是:
步骤4.1将7天的输入样本序列特征扁平化成一维向量,维度为7*n;
步骤4.2从样本集中随机选择3个样本{μ1,μ2,μ3},作为初始质心;
步骤4.3计算每个样本X与质心μj之间的距离
ditance=||X‑μj||2
步骤4.4将样本X与最近的质心μj归为一类;
步骤4.5更新质心 其中,Ci为旅游季的模式类别聚类簇集,i∈{1,2,3};
步骤4.6重复步骤4.3‑4.5,直到达到最大迭代次数100或质心更新幅度小于阈值,最终得到三种旅游季的模式类别的样本数据;
步骤5:分别对步骤4中的3个训练集建立LSTM预测模型,并训练直到网络收敛;
所述步骤5中每种旅游季的模式类别下构建的LSTM模型,由输入门、忘记门、输出门和细胞状态组成;
神经元细胞中每个时刻不同门的更新公式如下:
忘记门:ft=sigmoid(wf*[ht‑1,xt]+bf)输入门:it=sigmoid(wi*[ht‑1,xt]+bi)输入的候选状态:
记忆细胞的输出:
输出门:ot=sigmoid(wo*[ht‑1,xt]+bo)单元输出:ht=ot*tanh(ct)
其中,wi、wf、wo、wc分别为输入门、忘记门、输出门以及细胞状态的权值矩阵;bi、bf、bo、bc为对应的偏置项;ht‑1为t‑1时刻的隐藏层状态;xt为t时刻的输入向量;tanh为双曲正切激活函数;
每个LSTM模型的输入序列长度为7,输出序列长度为3,分别为隐藏层的三个时刻的输出ht‑2、ht‑1、ht,将此作为未来三天的日游客量预测值,利用上述的预测值输出与原始数据的真实值进行整个LSTM网络的损失函数的计算,采用均平方根误差损失函数,其表达式如下:其中,T为每批次训练的样本数, 为第i个样本第j天的日游客量真实值, 为第i个样本第j天的日游客量预测值,利用随机梯度下降SGD优化算法对均平方根误差损失函数进行优化,并将结果进行反向传播,实现网络参数的更新,直至LSTM模型达到收敛,此时认为模型训练完成;
步骤6:景区上传过去几天的日游客相关百度指数以及实际日游客量作为待预测样本,经过步骤2的归一化处理,基于Kmeans算法对预测样本进行分类得出旅游季的模式类别;
步骤7:针对步骤6的类别结果,利用步骤5中预训练好的模型对日游客量进行预测,并将结果上传至显示界面;
步骤8:对于预测值差较大的情况,数据库每隔一个周期将数据发送至上位机,在线对现有的模型进行优化升级,从而不断提升模型预测精度;
所述步骤8中将预测值和实际值差值较大的日游客量预测样本增添进训练集中,并确定实际的三天游客量为相对应的标签,数据库每隔一个周期将数据发送至上位机,对模型进行重新训练,整个训练过程与步骤4‑5保持一致,最终实现模型的优化升级,以增强模型的泛化性和预测精度。