1.一种基于分布式鲸鱼优化算法的公共自行车需求量预测方法,其特征在于,包括以下步骤:步骤1:读取原始公共自行车数据集,并对原始数据集进行预处理,然后利用Spark中的RDD分区将训练集分成若干RDD数据集,存储在适合运行在Spark上的分布式文件系统HDFS中;
所述对原始数据集进行预处理,包括对数据进行清洗,去掉缺失值,统一数据格式;
步骤2:初始化一个RDD数据集,该数据集代表着鲸鱼种群W,将RDD数据集作Map转换处理,并计算出初始的适应度值,设置上下界;
步骤3:将转换后的RDD数据集和参数输入Spark,开始迭代将并随机化鲸鱼算法的参数;所述参数包括种群数量pop_size,迭代次数tmax;
步骤4:根据公式参数p和|A|选择捕食策略,计算迭代之后的鲸鱼个体的位置;
其中所述捕食策略包括环绕式捕食策略、bubble‑net捕食策略和随机搜索策略;
所述根据公式参数p和|A|选择捕食策略,具体实现过程是:根据参数p,|A|判断所述鲸鱼个体的捕食策略即位置更新方式;其中p是随机产生的[0,1]之间的数,|A|是A的绝对值;
如果p<0.5并且|A|<1,则采用环绕式捕食策略更新鲸鱼个体位置;如果p<0.5并且|A|>=1,则采用bubble‑net捕食策略更新鲸鱼位置;如果p>=0.5,则采用随机搜索策略更新鲸鱼位置;
然后将迭代寻找最优解的过程并行化,每只鲸鱼的位置和寻找最优解的过程称为一个独立的并行单元;因此,n只鲸鱼构成n个独立的并行单元,然后使用Spark并行处理;
所述环绕式捕食策略,假设当前最优位置为目标猎物;在定义了最优位置之后,其他鲸鱼个体会将它们的位置向最优位置更新;
位置更新公式为:
式中:和 是系数向量;t是当前迭代次数; 是迭代到第t次时获得的最优解的位置向量; 是迭代到第t次时鲸鱼群个体的位置向量; 是元素之间的运算方式,如果尚存在最优解, 则在每次迭代过程中更新;
和 的计算公式如下:
式中:是一个随机向量,取值范围为[0,1];a为控制参数,在迭代过程中a从2线性减小到0;
a的变化情况见下式:
式中:tmax为最大迭代次数;
所述bubble‑net捕食策略,采用式(6 )模拟座头鲸的螺旋形狩猎行为:bl *
X(t+1)=D′·e ·cos(2πl)+X(t) (6)* *
其中,D′=|X (t)‑X(t)|,b是定义对数螺线形状的常量,l是[‑1,1]之间的随机量,X(t)表示当前最佳的位置,X(t)表示当前位置;
座头鲸收缩环绕的同时沿着螺旋形路径向猎物游动,为了模拟这种“同时”行为,建立如下位置更新数学模型:其中, 变量p是[0,1]之间的随机数,p以相等的概率在0和1之间切换;
所述随机搜索策略,座头鲸需要随机搜索猎物,该过程数学模型如下:D=|B·Xrand(t)‑X(t)| (8)其中, Xrand(t)是从种群中随机选择的搜索代理位置向量;步骤5:对每个鲸鱼个体进行位置更新,并计算更新后的每个个体局部的适应度值;
步骤6:根据计算出的每个鲸鱼的适应度值确定适应度值的最大值;判断如果新的适应度值比先前的适应度值要更好,则新的适应度值替换先前的适应度值;
步骤7:判断更新次数是否小于迭代次数,得到判断结果;
若更新次数小于迭代次数,则回转执行步骤4,继续寻找最优适应度值;
若更新次数大于或者等于迭代次数,使用Collect算子根据更新后的适应度值最大的鲸鱼的位置输出为特征选择的结果,记为特征子集,并将结果输出到HDFS中;
步骤8:根据特征子集,使用随机森林回归模型通过未来天气、时间数据预测站点的公共自行车需求量。
2.根据权利要求1所述的基于分布式鲸鱼优化算法的公共自行车需求量预测方法,其特征在于,步骤2中所述适应度值为:其中,F(i)为第i个鲸鱼个体的适应度值,n(i)为所选特征个数,Accuracy(i)为分类准确率;λ为加权参数。
3.根据权利要求1所述的基于分布式鲸鱼优化算法的公共自行车需求量预测方法,其特征在于,步骤6中所述适应度值的计算公式为:其中,F(i)为第i个鲸鱼个体的适应度值,n(i)为所选特征个数,Accuracy(i)为分类准确率;λ为加权参数。
4.根据权利要求1‑3任意一项所述的基于分布式鲸鱼优化算法的公共自行车需求量预测方法,其特征在于:每个特征子集都被编码为1和0,其中1表示选择一个特征来组成新的数据集,0表示不选择;用Sigmoid函数来构建这个二进制向量:因此,位置更新公式将由以下等式代替:
其中,rand_pos()表示有随机函数随机生成的鲸鱼位置, 代表转换之后的鲸鱼的位置。