数据集的中值近似值查找方法、装置和计算机设备

文档序号:31033018发布日期:2022-08-06 02:26阅读:205来源:国知局
1.本技术涉及数据查找
技术领域
:,特别是涉及一种数据集的中值近似值查找方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
::2.中值通常是一个数据集合中具有很高价值的统计指标,其比均值更能体现数据集合的平均水平。中值查找是一种旨在从一个未排序的数组中寻找精确中值的方法。快速的中值查找方法能够解决很多领域中所存在的技术难题。具体到应用场景,例如,在降雨量预警的场景中,人们通常是基于如气象雨量传感器采集的数据构成的传感器数据集,查找出传感器数据集的中值所在的近似范围,确定近似中值,然后将近似中值与预设好的预警阈值进行比较,以此做出降雨预警的决策。然而,由于气象雨量传感器的数量很多,且传感器的数据采集过程是持续的,因此,收集到的传感器数据将会是海量的数据,这无疑增加了查找出中值的难度,提高了做出预警决策的难度。因此,提供具备快速查找能力的中值查找方法具有重大意义。3.目前,使用较多的中值查找方法包括全排序查找方法、部分排序查找方法、随机选择算法和近似中值查找算法,全排列查找中值的方法大多通过一种主元选择策略来实现,部分排序查找中值的方法通过维度转换、遗忘选择等策略仅对部分元素进行排序来实现,近似中值查找算法是基于三重调整算法取中值实现。4.然而,面对数据量较大的中值查找任务,上述现有的中值查找方法均会在排序过程中存在大量的数据间的比较操作和交换操作,这些操作会导致时间开销过大,进而降低了中值查找的效率。技术实现要素:5.基于此,有必要针对上述技术问题,提供一种能够提高中值查找效率的数据集的中值近似值查找方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。6.第一方面,本技术提供了一种数据集的中值近似值查找方法,该数据集包括多个数组,多个数组采用同一均值和标准差表征数据分布。所述方法包括:7.获取当前的待处理数组和预定义的近似中值查找事件的当前状态;8.根据预定义的近似中值查找事件的当前状态,确定待处理数组的均值和标准差;9.根据均值和标准差,构建累积频率分布表,累积频率分布表包括多个数据分组,数据分组由待处理数组划分得到;10.基于累积频率分布表和预定义的近似中值查找事件的当前状态,查找出待处理数组的中值近似值所在的数据分组,确定待处理数组的中值近似值,并将均值、标准差、中值近似值以及中值近似值所在的数据分组的位置标识传递给下一数组,若预定义的近似中值查找事件的当前状态为第一状态,则将第一状态切换为第二状态,位置标识用于表征数据分组在完成数据划分后的数组中所处的位置;11.返回获取待处理数组和预定义的近似中值查找事件的当前状态的步骤,直至查找出数据集中所有数组的中值近似值。12.在其中一个实施例中,根据预定义的近似中值查找事件的当前状态,确定待处理数组的均值和标准差包括:13.当预定义的近似中值查找事件的当前状态为第一状态时,则计算待处理数组的均值和标准差;14.当预定义的近似中值查找事件的当前状态为第二状态时,则将接收到的上一数组待处理数组的均值和标准差确定为待处理数组的均值和标准差。15.在其中一个实施例中,基于累积频率分布表和预定义的近似中值查找事件的当前状态,查找出待处理数组的中值近似值所在的数据分组,确定待处理数组的中值近似值包括:16.当预定义的近似中值查找事件的当前状态为第一状态时,则根据累积频率分布表,查找出待处理数组的中值近似值所在的数据分组,确定待处理数组的中值近似值;17.当预定义的近似中值查找事件的当前状态为第二状态时,则根据累积频率分布表,查找出待处理数组的中值近似值所在的数据分组,获取第一数据分组位置标识,当第一数据分组位置标识与第二数据分组位置标识一致时,则将接收到的上一数组的中值近似值确定为待处理数组的中值近似值;18.其中,数据分组位置标识用于表征数据分组在完成数据划分后的数组中所处的位置,第一数据分组位置标识为待处理数组的中值近似值所在的数据分组的位置标识,第二数据分组位置标识为接收到的上一数组的中值近似值所在的数据分组的位置标识。19.在其中一个实施例中,获取第一数据分组位置标识之后,还包括:20.若第一数据分组位置标识与第二数据分组位置标识不一致,则判断第一数据分组位置标识与第二数据分组位置标识的差值绝对值是否满足预设误差;21.若差值绝对值满足预设误差,则根据待处理数组的中值近似值所在的数据分组,确定中值近似值;22.若差值绝对值不满足预设误差,则将预定义的近似中值查找事件的当前状态切换为第一状态,返回根据预定义的近似中值查找事件的当前状态,确定待处理数组的均值和标准差的步骤。23.在其中一个实施例中,根据均值和标准差,构建累积频率分布表包括:24.根据均值和标准差,确定多个数据划分区间;25.根据多个数据划分区间,将待处理数组划分为多个数据分组;26.统计各数据分组的累积频率;27.基于各数据分组和各数据分组的累积频率,构建累积频率分布表。28.在其中一个实施例中,统计各数据分组的累积频率包括:29.统计分布在各数据分组内的数据个数,得到各数据分组的频数;30.基于各数据分组的频数,确定各数据分组的频率;31.对各数据分组的频率进行向上累积求和,得到各数据分组的累积频率。32.第二方面,本技术还提供了一种数据集的中值近似值查找装置,该数据集包括多个数组,多个数组采用同一均值和标准差表征数据分布。所述装置包括:33.数据获取模块,用于获取当前的待处理数组和预定义的近似中值查找事件的当前状态;34.均值标准差确定模块,用于根据预定义的近似中值查找事件的当前状态,确定待处理数组的均值和标准差;35.累积频率分布表构建模块,用于根据均值和标准差,构建累积频率分布表,累积频率分布表包括多个数据分组,数据分组由待处理数组划分得到;36.中值近似值确定模块,用于基于累积频率分布表和预定义的近似中值查找事件的当前状态,查找出待处理数组的中值近似值所在的数据分组,确定待处理数组的中值近似值,并将均值、标准差、中值近似值以及中值近似值所在的数据分组的位置标识传递给下一数组,若预定义的近似中值查找事件的当前状态为第一状态,则将第一状态切换为第二状态,位置标识用于表征数据分组在完成数据划分后的数组中所处的位置;37.循环处理模块,用于控制数据获取模块执行获取待处理数组和预定义的近似中值查找事件的当前状态的操作,直至查找出数据集中所有数组的中值近似值。38.第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:39.获取当前的待处理数组和预定义的近似中值查找事件的当前状态;40.根据预定义的近似中值查找事件的当前状态,确定待处理数组的均值和标准差;41.根据均值和标准差,构建累积频率分布表,累积频率分布表包括多个数据分组,数据分组由待处理数组划分得到;42.基于累积频率分布表和预定义的近似中值查找事件的当前状态,查找出待处理数组的中值近似值所在的数据分组,确定待处理数组的中值近似值,并将均值、标准差、中值近似值以及中值近似值所在的数据分组的位置标识传递给下一数组,若预定义的近似中值查找事件的当前状态为第一状态,则将第一状态切换为第二状态,位置标识用于表征数据分组在完成数据划分后的数组中所处的位置;43.返回获取待处理数组和预定义的近似中值查找事件的当前状态的步骤,直至查找出数据集中所有数组的中值近似值。44.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:45.获取当前的待处理数组和预定义的近似中值查找事件的当前状态;46.根据预定义的近似中值查找事件的当前状态,确定待处理数组的均值和标准差;47.根据均值和标准差,构建累积频率分布表,累积频率分布表包括多个数据分组,数据分组由待处理数组划分得到;48.基于累积频率分布表和预定义的近似中值查找事件的当前状态,查找出待处理数组的中值近似值所在的数据分组,确定待处理数组的中值近似值,并将均值、标准差、中值近似值以及中值近似值所在的数据分组的位置标识传递给下一数组,若预定义的近似中值查找事件的当前状态为第一状态,则将第一状态切换为第二状态,位置标识用于表征数据分组在完成数据划分后的数组中所处的位置;49.返回获取待处理数组和预定义的近似中值查找事件的当前状态的步骤,直至查找出数据集中所有数组的中值近似值。50.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:51.获取当前的待处理数组和预定义的近似中值查找事件的当前状态;52.根据预定义的近似中值查找事件的当前状态,确定待处理数组的均值和标准差;53.根据均值和标准差,构建累积频率分布表,累积频率分布表包括多个数据分组,数据分组由待处理数组划分得到;54.基于累积频率分布表和预定义的近似中值查找事件的当前状态,查找出待处理数组的中值近似值所在的数据分组,确定待处理数组的中值近似值,并将均值、标准差、中值近似值以及中值近似值所在的数据分组的位置标识传递给下一数组,若预定义的近似中值查找事件的当前状态为第一状态,则将第一状态切换为第二状态,位置标识用于表征数据分组在完成数据划分后的数组中所处的位置;55.返回获取待处理数组和预定义的近似中值查找事件的当前状态的步骤,直至查找出数据集中所有数组的中值近似值。56.上述数据集的中值近似值查找方法、装置、计算机设备、存储介质和计算机程序产品,引入二状态机制,根据预定义的近似中值查找事件的当前状态,确定待处理数组的均值和标准差,进而构建累积频率分布表,再通过累积频率分布表和预定义的近似中值查找事件的当前状态,查找出所述待处理数组的中值近似值所在的数据分组,并确定中值近似值,使得无需对待处理数组进行排序操作,便能查找出数组近似中值,简化了查找过程,并且,在当前待处理数组的中值近似值查找到之后,会传递当前数组的均值、标准差、中值近似值以及中值近似值所在的数据分组的位置标识传递给下一数组,以便于下一数组的中值查找,减少了数据读取和数据间的比较和交换操作,节省时间开销,综上所述,采用本方法能够提高中值近似值查找效率。附图说明57.图1为一个实施例中数据集的中值近似值查找方法的应用环境图;58.图2为一个实施例中数据集的中值近似值查找方法的流程示意图;59.图3为另一个实施例中数据集的中值近似值查找方法的详细流程示意图;60.图4为另一个实施例中数据集的中值近似值查找方法的算法示意图;61.图5为一个实施例中数据集的中值近似值查找装置的结构框图;62.图6为一个实施例中计算机设备的结构框图。具体实施方式63.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。64.本技术实施例提供的数据集的中值近似值查找方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。具体的,可以是工作人员事先将待处理的数据集上传至数据存储系统,该数据集包括多个采用同一均值和标准差表征数据分布的数组。然后,工作人员通过终端102发送中值近似值查找消息至服务器104,服务器104响应该消息,从数据存储系统中获取当前的待处理数组,并且,获取预定义的近似中值查找事件的状态,然后,根据预定义的近似中值查找事件的当前状态,确定待处理数组的均值和标准差,再根据均值和标准差,构建累积频率分布表,基于累积频率分布表和预定义的近似中值查找事件的当前状态,查找出待处理数组的中值近似值所在的数据分组,确定待处理数组的中值近似值,并将均值、标准差、中值近似值以及中值近似值所在的数据分组的位置标识传递给下一数组,若预定义的近似中值查找事件的当前状态为第一状态,则将第一状态切换为第二状态,返回所述获取待处理数组和预定义的近似中值查找事件的当前状态的步骤,直至查找出数据集中所有数组的中值近似值其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。65.在一个实施例中,如图2所示,提供了一种数据集的中值近似值查找方法,数据集包括多个数组,多个数组采用同一均值和标准差表征数据分布,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:66.步骤100,获取当前的待处理数组和预定义的近似中值查找事件的当前状态。67.在实际应用中,是对包含有多个数组的数据集中每个数组进行中值近似值(以下简称近似中值)的查找,该数据集的数组均具有近似的数据分布,即可用同一个均值和标准差来衡量各数组的数据分布。待处理数组是指当前时间下待查找近似中值的数组,可以理解的是,一般情况下,此时的待处理数组中的数据是乱序的。本实施例中,结合有限状态机的原理,预定义有用于查找数组的中值近似值的近似中值查找事件,该近似中值查找事件具备有限个状态,不同的状态代表不同的意义。按照实际的需要,该模型可以在不同的状态下完成规定的近似中值查找任务。本实施例中,对近似中值查找事件设置有两个状态,包括状态0和状态1,该近似中值查找事件在状态0和状态1的情形下,按照不同的近似中值查找逻辑进行近似中值的查找。具体实施时,第一状态为状态0,第二状态为状态1,且近似中值查找事件的初始化状态为状态0,等待新数组的到来。可以理解的是,在其他实施例中第一状态限定也可以是状态1,第二状态也可以是状态0,在此不做限定。68.步骤200,根据预定义的近似中值查找事件的当前状态,确定待处理数组的均值和标准差。69.当数据分布严格遵循于正态分布时,均值和中值是等价的。但是,实际应用中数据并不总是遵循正态分布。因此,并不能用数组中的均值直接代替中值。经研究发现,当数据的分布为正偏态分布时,此时,m》me》m0时,即平均数大于中数,中数又大于众数;而当数据的分布为负偏态分布时,此时,m《me《m0,即均值小于中值,中值又小于众数。受上述数据分布的特性的启发,本实施例中,使用均值(定义为μ)和标准差(定义为σ)来定位中值。70.在实际应用中,针对近似中值查找事件的不同状态,定义有不同的近似中值查找流程。获取到当前待处理的数组和近似中值查找事件的当前状态后,则根据近似中值查找事件的状态,确定相应的均值和标准差的处理流程,进而确定待处理数组的均值和标准差。71.步骤300,根据均值和标准差,构建累积频率分布表,累积频率分布表包括多个数据分组,数据分组由待处理数组划分得到。72.累积频率分布表(cumulativefrequencytable,简称cft),又可称累积相对次数分布表和累积频率表,是将各组的频率(也可称频数)由下至上或从上至下逐一累积求和,得到每一次累积求和后的各组的累积频率,然后用统计表的形式表达出来。例如,数据分组及其频率的对应关系为[10,30)~0.2、[30,40)~0.3以及[30,40)~0.5,则将各组的频率进行向上累积求和,应得到[10,30)~0.2、[30,40)~0.5以及[30,40)~1。累积频率分布表包括各数据分组、各数据分组的频数、频率以及对应的累积频率等。[0073]步骤400,基于累积频率分布表和预定义的近似中值查找事件的当前状态,查找出待处理数组的中值近似值所在的数据分组,确定待处理数组的中值近似值,并将均值、标准差、中值近似值以及中值近似值所在的数据分组的位置标识传递给下一数组,返回步骤100,直至查找出数据集中所有数组的中值近似值。[0074]本实施例中,位置标识用于表征数据分组在完成数据划分后的数组中所处的位置。构建累积频率分布表后,中值即(中位数)将位于出现累计频率超过50%的第一个分组中,该组即可以视为中值所在分组。并且,通过计算该组上下边界之和的一半即可得到中值的近似值。实际应用中,由于数组的组距中的具体数值并不清楚,且中值的数值要求也不必完全准确,因此,本实施例中,采用查找中值近似值的方式代替中值查找。具体实施时,可以是逐一读取累积频率分布表中各数据分组的累积频率,若当前读取的数据分组的累积频率超过0.5,则认为待处理数组的中值近似值分布在本数据分组中,进一步,基于该中值近似值所在的数据分组和近似中值查找事件的当前状态,确定待处理数组的中值近似值。同时,将当前的待处理数组的均值、标准差、中值近似值所在分组的位置标识和中值近似值传递给下一个数组。需要说明的是,若近似中值查找事件的当前状态为第一状态即状态0,当完成当前待处理数组的中值近似值查找后,需要将状态0切换为状态1。若近似中值查找事件的当前状态为第二状态即状态1,当完成当前待处理数组的中值近似值查找后,可不进行状态切换操作,将近似中值查找事件的当前状态继续保持为状态1。然后,返回步骤100,开始处理下一个数组,按照上述方式,直至查找出数据集中所有数组的中值近似值。可以理解的是,近似中值查找事件的当前状态为状态1时,在查找中值近似值的过程中,也可将状态1切换为状态0,然后按照状态0下的中值近似值查找流程对当前的待处理数组进行中值近似值的查找。[0075]上述数据集的中值近似值查找方法中,引入二状态机制,根据预定义的近似中值查找事件的当前状态,确定待处理数组的均值和标准差,进而构建累积频率分布表,再通过累积频率分布表和预定义的近似中值查找事件的当前状态,查找出所述待处理数组的中值近似值所在的数据分组,并确定中值近似值,使得无需对待处理数组进行排序操作,便能查找出数组近似中值,简化了查找过程,并且,在当前待处理数组的中值近似值查找到之后,会传递当前数组的均值、标准差、中值近似值以及中值近似值所在的数据分组的位置标识传递给下一数组,以便于下一数组的中值查找,减少了数据读取和数据间的比较和交换操作,节省时间开销,综上所述,采用本方法能够提高查找效率。[0076]如图3所示,在其中一个实施例中,步骤200包括:步骤220,当预定义的近似中值查找事件的当前状态为第一状态时,则计算待处理数组的均值和标准差,步骤240,当预定义的近似中值查找事件的当前状态为第二状态时,则将接收到的上一数组待处理数组的均值和标准差确定为待处理数组的均值和标准差。[0077]具体实施时,由于数组之间具有近似的数据分布,均可以用同一个均值和标准差表征数据分布,因此,可以是当预定义的近似中值查找事件的当前状态为状态0时,则计算待处理数组的均值和标准差,当预定义的近似中值查找事件的当前状态为状态1时,则将接收到的上一数组待处理数组的均值和标准差确定为待处理数组的均值和标准差,如此,能够在近似中值查找事件为状态1时,省略计算待处理数组的均值和标准差的操作,减少时间开销。[0078]如图3所示,在其中一个实施例中,步骤300包括:步骤320,根据均值和标准差,确定多个数据划分区间,根据多个数据划分区间,将待处理数组划分为多个数据分组,统计各数据分组的累积频率,基于各数据分组和各数据分组的累积频率,构建累积频率分布表。[0079]具体实施时,可参考正态分布中的68-95-99.7规则,利用μ和σ来确定数据划分区间,设置每个数据分组的边界,从而将待处理数组划分为多个数据分组。例如,数据分组可划分为(-∞,μ-3σ],(μ-3σ,μ-2σ],(μ-2σ,μ-σ],(μ-σ,μ],(μ,μ+σ],(μ+σ,μ+2σ],(μ+2σ,μ+3σ],(μ+3σ,+∞)。然后,对各数据分组进行频率累积,统计各数据分组的累积频率,基于各数据分组和各数据分组的累积频率,构建累积频率分布表。值得一提的是,通过大量的数据实验发现,在统计数据分组的频数时,数据落入两个中间组即(μ-σ,μ]和(μ,μ+σ]的概率很高,因此,为了进一步提高中值近似值的精度,在另一个实施例中,还可再将(μ-σ,μ]和(μ,μ+σ]再平均分成三个小组,即每个分组的长度划分为σ/3,以细化数据分组的划分。本实施例中,通过标准差和均值,构建累积频率分布表,可以实现对待处理数组进行一次遍历,便能确定标准差、均值和累积频率分布表,节省时间,且时间复杂度是线性的,仅仅需要o(n)即可,n是数组的长度。[0080]在其中一个实施例中,统计各数据分组的累积频率包括:统计分布在各数据分组内的数据个数,得到各数据分组的频数,基于各数据分组的频数,确定各数据分组的频率,对各数据分组的频率进行向上累积求和,得到各数据分组的累积频率。[0081]本实施例中,统计各数据分组的累积频率可以是,遍历待处理数组的数据,判断每个数据所落入的数据分组,以此统计得到各数据分组的频数,然后,基于各数据分组的频数,确定各数据分组的频率,再采用向上累积的方式,对各数据分组的频率进行向上累积求和,得到各数据分组的累积频率。可以理解的是,在其他实施例中,也可以是对各数据分组的频率进行向下累积求和,在此不做限定。本实施例中,通过向上累积求和的方式,能够正确有序地统计出数据分组的累积频率。[0082]如图3所示,在其中一个实施例中,基于累积频率分布表和预定义的近似中值查找事件的当前状态,查找出待处理数组的中值近似值所在的数据分组,确定待处理数组的中值近似值包括:步骤420,当预定义的近似中值查找事件的当前状态为第一状态时,则根据累积频率分布表,查找出待处理数组的中值近似值所在的数据分组,确定待处理数组的中值近似值;步骤440,当预定义的近似中值查找事件的当前状态为第二状态时,则根据累积频率分布表,查找出待处理数组的中值近似值所在的数据分组,获取第一数据分组位置标识,当第一数据分组位置标识与第二数据分组位置标识一致时,则将接收到的上一数组的中值近似值确定为待处理数组的中值近似值;其中,数据分组位置标识用于表征数据分组在完成数据划分后的数组中所处的位置,第一数据分组位置标识为待处理数组的中值近似值所在的数据分组的位置标识,第二数据分组位置标识为接收到的上一数组的中值近似值所在的数据分组的位置标识。[0083]具体实施时,数据分组位置标识表示数据分组在其所在的数组中的排列位置及第几个数据分组。可以是当预定义的近似中值查找事件的当前状态为状态0时,则直接读取累计频率分布表中各数据分组的累积频率,若当前读取的数据分组的累积频率超过0.5,则认为中值近似值分布在当前的数据分组中,将其确定为中值近似值所在的数据分组,然后,将中值近似值所在的数据分组的上下边界之和的一半,确定为整个待处理数组的中值近似值。举例说明,假设一个数据分组的频率记为num(i),i为数据分组位置标识,其是当前数据分组在完成数据划分后的数组中从左往右数得的第几个数据分组,且i从1开始标号。在计算cft时定义一个变量allsum,根据累计评分表的计算方法,此时allsum=num(1)+num(2)+num(3)+num(4)+…,在频率累加的过程中,可以同时判断allsum是否达到0.5,若到达,即可停止累加,记录当前累加的i值,i值就是当前的待处理数组的找中值近似值的所在数据分组位置标识。[0084]当预定义的近似中值查找事件的当前状态为状态1时,则同样按照上述方式,查找出中值近似值所在的数据分组,获取将中值近似值所在的数据分组的位置标识,比较待处理数组的中值近似值所在的数据分组的位置标识与接收到的上一数组的中值近似值所在的数据分组的位置标识是否一致,若一致,则表明当前的待处理数组与上一数组的数据分布是相似的,此时,直接将接收到的上一数组的中值近似值作为当前的待处理数组的中值近似值,然后,维持状态1,返回步骤100,在状态1的情形下,继续查找下一数组的中值近似值。本实施例中,在近似中值查找事件为状态1时,若待处理数组的中值近似值所在的数据分组的位置标识与接收到的上一数组的中值近似值所在的数据分组的位置标识一致时,则直接将接收到的上一数组的中值近似值作为当前的待处理数组的中值近似值,能够简化中值近似值的查找过程,节省查找时间。[0085]在其中一个实施例中,获取第一数据分组位置标识之后,还包括:若第一数据分组位置标识与第二数据分组位置标识不一致,则判断第一数据分组位置标识与第二数据分组位置标识的差值绝对值是否满足预设误差;若差值绝对值满足预设误差,则根据待处理数组的中值近似值所在的数据分组,确定中值近似值;若差值绝对值不满足预设误差,则将预定义的近似中值查找事件的当前状态切换为第一状态,返回步骤200。[0086]承接上述实施例,若第一数据分组位置标识与第二数据分组位置标识不一致,则表明待处理数组与上一数组的数据分布的近似度不是很高,可比较第一数据分组位置标识与第二数据分组位置标识是否在1个数据分组的区间内浮动,具体的,可以比较第一数据分组位置标识与第二数据分组位置标识的差值绝对值是否为1,若为1,则表明第一数据分组位置标识与第二数据分组位置标识在1个数据分组的区间内浮动,此时,则根据待处理数组的中值近似值的所在分组的上下边界,确定待处理数组的中值近似值。若第一数据分组位置标识与第二数据分组位置标识的差值绝对值不为1,则表明待处理数组与上一数组的数据分布的并不相似,需要重新计算待处理数组的均值和标准差,进行中值近似值的查找。此时,可将近似中值查找事件的状态从状态1切换为状态0,然后,返回步骤200,按照状态0的情形,查找待处理数组的中值近似值。本实施例中,设置有数据分组位置标识的误差,并根据该误差确定相应的中值近似值的确定方式,能够更贴近真实情况,查找出更为精确的中值近似值。[0087]为了对本技术提供的数据集的中值近似值查找方法做出更为清楚的说明,下面结合一个具体实施例和图4进行说明:[0088]用户预先定义好近似中值查找事件,且初始化该事件的状态为0,然后,将待进行近似中值查找的数据集上传至服务器,数据集中包括多个具有近似数据分布的数组,数组均可采用同一均值和标准差描述数据分布。然后,用户通过终端发送近似中值查找消息至服务器,服务器响应该消息,依次对数据集中的数组进行近似中值查找。[0089]具体的,近似中值查找的过程可以是:获取第一个待处理的数组和预定义的近似中值查找事件的当前状态,此时,近似中值查找事件的状态为初始化状态即为状态0,然后,计算待处理数组的标准差和均值,根据均值和标准差,确定多个数据划分区间,根据多个数据划分区间,将待处理数组划分为多个数据分组,统计各数据分组的累积频率,基于各数据分组和各数据分组的累积频率,构建累积频率分布表。接着,读取累计频率分布表中各数据分组的累积频率,若当前读取的数据分组的累积频率超过0.5,则认为中值近似值分布在当前的数据分组中,将其确定为中值近似值所在的数据分组,然后,将中值近似值所在的数据分组的上下边界之和的一半,确定为整个待处理数组的中值近似值,输出中值近似值,传递待处理数组的标准差、均值、中值近似值以及中值近似值所在的数据分组位置标识至下一数组,然后,将近似中值查找事件的状态从0切换为状态1,返回获取当前的待处理的数组和预定义的近似中值查找事件的当前状态的步骤。当下一数组被传入时,此时,近似中值查找事件的状态为状态1,将下一数组作为当前的待处理数组,根据接收到的上一数组的标准差和均值,按照上述构建累积频率分布表的方式,得到累积频率分布表。然后,读取累计频率分布表中各数据分组的累积频率,查找到中值近似值所在的数据分组,获取第一数据分组位置标识,当第一数据分组位置标识与第二数据分组位置标识一致时,则将接收到的上一数组的中值近似值确定为待处理数组的中值近似值;若不一致,则判断第一数据分组位置标识与第二数据分组位置标识的差值绝对值是否满足预设误差1,若差值绝对值满足预设误差1,则根据待处理数组的中值近似值所在的数据分组,确定中值近似值,若差值绝对值不满足预设误差,则将预定义的近似中值查找事件从状态1切换为状态0,再次返回获取当前的待处理的数组和预定义的近似中值查找事件的当前状态的步骤,直至数据集中的所有数组的中值近似值都被查找出来。[0090]应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以按照其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。[0091]基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的数据集的中值近似值查找方法的数据集的中值近似值查找装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据集的中值近似值查找装置实施例中的具体限定可以参见上文中对于数据集的中值近似值查找方法的限定,在此不再赘述。[0092]在一个实施例中,如图5所示,提供了一种数据集的中值近似值查找装置,该数据集包括多个数组,多个数组采用同一均值和标准差表征数据分布。装置包括:数据获取模块510、均值标准差确定模块520、累积频率分布表构建模块530、中值近似值确定模块540和循环处理模块550,其中:[0093]数据获取模块510,用于获取当前的待处理数组和预定义的近似中值查找事件的当前状态。[0094]均值标准差确定模块520,用于根据预定义的近似中值查找事件的当前状态,确定待处理数组的均值和标准差。[0095]累积频率分布表构建模块530,用于根据均值和标准差,构建累积频率分布表,累积频率分布表包括多个数据分组,数据分组由待处理数组划分得到。[0096]中值近似值确定模块540,用于基于累积频率分布表和预定义的近似中值查找事件的当前状态,查找出待处理数组的中值近似值所在的数据分组,确定待处理数组的中值近似值,并将均值、标准差、中值近似值以及中值近似值所在的数据分组的位置标识传递给下一数组,若预定义的近似中值查找事件的当前状态为第一状态,则将第一状态切换为第二状态。[0097]循环处理模块550,用于控制数据获取模块执行获取待处理数组和预定义的近似中值查找事件的当前状态的操作,直至查找出数据集中所有数组的中值近似值。[0098]上述数据集的中值近似值查找装置,引入二状态机制,根据预定义的近似中值查找事件的当前状态,确定待处理数组的均值和标准差,进而构建累积频率分布表,再通过累积频率分布表和预定义的近似中值查找事件的当前状态,查找出所述待处理数组的中值近似值所在的数据分组,并确定中值近似值,使得无需对待处理数组进行排序操作,便能查找出数组近似中值,简化了查找过程,并且,在当前待处理数组的中值近似值查找到之后,会传递当前数组的均值、标准差、中值近似值以及中值近似值所在的数据分组的位置标识传递给下一数组,以便于下一数组的中值查找,减少了数据读取和数据间的比较和交换操作,节省时间开销,综上所述,采用本装置能够提高查找效率。[0099]在其中一个实施例中,均值标准差确定模块520还用于当预定义的近似中值查找事件的当前状态为第一状态时,则计算待处理数组的均值和标准差,当预定义的近似中值查找事件的当前状态为第二状态时,则将接收到的上一数组待处理数组的均值和标准差确定为待处理数组的均值和标准差。[0100]在其中一个实施例中,中值近似值确定模块540还用于当预定义的近似中值查找事件的当前状态为第一状态时,则根据累积频率分布表,查找出待处理数组的中值近似值所在的数据分组,确定待处理数组的中值近似值,当预定义的近似中值查找事件的当前状态为第二状态时,则根据累积频率分布表,查找出待处理数组的中值近似值所在的数据分组,获取第一数据分组位置标识,当第一数据分组位置标识与第二数据分组位置标识一致时,则将接收到的上一数组的中值近似值确定为待处理数组的中值近似值,其中,数据分组位置标识用于表征数据分组在完成数据划分后的数组中所处的位置,第一数据分组位置标识为待处理数组的中值近似值所在的数据分组的位置标识,第二数据分组位置标识为接收到的上一数组的中值近似值所在的数据分组的位置标识。[0101]在其中一个实施例中,中值近似值确定模块540还用于若第一数据分组位置标识与第二数据分组位置标识不一致,则判断第一数据分组位置标识与第二数据分组位置标识的差值绝对值是否满足预设误差,若差值绝对值满足预设误差,则根据待处理数组的中值近似值所在的数据分组,确定中值近似值,若差值绝对值不满足预设误差,则将预定义的近似中值查找事件的当前状态切换为第一状态,控制数据获取模块510执行根据预定义的近似中值查找事件的当前状态,确定待处理数组的均值和标准差的操作。[0102]在其中一个实施例中,均值标准差确定模块520还用于根据均值和标准差,确定多个数据划分区间,根据多个数据划分区间,将待处理数组划分为多个数据分组,统计各数据分组的累积频率,基于各数据分组和各数据分组的累积频率,构建累积频率分布表。[0103]在其中一个实施例中,累积频率分布表构建模块530还用于统计分布在各数据分组内的数据个数,得到各数据分组的频数,基于各数据分组的频数,确定各数据分组的频率,对各数据分组的频率进行向上累积求和,得到各数据分组的累积频率。[0104]上述数据集的中值近似值查找装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。[0105]在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储待查找中值近似值的数据集、中值近似值、标准差和均值等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据集的中值近似值查找方法。[0106]本领域技术人员可以理解,图6中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。[0107]在其中一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述数据集的中值近似值查找方法中的步骤。[0108]在其中一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述数据集的中值近似值查找方法中的步骤。[0109]在其中一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述数据集的中值近似值查找方法中的步骤。[0110]需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。[0111]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-onlymemory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistiverandomaccessmemory,mram)、铁电存储器(ferroelectricrandomaccessmemory,fram)、相变存储器(phasechangememory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(randomaccessmemory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(staticrandomaccessmemory,sram)或动态随机存取存储器(dynamicrandomaccessmemory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。[0112]以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。[0113]以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1