CN116821559B - 用于快速获取一组大数据集中趋势的方法、***及终端 - Google Patents

用于快速获取一组大数据集中趋势的方法、***及终端 Download PDF

Info

Publication number
CN116821559B
CN116821559B CN202310832035.0A CN202310832035A CN116821559B CN 116821559 B CN116821559 B CN 116821559B CN 202310832035 A CN202310832035 A CN 202310832035A CN 116821559 B CN116821559 B CN 116821559B
Authority
CN
China
Prior art keywords
median
data
dataset
dvalue
index
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310832035.0A
Other languages
English (en)
Other versions
CN116821559A (zh
Inventor
王飞鹏
杨美妮
贲可荣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Naval University of Engineering PLA
Original Assignee
Naval University of Engineering PLA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Naval University of Engineering PLA filed Critical Naval University of Engineering PLA
Priority to CN202310832035.0A priority Critical patent/CN116821559B/zh
Publication of CN116821559A publication Critical patent/CN116821559A/zh
Application granted granted Critical
Publication of CN116821559B publication Critical patent/CN116821559B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02ATECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
    • Y02A90/00Technologies having an indirect contribution to adaptation to climate change
    • Y02A90/10Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Complex Calculations (AREA)

Abstract

本发明属于数据处理技术领域,公开了一种用于快速获取一组大数据集中趋势的方法、***及终端,计算待处理数据集合Dataset的个数n并求和;平均分组同时计算Dataset中每个数ai与其它数的差的绝对值之和的集合DValue;计算最小值索引在Dataset中对应的数据Median0;更新集合DValue,计算获得Median1;计算Dataset的中位数并输出。本发明的快速获取一组大数据集中趋势方法的在多台设备同时运算时平均时间复杂度急剧下降,设备台数接近数据个数时平均时间复杂度为O(n),计算成本低,获取趋势结果效率高,解决了现有技术耗费的计算时间成本巨大的问题。

Description

用于快速获取一组大数据集中趋势的方法、***及终端
技术领域
本发明属于数据处理技术领域,尤其涉及一种用于快速获取一组大数据集中趋势的方法、***及终端。
背景技术
目前,获取一组数据集中趋势的常用方法是利用中位数来描述。中位数是把一组数据按照大小排序后,位于中间位置的数值。在金融、军事等多个领域,中位数被广泛应用于描述数据的集中趋势。传统的计算中位数方法首先需要对数据进行排序,对于包含n个元素的数据集,排序的时间复杂度为O(nlogn)。然后,在排序的基础上找到中位数。然而,这种方法存在明显的缺点和问题。
首先,由于排序算法的时间复杂度为O(nlogn),意味着随着数据量的增大,所需的计算时间将显著增加。在处理大数据时,将会导致计算成本的不可控。
其次,这种方法需要对所有的数据进行排序,而我们只需要获取数据的中位数,因此会导致许多不必要的计算开销。
传统计算中位数方法主要存在以下技术缺陷和问题:
1)时间复杂度较高:
传统计算中位数方法需要对数据集进行完全排序,对于包含n个元素的数据集,排序的时间复杂度为O(nlogn)。随着数据量的增大,所需的计算时间将显著增加。在处理大数据时,这会导致计算成本的不可控,降低处理效率。
2)计算资源浪费:
在传统方法中,需要对所有数据进行排序,而实际上我们只关心数据的中位数。这导致了许多不必要的计算开销,浪费了大量计算资源。
3)空间复杂度较高:
对于一些基于比较的排序算法(如归并排序),在排序过程中可能需要额外的空间来存储数据。这会导致空间复杂度增加,对内存资源造成压力。
4)不适应动态数据:
传统的计算中位数方法需要对整个数据集进行排序,当数据集发生变化时,需要重新进行排序。这种方法不适应动态数据,无法实时更新中位数。
发明内容
针对现有技术存在的问题,本发明提供了一种用于快速获取一组大数据集中趋势的方法、***及终端。
本发明是一种用于快速获取一组大数据集中趋势的方法,其详细步骤包括:假设这组待处理大数据集合为Dataset,首先计算出Dataset的基数(数据个数)n,紧接着在m(m≤n,后同)台设备上将n个数据进行平均分组,并同时计算出m组数据中每个数ai与其它n-1个数的差的绝对值之和DValuei,以得到所有n个数据相对其它数据的差的绝对值之和的集合DValue;判断Dataset数据集的数据个数n的奇偶性,若n为奇数,则计算DValue的最小值的索引Medianindex0,并获得Dataset数据集合中Medianindex0索引对应的数据值Median0,即为Dataset数据集合的中位数;若n为偶数,则把DValue数据集合中索引为Medianindex0的值设置为正无穷大,得到更新后的数据集合DValue,计算新DValue的最小值的索引Mediainnde1x,并获得Dataset数据集合中Medianindex1索引对应的数据Median1;最后,根据Median0和Median1的均值计算获得Dataset数据集合的中位数并输出。需要注意的是Dataset数据集合中的所有数据均为非负数;如果存在负数,则把Dataset数据集合中的每个数据加上一个相同的数以确保上述算法的输入为一个非负数据集合。
进一步,用于快速获取一组大数据集中趋势的方法包括以下步骤:
步骤一,计算Dataset数据集合基数n,平均分m组后在m台设备上或m个线程同时计算获得Datase数据集合每个数ai与其它数的差的绝对值的和DValuei,最终得到所有n个数据相对其它数据的差的绝对值之和的集合DValue;
步骤二,首先计算DValue的最小值的索引Mediainnde0x,然后计算获得Dataset中索引为Medianindex0的值Median0
步骤三,如果n为奇数,数据集Dataset的中位数MedianDataset=Median0,跳转执行步骤四;如果n为偶数,把DValue数据集合中索引为Medianindex0的值置为正无穷大,即DValue(Medianindex0)=+∞,得到新的数据集合DValue,再计算新数据集合DValue的最小值的索引Medianindex1,然后计算获得Dataset中索引为Meidn1的值Me1d,数据集Dat的中位数MedianDataset=(Median0+Median1)÷2;
步骤四,输出MedianDataset,MedianDataset为Dataset数据集合的中位数,即集中趋势,结束。
进一步,步骤一中,将Dataset数据集合记为{ai},i=0,1,2,...,n-1;Dataset数据集合中每个数ai与其它数的差的绝对值的和DValuei的计算公式为:
其中,i=0,1,2,...,n-1。为了快速计算DValuei,把上述公式中的ai平均分配在m(m≤n)台设备上同时进行计算,即在每台设备上分别计算n÷m个ai与Dataset中其它数的差的绝对值之和。比如,m=2,则在2台设备上同时进行计算ai;第1台设备计算DValuei,其中,第2台设备计算DValuei,其中,
进一步,步骤二中的DValue的最小值的索引Medianindex0的计算公式为:
Medianindex0=MinIndex(DValue);
其中i=0,1,2,...,n-1。Dataset数据集中索引为Medianindex0的值Median0的计算公式为:
Median0=Dataset(Medianindex0);
其中i=0,1,2,...,n-1。
进一步,步骤三中新的DValue的最小值的索引Medianindex1的计算公式为:
Medianindex1=MinIndex(DValue);
其中i=0,1,2,...,n-1。Dataset数据集中索引为Medianindex1的值Median1的计算公式为:
Median1=Dataset(Medianindex1);
其中,i=0,1,2,...,n-1。
本发明的另一目的在于提供一种应用所述的用于快速获取一组大数据集中趋势的方法的用于快速获取一组大数据集中趋势的***,用于快速获取一组大数据集中趋势的***包括:
DValue计算获取模块,分组同时计算Dataset数据集合中每个数ai与其它数的差的绝对值的和DValuei,以获得Dataset数据集合中所有n个数据相对其它数据的差的绝对值之和的集合DValue;
DValue最小值索引获取模块(只取一个索引),通过比较获取DValue数据集中的最小值的索引;
DValue更新模块,把DValue中通过DValue最小值索引获取模块取得的索引对应的值置为正无穷大,以获得新的DValue数据集合;
Median0或Median1获取模块,利用DValue最小值索引获取模块计算获得当前DValue的最小值索引,并依据此索引计算获得Dataset数据集合中相应的数据Median0或Median1
奇偶性判断模块,用于判断Dataset数据集合个数n的奇偶性,若n为奇数,则利用Media0n或Median1获取模块计算获得Media0n;若n为偶数,则利用Media0n或Median1获取模块计算获得Median0,再利用DValue更新模块更新获得新的DValue后再次利用Median0或Median1获取模块计算获得Median1
中位数计算模块,根据Median0和Median1计算Dataset数据集合的中位数并输出,所有数据均为非负数。
本发明的另一目的在于提供一种计算机设备,计算机设备包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行所述的用于快速获取一组大数据集中趋势的方法的步骤。
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行所述的用于快速获取一组大数据集中趋势的方法的步骤。
本发明的另一目的在于提供一种信息数据处理终端,信息数据处理终端用于实现所述的用于快速获取一组大数据集中趋势的***。
结合上述的技术方案和解决的技术问题,本发明所要保护的技术方案所具备的优点及积极效果为:
第一,传统获取中位数的方法,通常是先把这组n个数据进行排序;然后,依据n的奇偶性,如果n是奇数,直接取中间位置值作为中位数;如果n是偶数,则取中间位置的两个值的平均数作为中位数;在传统获取中位数的过程中,其关键步骤是对这组数据进行排序处理,针对数据元素个数巨大的数据集合,最好的排序算法的平均时间复杂度为O(nlogn),而本发明提供的用于快速获取一组大数据集中趋势方法,通过把n个数据平均分成m的组同时进行改进后的求和运算,其平均时间复杂度随m的增大急剧降低,m=n时其时间复杂度为O(n),计算时间成本低,获取趋势结果效率高。
第二,本发明主要用于快速获取一组大数据集中趋势,此方法解决了由于相关领域数据量巨大导致的现有数据集合集中趋势的获取方法耗费的计算成本巨大的问题。由于本发明在获取数据集合的集中趋势时所并行计算的硬件要求低,相比其它获取数据集合的集中趋势方法所耗费在排序的计算成本可以做到低一个数量级,在实际应用中兼具时效性和稳定性。
第三,该方案的积极效果和技术优势主要有:
1)仅用低性能计算设备并行处理就能够快速获得大数据集合的集中趋势(中位数)。这在实际的数据分析和挖掘中有重要应用价值,为后续的模型训练、预测等提供基础。
2)算法时间复杂度和空间复杂度较低,能够处理海量的数据,这在大数据背景下尤其重要。
3)算法逻辑简单清晰,易于理解和实现。这使得该方法很容易被工程师和研究人员采用和扩展。
4)与直接排序和判断数据集合方式相比,效率更高。这使得该方法可以作为替代方案,应用于更广泛的场景。
5)该方法充分利用软件与计算机设备的优势,体现计算机科学与数学的有机结合,为两门学科的交叉与融合提供了良好示例。这有助于两门学科的发展。
6)该方法在技术上相对成熟和稳定,可直接应用于实际的数据分析和挖掘工作中,产生显著效果。这与许多理论方法相比更具实用价值。
7)该方法还有进一步提高和优化的空间,如扩展到包含负数的数据场景,考虑更复杂的数据分布情况等。这为后续的研究工作提供了方向。
所以,总的来说,该方案的积极效果和技术优势在于实用、高效、易用等特点,这使其在大数据场景下有重要的应用前景和研究价值。它是计算机科学与数学交叉融合的一个很好示例。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见的,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的用于快速获取一组大数据集中趋势方法流程图;
图2是本发明实施例提供的用于快速获取一组大数据集中趋势***交互图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
本发明实施例提供的方法的核心创新点主要有:
1)利用数据点与其他所有数据点的差的绝对值之和来判断数据点的“中心性”,从而快速判断数据集合的集中趋势或中位数。这避免了直接排序整个数据集合以判断中位数的处理方式,提高了效率。
2)通过设置第一个“中心”数据点为正无穷大,重新计算得到第二个“中心”数据点,继而通过判断数据集合个数的奇偶性以最终获得数据集合的中位数。这种方式避免了直接判断数据集合个数的方式,简化了逻辑。
3)由于全部数据均为非负数,所以数据点与其他所有数据点的差的绝对值之和可以有效判断数据点的“中心性”。如果数据包含负数,则需要简单的计算方式,即数据集合中的数据整体平移为非负数即可。
4)该方法利用软件和低性能计算机设备,通过程序实现快速判断大数据集合的集中趋势或中位数。这体现了软件与硬件的有效结合,提高calculation power,解决实际问题。
5)该方法的时间复杂度有希望达到O(n),空间复杂度为O(n),较直接排序的时间复杂度O(nlogn)有所提高,可处理海量数据集合。
所以,该方法的核心创新点在于利用软件与低性能计算机设备,通过巧妙的算法设计,解决实际的大数据场景下快速判断数据集合中位数的问题。算法设计体现了计算机科学与应用数学的融合。
如图1所示,本发明实施例提供的用于快速获取一组大数据集中趋势方法包括以下步骤:
S101,计算待处理数据集合Dataset的基数(数据个数)n;分m组同时计算Dataset数据集合中每个数ai与其它数的差的绝对值之和的集合DValue;
S102,计算DValue的最小值的索引Medianindex0,计算获得Dataset中对应此索引的值Median0
S103,判断Dataset数据集合个数n的奇偶性,若n为奇数,输出Median0,即为Dataset数据集合中位数;若n为偶数,则把DValue数据集合中索引为Medianindex0的值重置为正无穷大,即DValue(Medianindex0)=+∞,得到新的数据集合DValue,计算新DValue的最小值的索引Medianindex1,计算获得Dataset中对应此索引的值Median1
S104,根据Median0和Median1计算Dataset数据集合的中位数并输出,所有数据均为非负数。
作为优选实施例,本发明实施例提供的用于快速获取一组大数据Dataset(以所有的数据都为非负数为例)集中趋势(中位数)的方法具体包括以下步骤:
步骤1:计算Dataset这组数据集的基数(个数)n,并将这组数据记为{ai},i=0,1,2,...,n-1;
步骤2:平均分成m组同时计算Dataset这组数中每个数ai与其它数的差的绝对值之和:
其中,i=0,1,2,...,n-1,以获得所有n个数据相对其它数据的差的绝对值之和的集合DValue;
步骤3:计算DValue的最小值的索引Medianindex0=MinIndex(DValue),其中,i=0,1,2,,n-1;
步骤4:计算获得Dataset中索引为Medianindex0的值Median0,其计算公式为Median0=Dataset(Medianindex0),其中,i=0,1,2,...,n-1;
步骤5:如果n为奇数,MedianDataset=Median0,跳转执行步骤9;如果n为偶数,把DValue数据集合中索引为Medianindex0的值置为正无穷大,即DValue(Medianindex0)=+∞,得到新的数据集合DValue,其中,i=0,1,2,...,n-1;
步骤6:计算新DValue的最小值的索引Medianindex1=MinIndex(DValue),其中,i=0,1,2,...,n-1;
步骤7:计算获得Dataset中对应Medianindex1索引的值Median1,其计算公式为Median1=Dataset(Medianindex1),其中,i=0,1,2,...,n-1;
步骤8:计算MedianDataset=(Median0+Median1)÷2;
步骤9:输出MedianDataset,即为Dataset这组数的中位数,结束。
如图2所示,本发明实施例提供的用于快速获取一组大数据集中趋势***包括:
DValue计算模块,分组同时计算Dataset数据集合中每个数ai与其它数的差的绝对值的和DValuei,以获得Dataset数据集合中所有n个数据相对其它数据的差的绝对值之和的集合DValue;
DValue最小值索引计算模块(只取一个索引),通过比较获取DValue数据集中的最小值的索引;
Median0或Median1计算模块,利用DValue最小值索引获取模块计算获得当前DValue的最小值索引,并依据此索引计算获得Dataset数据集合中相应的数据Median0或Median1
奇偶性判断模块,用于判断Dataset数据集合个数n的奇偶性,若n为奇数,则利用Media0n或Median1获取模块计算获得Media0n;若n为偶数,则利用Media0n或Median1获取模块计算获得Medi0a,再给DValue中索引为Medianindex0的值更新为正无穷大,得到新的数据集合DValue,利用DValue更新模块更新获得新的DValue后再次利用Median0或Median1获取模块计算获得Media1n;
中位数计算模块,根据Median0和Median1计算Dataset数据集合的中位数并输出,所有数据均为非负数。
本发明实施例提供的用于快速获取一组大数据集中趋势的方法的用于快速获取一组大数据集中趋势的***,用于快速获取一组大数据集中趋势的***包括:
DValue获取模块,分组同时计算Dataset数据集合中每个数ai与其它数的差的绝对值的和DValuei,以获得Dataset数据集合中所有n个数据相对其它数据的差的绝对值之和的集合DValue;
DValue最小值索引获取模块(只取一个索引),通过比较获取DValue数据集中的最小值的索引;
DValue更新模块,把DValue中通过DValue最小值索引获取模块取得的索引对应的值置为正无穷大,以获得新的DValue数据集合;
Median0或Median1获取模块,利用DValue最小值索引获取模块计算获得当前DValue的最小值索引,并依据此索引计算获得Dataset数据集合中相应的数据Median0或Median1
奇偶性判断模块,用于判断Dataset数据集合个数n的奇偶性,若n为奇数,则利用Media0n或Median1获取模块计算获得Media0n;若n为偶数,则利用Media0n或Median1获取模块计算获得Median0,再利用DValue更新模块更新获得新的DValue后再次利用Median0或Median1获取模块计算获得Median1
中位数获得模块,根据Median0和Median1计算Dataset数据集合的中位数并输出,所有数据均为非负数。
该***的工作原理如下:
1)差的绝对值之和集合获取模块:该模块用于计算待处理数据集合的个数并平均分组同时计算数据集合中每个数与其它数的差的绝对值的和,从而获得所有每个数据相对其它数据的差的绝对值之和的集合。
2)最小值索引获取模块(只取一个索引),通过比较获取差的绝对值之和数据集中的最小值的索引。
3)差的绝对值之和数据集更新模块,把最小值索引获取模块取得的索引对应的值置为正无穷大,以获得新的差的绝对值之和数据集。
4)最小值索引对应数据获取模块,通过最小值索引获取模块计算获得当前最小值索引,并依据此索引计算获得数据集合中相应的数据。
5)奇偶性判断模块:该模块用于判断数据集合个数的奇偶性。若为奇数,则计算的最小值索引对应的数据即为数据集合的中位数;若为偶数,则把差的绝对值之和的集合中最小值索引对应的数据修改为正无穷大后重新计算。
6)中位数获得模块,根据数据集合个数的奇偶性计算数据集合的中位数并输出,所有数据均为非负数。
通过以上步骤,该***能够快速获取一组大数据集中的趋势,即求出数据集的中位数。其中,为了保证计算精度,该***采用了差的绝对值之和的集合进行计算。同时,为了处理数据集合个数为偶数的情况,该***采用了差的绝对值之和数据集更新模块来重新计算数据集合。
以下是四个具体的实施例,以及这种快速获取大数据集中趋势方法的优点和积极效果:
实施例1:
假设我们有一个数据集合:{4,8,6,5,3,2,9},我们需要找到这组数据的集中趋势——中位数。
1.计算数据集合个数:7,为奇数。
2.平均分组计算每个数与其他数的差的绝对值之和:
*4:|4-8|+|4-6|+|4-5|+|4-3|+|4-2|+|4-9|=4+2+1+1+2+5=15
*8:|8-4|+|8-6|+|8-5|+|8-3|+|8-2|+|8-9|=4+2+3+5+6+1=21
*6:|6-4|+|6-8|+|6-5|+|6-3|+|6-2|+|6-9|=2+2+1+3+4+3=15
*5:|5-4|+|5-8|+|5-6|+|5-3|+|5-2|+|5-9|=1+3+1+2+3+4=14
*3:|3-4|+|3-8|+|3-6|+|3-5|+|3-2|+|3-9|=1+5+3+2+1+6=18
*2:|2-4|+|2-8|+|2-6|+|2-5|+|2-3|+|2-9|=2+6+4+3+1+7=23
*9:|9-4|+|9-8|+|9-6|+|9-5|+|9-3|+|9-2|+|9-9|=5+1+3+4+6+7=26
得差的绝对值之和的数据集合,即{15,21,15,14,18,23,26}
3.最小值索引:3(差的绝对值之和集合中对应的最小值为14,最小值多个时取最后一个的索引)
4.数据集合{4,8,6,5,3,2,9}中差的绝对值之和集合{15,21,15,14,18,23,26}最小值索引3对应的值:5
5.数据集合{4,8,6,5,3,2,9}个数为奇数,直接得到中位数:5
实施例2:
假设我们有一个数据集合:{4,8,6,5,3,2,5},我们需要找到这组数据的集中趋势——中位数。
1.计算数据集合个数:7,为奇数。
2.平均分组计算每个数与其他数的差的绝对值之和:
*4:|4-8|+|4-6|+|4-5|+|4-3|+|4-2|+|4-5|=4+2+1+1+2+1=11
*8:|8-4|+|8-6|+|8-5|+|8-3|+|8-2|+|8-5|=4+2+3+5+6+3=23
*6:|6-4|+|6-8|+|6-5|+|6-3|+|6-2|+|6-5|=2+2+1+3+4+1=13
*5:|5-4|+|5-8|+|5-6|+|5-3|+|5-2|+|5-5|=1+3+1+2+3+0=10
*3:|3-4|+|3-8|+|3-6|+|3-5|+|3-2|+|3-5|=1+5+3+2+1+2=14
*2:|2-4|+|2-8|+|2-6|+|2-5|+|2-3|+|2-5|=2+6+4+3+1+3=19
*5:|5-4|+|5-8|+|5-6|+|5-5|+|5-3|+|5-2|=1+3+1+0+2+3=10
得差的绝对值之和的数据集合,即{11,23,13,10,14,19,10}
3.最小值索引:6(差的绝对值之和集合中对应的最小值为10,最小值多个时取最后一个的索引)
4.数据集合{4,8,6,5,3,2,5}中差的绝对值之和集合{11,23,13,10,14,19,10}最小值索引6对应的值:5
5.数据集合{4,8,6,5,3,2,5}个数为奇数,直接得到中位数:5
实施例3:
假设我们有一个数据集合:{10,4,6,8},我们需要找到这组数据的集中趋势——中位数。
1.计算数据集合个数:4,为偶数。
2.平均分组计算每个数与其他数的差的绝对值之和:
*10:|10-4|+|10-6|+|10-8|=6+4+2=12
*4:|4-10|+|4-6|+|4-8|=6+2+4=12
*6:|6-10|+|6-4|+|6-8|=4+2+2=8
*8:|8-10|+|8-4|+|8-6|=2+4+2=8
得差的绝对值之和的数据集合,即{12,12,8,8}
3.最小值索引:3(差的绝对值之和集合中对应的最小值为8,最小值多个时取最后一个的索引)
4.数据集合{10,4,6,8}中差的绝对值之和集合{12,12,8,8}最小值索引3对应的值:8
5.数据集合{10,4,6,8}个数为偶数,将差的绝对值之和集合{12,12,8,8}索引为3的值置为正无穷大,更新差的绝对值之和集合{12,12,8,8}为集合{12,12,8,∞}
6.重新计算最小值索引:2(差的绝对值之和集合中对应的最小值为8,最小值多个时取最后一个的索引)
7.数据集合{10,4,6,8}中差的绝对值之和集合{12,12,8,∞}最小值索引2对应的值:6
8.计算中位数:(8+6)/2=7
实施例4:
假设我们有一个数据集合:{7,4,6,8},我们需要找到这组数据的集中趋势——中位数。
1.计算数据集合个数:4,为偶数。
2.平均分组计算每个数与其他数的差的绝对值之和:
*7:|7-4|+|7-6|+|7-8|=3+1+1=5
*4:|4-7|+|4-6|+|4-8|=3+2+4=9
*6:|6-7|+|6-4|+|6-8|=1+2+2=5
*8:|8-7|+|8-4|+|8-6|=1+4+2=7
得差的绝对值之和的数据集合,即{5,9,5,7}
3.最小值索引:2(差的绝对值之和集合中对应的最小值为5,最小值多个时取最后一个的索引)
4.数据集合{7,4,6,8}中差的绝对值之和集合{5,9,5,7}最小值索引2对应的值:6
5.数据集合{7,4,6,8}个数为偶数,将差的绝对值之和集合{5,9,5,7}索引为2的值置为正无穷大,更新差的绝对值之和集合{5,9,5,7}为集合{5,9,∞,7}
6.重新计算最小值索引:0(差的绝对值之和集合中对应的最小值为5,最小值多个时取最后一个的索引)
7.数据集合{7,4,6,8}中差的绝对值之和集合{5,9,∞,7}最小值索引0对应的值:7
8.计算中位数:(6+7)/2=6.5
该方法通过平均分多组同时计算每个数与其他数的差的绝对值之和,快速获取数据集合的集中趋势,降低了计算复杂性。适用于大数据集,提高了计算效率。无需对数据进行排序,节省了排序所需的时间和计算资源。
该方法针对数据集合数据动态变化获取新的中位数有非常高效的扩展性。以下是两个具体的实施例,以及这种快速获取大数据集中趋势方法面对数据动态变化的优点和积极效果:
实施例5:
假设我们之前有一个数据集合:{4,8,6,5,3,2,9},为了能够应对数据的变化,我们预先存储了数据集合中每个数与其他数的差的绝对值之和,即数据集合{15,21,15,14,18,23,26}。现在数据集合{4,8,6,5,3,2,9}发生了变化,例如,变成了{4,8,6,5,9},则新的数据集合{4,8,6,5,9}的中位数的求解可建立在原数据集合{4,8,6,5,3,2,9}计算的基础上,进行动态快速计算。值得注意的是,这种动态变化的数量应该是比较小的,变化数量大的话可考虑平均分组到多台设备同时进行各数据的差的绝对值之和的更新。具体获取动态更新数据集合的中位数步骤如下:
1.更新计算每个数与其他数的差的绝对值之和:
*4:15-|4-3|-|4-2|=15-2-1=12
*8:21-|8-3|-|8-2|=21-5-6=10
*6:15-|6-3|-|6-2|=15-3-4=8
*5:14-5-3|-|5-2|=14-2-3=9
*9:26-|9-3|-|9-2|=26-6-7=13
得新的差的绝对值之和的数据集合,即{12,10,8,9,13}
2.最小值索引:2(差的绝对值之和集合中对应的最小值为8,最小值多个时取最后一个的索引)
3.新的数据集合{4,8,6,5,9}中差的绝对值之和集合{12,10,8,9,13}最小值索引2对应的值:6
4.数据集合{4,8,6,5,9}个数为奇数,直接得到中位数:6
实施例6:
假设我们之前有一个数据集合:{7,4,6,8},为了能够应对数据的变化,我们预先存储了数据集合中每个数与其他数的差的绝对值之和,即数据集合{5,9,5,7}。现在数据集合{7,4,6,8}发生了变化,例如,变成了{7,4,6,8,6,5},则新的数据集合{7,4,6,8,6,5}的中位数的求解可建立在原数据集合{7,4,6,8}计算的基础上,进行动态快速计算。值得注意的是,这种动态变化的数量应该是比较小的,变化数量大的话可考虑平均分组到多台设备同时进行各数据的差的绝对值之和的更新。具体获取动态更新数据集合的中位数步骤如下:
1.更新计算每个数与其他数的差的绝对值之和:
*7:5+|7-6|+|7-5|=5+1+2=8
*4:9+|4-6|+|4-5|=9+2+1=12
*6:5+|6-6|+|6-5|=5+0+1=6
*8:7+|8-6|+|8-5|=7+2+3=12
*6:|6-7|+|6-4|+|6-6|+|6-8|+|6-5|=1+2+0+2+1=6
*5:|5-7|+|5-4|+|5-6|+|5-8|+|5-6|=2+1+1+3+1=8
得新的差的绝对值之和的数据集合,即{8,12,6,12,6,8}
2.最小值索引:4(差的绝对值之和集合中对应的最小值为6,最小值多个时取最后一个的索引)
3.新的数据集合{7,4,6,8,6,5}中差的绝对值之和集合{8,12,6,12,6,8}最小值索引4对应的值:6
4.新的数据集合{7,4,6,8,6,5}个数为偶数,将差的绝对值之和集合{8,12,6,12,6,8}索引为4的值置为正无穷大,更新差的绝对值之和集合{8,12,6,12,6,8}为集合{8,12,6,12,∞,8}
5.重新计算最小值索引:2(差的绝对值之和集合中对应的最小值为6,最小值多个时取最后一个的索引)
6.数据集合{7,4,6,8,6,5}中差的绝对值之和集合{8,12,6,12,∞,8}最小值索引2对应的值:6
7.计算中位数:(6+6)/2=6
在大数据处理和分析中,提高了中位数计算的速度和效率,为数据挖掘、统计分析等领域提供了更快的数据分析支持。该方法适用于各种类型的数据集,具有较好的通用性。节省计算时间和资源,为其他数据处理任务腾出更多的计算能力。
总之,这种快速获取大数据集中趋势的方法提供了一种高效、快速计算中位数的途径,尤其适用于大数据处理和分析场景,提高了计算效率和数据分析能力。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行***,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。

Claims (8)

1.一种用于快速获取一组大数据集中趋势的方法,其特征在于,包括:计算待处理数据集合Dataset的个数n并平均分组同时计算Dataset数据集合中每个数ai与其它数的差的绝对值之和的集合DValue;通过比较计算获得DValue最小值索引;再根据计算所得的最小值索引在Dataset中获得对应的数据Median0;判断Dataset数据集合个数n的奇偶性,若n为奇数,输出Median0,即为Dataset数据集合的中位数;若n为偶数,则当前DValue中最小值索引对应的值置为正无穷大,从而更新集合DValue,再重新计算获得DValue最小值索引,并根据计算所得的新的最小值索引在Dataset中获得对应的数据Median1;最后,根据Median0和Median1计算Dataset的中位数并输出,所有数据均为非负数;
用于快速获取一组大数据集中趋势的方法包括以下步骤:
步骤一,计算Dataset数据集合个数n,平均分成m组同时计算Dataset数据集合每个数ai与其它数的差的绝对值的和DValuei,以获得所有n个数据相对其它数据的差的绝对值之和的集合DValue;
步骤二,计算DValue的最小值的索引Medianindex0
步骤三,计算获得Dataset中对应索引Medianindex0的值Median0
步骤四,如果n为奇数,MedianDataset=Median0,并跳转执行步骤八;如果n为偶数,则把DValue数据集合中索引为Medianindex0的值置为正无穷大,得到新的数据集合DValue;
步骤五,计算新DValue的最小值的索引Medianindex1
步骤六,计算获得Dataset中对应索引Medianindex1的值Median1
步骤七,计算MedianDataset=(Median0+Median1)÷2;
步骤八,输出MedianDataset,MedianDataset为Dataset数据集合的中位数,即这组数据的集中趋势,结束;
步骤一中,将Dataset数据集合记为{ai},i=0,1,2,…,n-1;Dataset数据集合中每个数ai与其它数的差的绝对值的和DValuei的计算公式为:
其中,i=0,1,2,…,n-1,把上述公式中的ai平均分配在m台设备上同时进行计算,其中,m≤n,以快速计算获得DValuei,即在每台设备上分别计算n÷m个ai与Dataset中其它数的差的绝对值之和;m=2,则在2台设备上同时进行计算ai;第1台设备计算DValuei,其中,第2台设备计算DValuei,其中,
2.如权利要求1所述用于快速获取一组大数据集中趋势的方法,其特征在于,步骤二中的DValue的最小值的索引Medianindex0的计算公式为:
Medianindex0=MinIndex(DValue);
其中,i=0,1,2,…,n-1;
步骤三中的Dataset的值Median0的计算公式为:
Median0=Dataset(Medianindex0);
其中,i=0,1,2,…,n-1。
3.如权利要求1所述用于快速获取一组大数据集中趋势的方法,其特征在于,步骤四中的DValue的更新公式为:
DValue(Medianindex0)=+∞;
其中,i=0,1,2,…,n-1;
步骤五中的DValue的最小值的索引Medianindex1的计算公式为:
Medianindex1=MinIndex(DValue);
其中,i=0,1,2,…,n-1。
4.如权利要求1所述用于快速获取一组大数据集中趋势的方法,其特征在于,步骤六中的Dataset的值Median1的计算公式为:
Median1=Dataset(Medianindex1);
其中,i=0,1,2,…,n-1。
5.一种应用如权利要求1~4任意一项所述用于快速获取一组大数据集中趋势的方法的用于快速获取一组大数据集中趋势的***,其特征在于,用于快速获取一组大数据集中趋势的***包括:
DValue获得模块,分组同时计算Dataset数据集合中每个数ai与其它数的差的绝对值的和DValuei,以获得Dataset数据集合中所有n个数据相对其它数据的差的绝对值之和的集合DValue;
DValue最小值索引获得模块,只取一个索引,通过比较获取DValue数据集中的最小值的索引;
DValue更新模块,把DValue中通过DValue最小值索引获取模块取得的索引对应的值置为正无穷大,以获得新的DValue数据集合;
Median0或Median1获得模块,利用DValue最小值索引获取模块计算获得当前DValue的最小值索引,并依据此索引计算获得Dataset数据集合中相应的数据Median0或Median1
奇偶性判断模块,用于判断Dataset数据集合个数n的奇偶性,若n为奇数,则利用Median0或Median1获取模块计算获得Median0;若n为偶数,则利用Median0或Median1获取模块计算获得Median0,再利用DValue更新模块更新获得新的DValue后再次利用Median0或Median1获取模块计算获得Median1
中位数计算模块,根据Median0和Median1计算Dataset数据集合的中位数并输出,所有数据均为非负数。
6.一种计算机设备,其特征在于,计算机设备包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如权利要求1~4任意一项所述用于快速获取一组大数据集中趋势的方法的步骤。
7.一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如权利要求1~4任意一项所述用于快速获取一组大数据集中趋势的方法的步骤。
8.一种信息数据处理终端,其特征在于,信息数据处理终端用于实现如权利要求5所述用于快速获取一组大数据集中趋势的***。
CN202310832035.0A 2023-07-07 2023-07-07 用于快速获取一组大数据集中趋势的方法、***及终端 Active CN116821559B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310832035.0A CN116821559B (zh) 2023-07-07 2023-07-07 用于快速获取一组大数据集中趋势的方法、***及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310832035.0A CN116821559B (zh) 2023-07-07 2023-07-07 用于快速获取一组大数据集中趋势的方法、***及终端

Publications (2)

Publication Number Publication Date
CN116821559A CN116821559A (zh) 2023-09-29
CN116821559B true CN116821559B (zh) 2024-02-23

Family

ID=88142861

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310832035.0A Active CN116821559B (zh) 2023-07-07 2023-07-07 用于快速获取一组大数据集中趋势的方法、***及终端

Country Status (1)

Country Link
CN (1) CN116821559B (zh)

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004053659A2 (en) * 2002-12-10 2004-06-24 Stone Investments, Inc Method and system for analyzing data and creating predictive models
US8214370B1 (en) * 2009-03-26 2012-07-03 Crossbow Technology, Inc. Data pre-processing and indexing for efficient retrieval and enhanced presentation
US8935198B1 (en) * 1999-09-08 2015-01-13 C4Cast.Com, Inc. Analysis and prediction of data using clusterization
CN105122655A (zh) * 2012-12-03 2015-12-02 数字无线功率有限公司 用于级联编码***的先进迭代解码和信道估计的***和方法
EP3035211A1 (en) * 2014-12-18 2016-06-22 Business Objects Software Ltd. Visualizing large data volumes utilizing initial sampling and multi-stage calculations
CN106021080A (zh) * 2016-05-10 2016-10-12 国家电网公司 应用中间件数据库连接池资源消耗趋势智能预测方法
CN108710600A (zh) * 2018-03-29 2018-10-26 浙江长兴笛卡尔科技有限公司 快速计算统计趋势特征值的方法及装置
CN110019353A (zh) * 2017-09-15 2019-07-16 北京国双科技有限公司 一种数据处理方法及装置
CN110073301A (zh) * 2017-08-02 2019-07-30 强力物联网投资组合2016有限公司 工业物联网中具有大数据集的数据收集环境下的检测方法和***
CN111556057A (zh) * 2020-04-29 2020-08-18 绿盟科技集团股份有限公司 一种流量异常检测方法、装置、电子设备及存储介质
CN111611236A (zh) * 2020-05-28 2020-09-01 宁波和利时智能科技有限公司 一种数据分析方法及***
CN113128618A (zh) * 2021-05-10 2021-07-16 江西理工大学 基于kd树和混沌蜉蝣优化算法的并行谱聚类方法
CN114218009A (zh) * 2021-12-30 2022-03-22 山东云海国创云计算装备产业创新中心有限公司 一种时间序列异常值检测方法、装置、设备及存储介质
CN114595479A (zh) * 2022-05-10 2022-06-07 富算科技(上海)有限公司 一种数据中位数确定方法及装置
CN114722427A (zh) * 2022-06-07 2022-07-08 腾讯科技(深圳)有限公司 联邦学习中的隐私去重方法、装置、设备及存储介质
CN114996522A (zh) * 2022-05-20 2022-09-02 郑州轻工业大学 一种时空大数据存储的查询索引方法
CN115580390A (zh) * 2022-08-24 2023-01-06 京信数据科技有限公司 一种安全多方计算下的多场景模式计算方法及***

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8935198B1 (en) * 1999-09-08 2015-01-13 C4Cast.Com, Inc. Analysis and prediction of data using clusterization
WO2004053659A2 (en) * 2002-12-10 2004-06-24 Stone Investments, Inc Method and system for analyzing data and creating predictive models
US8214370B1 (en) * 2009-03-26 2012-07-03 Crossbow Technology, Inc. Data pre-processing and indexing for efficient retrieval and enhanced presentation
CN105122655A (zh) * 2012-12-03 2015-12-02 数字无线功率有限公司 用于级联编码***的先进迭代解码和信道估计的***和方法
EP3035211A1 (en) * 2014-12-18 2016-06-22 Business Objects Software Ltd. Visualizing large data volumes utilizing initial sampling and multi-stage calculations
CN106021080A (zh) * 2016-05-10 2016-10-12 国家电网公司 应用中间件数据库连接池资源消耗趋势智能预测方法
CN110073301A (zh) * 2017-08-02 2019-07-30 强力物联网投资组合2016有限公司 工业物联网中具有大数据集的数据收集环境下的检测方法和***
CN110019353A (zh) * 2017-09-15 2019-07-16 北京国双科技有限公司 一种数据处理方法及装置
CN108710600A (zh) * 2018-03-29 2018-10-26 浙江长兴笛卡尔科技有限公司 快速计算统计趋势特征值的方法及装置
CN111556057A (zh) * 2020-04-29 2020-08-18 绿盟科技集团股份有限公司 一种流量异常检测方法、装置、电子设备及存储介质
CN111611236A (zh) * 2020-05-28 2020-09-01 宁波和利时智能科技有限公司 一种数据分析方法及***
CN113128618A (zh) * 2021-05-10 2021-07-16 江西理工大学 基于kd树和混沌蜉蝣优化算法的并行谱聚类方法
CN114218009A (zh) * 2021-12-30 2022-03-22 山东云海国创云计算装备产业创新中心有限公司 一种时间序列异常值检测方法、装置、设备及存储介质
CN114595479A (zh) * 2022-05-10 2022-06-07 富算科技(上海)有限公司 一种数据中位数确定方法及装置
CN114996522A (zh) * 2022-05-20 2022-09-02 郑州轻工业大学 一种时空大数据存储的查询索引方法
CN114722427A (zh) * 2022-06-07 2022-07-08 腾讯科技(深圳)有限公司 联邦学习中的隐私去重方法、装置、设备及存储介质
CN115580390A (zh) * 2022-08-24 2023-01-06 京信数据科技有限公司 一种安全多方计算下的多场景模式计算方法及***

Also Published As

Publication number Publication date
CN116821559A (zh) 2023-09-29

Similar Documents

Publication Publication Date Title
Çatalyürek et al. Integrated data placement and task assignment for scientific workflows in clouds
US8959138B2 (en) Distributed data scalable adaptive map-reduce framework
US8676874B2 (en) Data structure for tiling and packetizing a sparse matrix
US8769216B2 (en) Optimizing output vector data generation using a formatted matrix data structure
US20150032759A1 (en) System and method for analyzing result of clustering massive data
JP2017517082A (ja) 並列ディシジョン・ツリー・プロセッサー・アーキテクチャ
CN110837584B (zh) 一种分块并行构造后缀数组的方法及***
CN103324765A (zh) 一种基于列存储的多核并行数据查询优化方法
US20200090051A1 (en) Optimization problem operation method and apparatus
CN110516810A (zh) 一种量子程序的处理方法、装置、存储介质和电子装置
CN112579586A (zh) 数据处理方法、装置、设备及存储介质
CN114420215A (zh) 基于生成树的大规模生物数据聚类方法及***
Marszałek et al. Fully flexible parallel merge sort for multicore architectures
CN110704424A (zh) 一种应用于数据库的排序方法、装置及相关设备
US9805091B2 (en) Processing a database table
CN112200310B (zh) 智能处理器、数据处理方法及存储介质
CN116821559B (zh) 用于快速获取一组大数据集中趋势的方法、***及终端
Zhao et al. MapReduce model-based optimization of range queries
CN116303219A (zh) 一种网格文件的获取方法、装置及电子设备
Yang et al. A parallel processing cnn accelerator on embedded devices based on optimized mobilenet
Li et al. An application-oblivious memory scheduling system for DNN accelerators
CN106844242B (zh) 一种数据交换方法和***
Gayathri et al. Mapreduce model for finding closely knit communities in large scale networks
Warnke et al. An energy-aware bioinformatics application for assembling short reads in high performance computing systems
Marszalek The Analysis of Energy Performance in Use Parallel Merge Sort Algorithms

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant