CN111488380A - 一种实时判断流数据分布不对称性的方法 - Google Patents

一种实时判断流数据分布不对称性的方法 Download PDF

Info

Publication number
CN111488380A
CN111488380A CN201910082326.6A CN201910082326A CN111488380A CN 111488380 A CN111488380 A CN 111488380A CN 201910082326 A CN201910082326 A CN 201910082326A CN 111488380 A CN111488380 A CN 111488380A
Authority
CN
China
Prior art keywords
window
computing
components
computation
adjusted
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.)
Pending
Application number
CN201910082326.6A
Other languages
English (en)
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201910082326.6A priority Critical patent/CN111488380A/zh
Publication of CN111488380A publication Critical patent/CN111488380A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Complex Calculations (AREA)

Abstract

偏态可用于判断数据分布不对称性。本发明公开了一种通过迭代计算指定规模的计算窗口的偏态的两个以上组件来实时地迭代地计算流数据的偏态从而可以实时地判断流数据分布不对称性的方法,系统和计算系统程序产品。本发明的实施方案包括基于调整前计算窗口的偏态的二个以上组件迭代计算调整后计算窗口的偏态的二个以上组件,然后根据需要基于迭代计算的二个以上组件生成调整后计算窗口的偏态。迭代计算偏态可以基于最新数据实时更新计算结果并避免访问调整后计算窗口中的所有数据元素和执行重复计算从而提高计算效率,节省计算资源和降低计算系统能耗,使得实时判断流数据分布不对称性能够高效低耗及一些实时判断流数据分布不对称性从不可能变为可能。

Description

一种实时判断流数据分布不对称性的方法
技术领域
大数据或流数据分析。
背景技术
互联网,移动通讯,导航,网游,感应技术和大规模计算基础设施每天产生海量数据。大数据就是由于其巨大规模,快速变化及增长速度而超出了传统数据库系统的处理能力及传统分析方法的分析能力的数据。如何高效实时并节省资源地处理和分析大数据带给数据分析师和计算机科学家一个艰难的挑战。
流数据是从数据源不断传出并连续地被接收器接收的数据。流数据可以是传感器采集并连续传送到计算设备或电子设备上的实时数据。通常这包括连续接收有时间间隔,具有相似格式的数据元素。流数据也可以是从存储器连续读出的数据,例如存储在多个计算设备存储器上的大数据集。因此,流数据处理算法可以延伸到大数据处理上,因为大数据集随着时间积累而可以被认为是具有不规律时间间隔的数据流。
有些统计计算在新的数据元素被接收后可能需要被重新计算以反映最新的数据状况。例如,也许要为包含最新加入存储媒体上的大数据集的n个数据元素的一个计算窗口计算偏态,这样每接收或访问一个数据元素,该数据元素被加入计算窗口而第n个数据元素被移出计算窗口,计算窗口中的n个数据元素就会被访问来重新计算偏态。使用计算窗口中的所有数据元素来重新计算偏态涉及重复数据访问和计算,因此耗时并浪费资源。
取决于需要,计算窗口的规模可能非常大,例如计算窗口中的数据元素可能分布在云平台的成千上万台计算设备上。在一些数据变化后的流数据上用传统方法重新计算偏态无法做到实时处理并且占用和浪费大量计算资源。
发明内容
偏态可用于判断数据分布不对称性。本发明公开了一种通过迭代计算指定规模的计算窗口的偏态的两个以上组件来实时地迭代地计算流数据的偏态从而可以实时地判断流数据分布不对称性的方法,系统和计算系统程序产品。为一个调整后计算窗口的一个数据元素迭代计算偏态包括基于调整前计算窗口的该数据元素的偏态的两个以上组件迭代计算调整后计算窗口的该数据元素的偏态的两个以上组件然后根据需要基于迭代计算的两个以上组件生成调整后计算窗口的该数据元素的偏态。迭代计算偏态只需要访问和使用迭代计算的组件,新加入和去除的数据元素而避免访问调整后计算窗口中的所有数据元素和执行重复计算从而降低数据访问延迟,提高计算效率,节省计算资源和降低计算系统能耗,使得实时判断流数据分布不对称性能够高效低耗及一些实时判断流数据分布不对称性从不可能变为可能。
计算窗口的和或平均值是必须迭代计算的特殊组件。假设在同一轮迭代计算中所有迭代计算的组件(包括计算窗口的和或平均值)总数为p(p>1)。直接迭代的组件个数为v(1≤v≤p),则间接迭代的组件个数为w=p-v(w≥0)。其中计算窗口的和或平均值是必须迭代计算的特殊组件。和或平均值可以被直接或间接迭代计算。
计算系统初始化一个数据流的存储于一个缓冲区上的指定计算窗口规模为n(n>1)的一个调整前计算窗口的两个以上组件(共p(p>1)个,包括一个和或一个平均值或一个和及一个平均值,以及偏态的其它一个或多个组件)。该两个以上组件的初始化包括基于该调整前计算窗口中的数据元素通过组件的定义计算两个以上组件或从计算设备可读媒体上接收或访问已计算的两个以上组件。
计算系统接收一个要加入该调整前计算窗口的新的数据元素。
计算系统保存接收的数据元素到一个缓冲区中。
计算系统通过从该调整前计算窗口中去除最老的数据元素和向该调整前计算窗口加入接收的数据元素来调整该调整前计算窗口。
计算系统迭代计算调整后计算窗口的一个和,一个平均值,或一个和及一个平均值。
计算系统直接迭代计算该调整后计算窗口的偏态的除和及平均值之外的v(1≤v≤p)个组件。直接迭代计算该v个组件包括:访问去除的数据元素和加入的数据元素;访问该调整前计算窗口的偏态的v个组件;从访问的每个组件中数学地去除被去除的数据元素的任何贡献;以及向v个组件中的每个组件数学地加入被加入的数据元素的任何贡献。
计算系统根据需要间接迭代计算该调整后计算窗口的偏态的w=p-v个组件。间接迭代计算w个组件包括一个一个地间接迭代计算w个组件中的每一个组件。间接迭代计算一个组件包括:访问并使用除该组件之外的一个或多个组件来计算该组件。这一个或多个组件可能是经过初始化的,直接迭代计算的或间接迭代计算的。
计算系统根据需要基于一个或多个迭代计算的调整后计算窗口的偏态的组件生成调整后计算窗口的偏态。
计算系统可以持续地接收一个新的数据元素,保存接收的数据元素到一个缓冲区中,调整调整前计算窗口,迭代计算调整后计算窗口的一个和,一个平均值,或一个和及一个平均值,直接迭代计算v个组件,根据需要间接迭代计算w=p-v个组件和计算偏态。计算系统可以根据需要多次重复这个过程。
本简述是以简化的方式介绍一些选择的概念,它们将在下面被进一步详细描述。本简述即不是为了鉴定权利要求的主题的关键特点或必要特点,也不是为了用于帮助确认权利要求的主题所包括的范围。
本发明的其它特征和优点将在下面的描述中体现出来,会部分地从描述中明显体现,或从本发明的实践中学到。本发明的特征和优点可从附加的权利要求书中特别指出的方法设备及其组合中实现和得到。本发明的这些和其它特征将在下面的描述和附加的权利要求书或本发明的实践中变得更加全面清晰。
附图说明
为描述能够获得本发明的上述的和其它的优点和特点的方式,上面简述的本发明的一个更具体的描述将通过参照附加的图表中所显示的特定的实施方案来展现出来。本发明将通过下列的图表更加详细和具体地来描述和解释,请理解这些图表只是描述了本发明的典型实施方案,因此它们不应被理解为对本发明的范围的限制:
图1图示了为流数据迭代计算偏态的一个例子计算系统的高层概述。
图1-1图示了一个为流数据迭代计算偏态的并且所有组件都是直接迭代计算的计算系统架构的例子。
图1-2图示了一个为流数据迭代计算偏态的并且部分组件直接迭代计算,部分组件间接迭代计算的计算系统架构的例子。
图2图示了一个为流数据迭代计算偏态的方法流程图的例子。
图3图示了在流数据上为迭代计算偏态被计算窗口访问的数据元素。
图4-1图示了偏态的定义以及计算窗口上计算偏态的传统方程。
图4-2显示了第一个迭代偏态计算例子算法(迭代算法1)。
图4-3显示了第二个迭代偏态计算例子算法(迭代算法2)。
图4-4显示了第三个迭代偏态计算例子算法(迭代算法3)。
图5-1显示了用于一个计算实例的第一个计算窗口。
图5-2显示了用于一个计算实例的第二个计算窗口。
图5-3显示了用于一个计算实例的第三个计算窗口。
图6-1图示了计算窗口规模为4时,传统偏态算法和迭代偏态算法的计算工作量对比。
图6-2图示了计算窗口规模为1,000,000时,传统偏态算法和迭代偏态算法的计算工作量对比。
具体实施方法
偏态可用于判断数据分布不对称性。本发明拓展到通过迭代计算指定规模的计算窗口的偏态的两个以上组件来迭代地计算流数据上的偏态从而可以实时地判断流数据分布不对称性的方法,系统,和计算系统程序产品。一个计算系统包含一个或多个计算设备。每个计算设备包含一个或多个处理器。计算系统可以访问至少一个数据流。计算系统包含一个在一个或多个存储媒介上的缓冲区,用于保留来自数据流的,涉及到偏态计算的多个数据元素组成的一个计算窗口中的数据元素。计算系统保持一个计算窗口规模计数器n(n>1)。计算窗口规模计数器n指明了该缓冲区计算窗口中数据元素的数量。本发明的实施方案包括基于调整前计算窗口的偏态的两个以上组件迭代计算调整后计算窗口的偏态的两个以上组件,然后根据需要基于迭代计算的两个以上组件生成调整后计算窗口的偏态。迭代计算偏态避免访问调整后计算窗口中的所有数据元素和执行重复计算从而提高计算效率,节省计算资源和降低计算系统能耗,使得实时判断流数据分布不对称性能够高效低耗及一些实时判断流数据分布不对称性从不可能变为可能。
计算系统包含一个输入缓冲区用于保存大数据或流数据元素。该缓冲区可以在内存或其它计算机可读媒介,如硬盘或其它媒介中,甚至可以是分配在多个计算设备上的多个分布式文件,它们端到端互联而形成一个或两个”循环缓冲区”。
在本文中,偏态的一个组件是出现在偏态定义公式中或其定义公式的任何转换中的一个量或表达式。偏态是它自己最大的组件。偏态可基于一个或多个组件或它们的组合被计算,所以多个算法支持迭代偏态计算。偏态的组件的例子。
·
Figure BDA0001960755810000041
·
Figure BDA0001960755810000051
·
Figure BDA0001960755810000052
·
Figure BDA0001960755810000053
·
Figure BDA0001960755810000054
·
Figure BDA0001960755810000055
·
Figure BDA0001960755810000056
·
Figure BDA0001960755810000057
·
Figure BDA0001960755810000058
·
Figure BDA0001960755810000059
·
Figure BDA00019607558100000510
一个组件可以被直接迭代计算或间接迭代计算。它们的区别是当一个组件被直接迭代计算时该组件是基于该组件在前一轮计算的值来计算的,而当该组件被间接迭代计算时该组件是基于该组件之外的其它组件计算的。
对于一个给定的组件,它也许在一个算法中被直接迭代计算但在另一个算法中被间接迭代计算。
对于任意一个算法,至少会有两个组件被迭代计算,其中一个组件被直接迭代计算,另一个组件被直接或间接迭代计算。对于一个给定的算法,假设使用的不同组件的总数是p(p>1),如果直接迭代计算的组件个数是v(1≤v≤p),那么间接迭代计算的组件的个数是w=p-v(0≤w<p)。可能所有的组件都被直接迭代计算(这种情况下v=p>1并且w=0)。但是,无论偏态的结果是否在一个特定的轮次被需要和访问,直接迭代计算的组件都必须被计算。
对于一个给定算法,如果一个组件被直接迭代计算,则该组件必须被计算(即每当一个已有的数据元素被从计算窗口中去除和每当一个数据元素被加入到计算窗口中时)。但是,如果一个组件被间接迭代计算,则该组件可以通过使用该组件之外的其它一个或多个组件来根据需要,即只有当偏态需要被计算和访问时,被计算。这样,当偏态在某一个计算轮次不被访问时,只有少量的组件需要被迭代地计算。一个间接迭代计算的组件也许会被用于一个组件的直接迭代计算,在这种情况下,该间接迭代计算的组件的计算不可省略。
偏态可以根据需要被计算。当偏态在每次计算窗口数据有变化而不需要被访问时,计算系统只需要为每次数据变化迭代计算一个或多个组件。迭代计算一个或多个组件避免了访问之前的所有输入和做重复计算因此提高计算效率。偏态可以在需要被访问时由计算系统基于迭代计算的一个或多个组件来生成。
在本说明书和权利要求书中,一个“循环缓冲区”是使用单一的有固定规模的似乎首尾相连的“缓冲区”的一个数据结构,有时也被称为环缓冲区。该“缓冲区”既可以是一个常用的循环缓冲区其通常是分配在本地内存里的一块空间,也可以是一个“虚拟循环缓冲区”,其并不一定在内存里而是在硬盘上的文件甚至多台分布式计算设备上的多个分布式文件只要这些分布式文件逻辑上首尾互相连接构成一个“循环缓冲区”。
通常,输入数据被加入到一个规模为n的缓冲区里。当缓冲区没有充满数据时,至少有两种做法。一种是不做偏态计算,直到缓冲区充满数据后根据组件的定义用前n个数据计算二个或多个组件。另一种做法是当需要时可以从一开始用本发明人的另一个专利申请中描述的方法,来增量计算偏态直到缓冲区被充满。一旦缓冲区被充满并且前n个数据元素的偏态的二个或多个组件被计算,本文提供的迭代算法可被用来迭代地计算该数据元素的偏态的二个或多个组件,然后偏态可基于迭代计算的组件来计算。
在本说明书和权利要求书中,一个最老的数据元素是指计算窗口中在时间上距离最新接收的数据元素第n个近的数据元素。
本发明的实现方案包括基于为调整前计算窗口计算的偏态的两个以上组件迭代地计算调整后计算窗口的偏态的两个以上组件。其中计算窗口的和或平均值是必须迭代计算的特殊组件。和或平均值可以被直接或间接迭代计算。对于一个给定的迭代偏态算法,假设在同一轮迭代计算中所有迭代计算的组件(包括计算窗口的和或平均值)总数为p(p>1)。直接迭代的组件个数为v(1≤v≤p),则间接迭代的组件个数为w=p-v(w≥0)。
计算系统初始化一个缓冲区中的给定规模n(n>1)的调整前计算窗口的两个以上组件(共p(p>1)个,包括一个和或一个平均值或一个和及一个平均值,以及偏态的其它一个或多个组件)。该两个以上组件的初始化包括根据其定义基于该调整前计算窗口中的数据元素来计算或从一个或多个计算设备可读媒体上访问或接收已经计算过的组件。
计算系统接收一个要加入该调整前计算窗口的新的流数据元素。
计算系统保存接收的数据元素到一个缓冲区中。
计算系统通过从该调整前计算窗口中去除最老的数据元素和向该调整前计算窗口加入接收的数据元素来调整该调整前计算窗口。
计算系统迭代计算调整后计算窗口的一个和,一个平均值,或一个和及一个平均值。
计算系统为该调整后计算窗口直接迭代计算偏态的除和及平均值之外的一个或多个v(1≤v≤p)组件。直接迭代计算该v个组件包括:访问去除的数据元素和加入的数据元素;访问为调整前计算窗口计算的偏态的v个组件;从v个组件中的每个组件中数学地去除被去除的数据元素的任何贡献;向v个组件中的每个组件数学地加入被加入的数据元素的任何贡献。
计算系统根据需要间接迭代计算调整后计算窗口的偏态的w=p-v个组件。间接迭代计算w个组件包括一个一个地间接迭代计算w个组件中的每一个组件。间接迭代计算一个组件包括:访问并使用除该组件之外的一个或多个组件来计算该组件。该一个或多个组件可能是经过初始化的,直接迭代计算的或间接迭代计算的。
计算系统根据需要,基于为调整后计算窗口迭代计算偏态的一个或多个组件,为调整后计算窗口计算偏态。
计算系统可以持续地接收要加入计算窗口的数据元素对,保存接收的数据元素到缓冲区,调整计算窗口,迭代计算调整后计算窗口的一个和,一个平均值,或一个和及一个平均值,直接迭代计算一个或多个v组件,根据需要间接迭代计算w=p-v个组件,根据需要基于一个或多个迭代计算的组件计算偏态,并根据需要多次重复这个过程。
本发明的实施方案可以包括或利用包含计算设备硬件,例如一个或多个处理器和以下更详细描述的存储设备,专用的或通用的计算设备。本发明实施方案的范围也包括物理的及其它用于携带或存储计算设备可运行指令和/或数据结构的计算设备可读媒体。这些计算设备可读媒体可以是通用或专用计算设备可访问的任何媒体。存储计算设备可运行指令的计算设备可读媒体是存储媒体(设备)。携带计算设备可运行指令的计算设备可读媒体是传输媒体。因此,以举例而非限制的方式,本发明的实施方案可以包括至少两种不同类型的计算设备可读媒体:存储媒体(设备)和传输媒体。
存储媒体(设备)包括随机存取存储器(RAM),只读存储器(ROM),电可擦除可编程只读存储器(EEPROM),只读光盘存储器(CD-ROM),固态硬盘(SSD),闪存(Flash Memory),相变存储器(PCM),其它类型存储器,其它光学磁盘存储,磁盘存储器或其它磁性存储设备,或任何其它能用于存储所需要的以计算设备可运行指令或数据结构形式构成的程序代码并且其可以被通用或专用计算设备访问的媒体。
一个“网络”被定义为使计算设备和/或模块和/或其它电子设备能够传输电子数据的一个或多个数据链接。当信息被网络或另外的通讯连接(有线,无线,或有线和无线的组合)传输或提供给计算设备时,计算设备把连接视为传输媒体。传输媒体可包括用于携带所需要的以计算设备可运行指令或数据结构形式构成的程序代码,并且其可以被通用或专用计算设备访问的一个网络和/或数据链接。以上的组合也应包括在计算设备可读媒体的范围之内。
此外,在应用不同计算设备组件时,计算设备可运行指令或数据结构形式的程序代码可以从传输媒体自动传输到存储媒体(设备)(或反过来)。例如,从网络或数据链接上接收的计算设备可运行指令或数据结构可以被暂存进网络接口模块(例如,NIC)中的随机存取存储器中,然后最终传输到计算设备的随机存取存储器和/或到计算设备的一个较小易变的存储媒体(设备)。所以,应当理解存储媒体(设备)可以被包括在也(或甚至主要)应用传输媒体的计算设备组件里。
计算设备可运行指令包括,例如,指令和数据,当被处理器运行时,使得通用计算设备或专用计算设备去执行一个特定功能或一组功能。计算设备可运行指令可以是,例如,二进制,中间格式指令例如汇编代码,或甚至源代码。虽然描述的客体是用结构特征和/或方法动作的具体语言描述的,应当理解在附加的权利要求书中定义的客体不一定局限于以上描述的特征或动作。而是,描述的特征或动作仅是以实现权利要求的例子形式而公开的。
本发明的实施方案可以在由多种类型的计算设备配置的网络计算环境中实现,这些计算设备包括个人电脑,台式机,笔记本电脑,信息处理器,手持设备,多处理系统,基于微处理器或可编程的电子消费品,网络电脑,小型计算机,主计算机,超级计算机,移动电话,掌上电脑,平板电脑,呼机,路由器,交换机及类似产品。本发明的实施方案也可以应用于通过网络互联(即可通过有线数据链接,无线数据链接,也可以是有线数据链接与无线数据链接的结合)的执行任务的本地或远程计算设备构成的分布式系统环境。在分布式系统环境中,程序模块可以被存储在本地或远程存储设备上。
本发明的实施方案也可以在云计算环境里实现。在本描述及后续的权利要求书中,“云计算”被定义为一个使得能够按需通过网络访问到可配置计算资源的共享池的模型。例如,云计算可以被市场利用去提供普及和方便的按需访问可配置计算资源的共享池。可配置计算资源的共享池可以通过虚拟化很快预备并且以低管理开销或低服务提供商互动来提供,然后做相应的调整。
云计算模型可以包括各种特征例如,按需自服务,宽带网络访问,资源收集,快速收放,计量服务等等。云计算模型也可以各种服务模式来体现,例如,软件做为服务(“SaaS”),平台做为服务(“PaaS”),以及设施做为服务(“IaaS”)。云计算模型也可以通过不同的部署模型例如私有云,社区云,公共云,混合云等等来部署。
由于本发明有效地降低了对计算能力的要求,其实施方案也可应用于边缘计算。
下面的章节中会给出几个例子。
图1图示了为流数据迭代计算偏态的一个例子计算系统100的高层概述。参考图1,计算系统100包括由不同网络,例如局域网1021,无线网1022和互联网1023等等,连接的多个设备。多个设备包括,例如,数据分析引擎1007,存储系统1011,实时数据流1006,以及可以安排数据分析任务和/或查询数据分析结果的多台分布的计算设备,例如个人电脑1016,手持设备1017和台式机1018等等。
数据分析引擎1007可以包括一个或多个处理器,例如CPU 1009和CPU 1010,一个或多个系统内存,例如系统内存1008,及组件计算模块131和偏态计算模块191。模块131的细节会在其它图表中更详细地图示(例如,图1-1和图1-2)。存储系统1011可以包括一个或多个存储媒体,例如存储媒体1012和存储媒体1014,其可以用于存放大数据集。存储系统1011里的数据集可以被数据分析引擎1007访问。
通常,数据流1006可以包括来自不同数据源的流数据,例如,股价,音频数据,视频数据,地理空间数据,互联网数据,移动通讯数据,网游数据,银行交易数据,传感器数据,和/或闭合字幕数据等。这里举例描绘了几个,实时数据1000可以包括从感应器1001,股票1002,通讯1003,和银行1004等等实时收集的数据。数据分析引擎1007可以接收来自数据流1006的数据元素。来自不同数据源的数据可以被存储在存储系统1011并且为大数据分析所访问。
请理解图1是以非常简化的形式介绍一些概念,例如,分布设备1016和1017可能经过防火墙才联到数据分析引擎1007,数据分析引擎1007从数据流1006和/或存储系统1011访问或接收的数据可能经过数据过滤器筛选,等等。
图1-1图示了为一个数据流迭代计算偏态,其所有(v=p>1)组件被直接迭代计算,的一个例子计算系统架构100A。关于计算系统架构100A,这里将先只介绍该架构中的主要部件的功能和相互关系,而关于这些部件如何协作共同完成迭代偏态计算的过程将在后面结合图2中描述的流程图一起介绍。图1-1图示了图1显示的1006和1007。参考图1-1,计算系统架构100A包括组件计算模块131和偏态计算模块191。组件计算模块131可以是通过高速数据总线与一个或多个存储媒体紧密耦合的或通过一个网络,如局域网,广域网,甚至互联网与由存储系统管理的一个或多个存储媒体松散耦合的。相应地,组件计算模块131和任何其它连接的计算设备和它们的组件,可以在网络上发送和接收消息相关数据(例如,互联网协议(“IP”)数据报和其它使用IP数据报的高层协议,例如,用户数据报协议(“UDP”),实时流协议(“RTSP”),实时传输协议(“RTP”),微软媒体服务器(“MMS”),传输控制协议(“TCP”),超文本传送协议(“HTTP”),简单邮件传送协议(“SMTP”),等等)。组件计算模块131的输出会被作为偏态计算模块191的输入,偏态计算模块191可以生成偏态192。
通常,数据流190可以是顺序的数字编码信号(即数据的包或数据包)分别用于传输或接收传输过程中的信息。数据流190可以是实时流或流化的存储数据。
随着流数据元素的接收,流数据元素可以被放在循环缓冲区121中。例如,数据元素101,102,103,104,105,106,107,108和109可以分别被放在位置121A,121B,121C,121D,121E,121F,121G,121H和121I。
然后,数据元素110可以被接收。数据元素110可以被放在位置121A(覆盖数据元素101)。
如图所示,循环缓冲区121有9个位置,121A-121I。这个缓冲区有个包含8个(n=8)数据元素的计算窗口122。计算窗口122中的数据元素可以随着新的数据元素被放入循环缓冲区121而倒换。例如,当数据元素109被放入位置121I时,计算窗口122会变成计算窗口122A。当数据元素110被放入位置121A时,计算窗口122A会变成计算窗口122B。
参考计算系统架构100A,通常组件计算模块131包含为直接迭代计算计算窗口的一组n个数据元素的v(v=p>1)个组件的v个组件计算模块。v是迭代计算偏态的给定算法中直接迭代计算的组件的个数,它随着使用的迭代算法不同而不同。如图1-1中所示,组件计算模块131包含一个组件Cd1计算模块161和一个组件Cdv计算模块162,它们之间还有v-2个其它组件计算模块,它们可以是组件cd2计算模块,组件Cd3计算模块,……,以及组件Cdv-1计算模块。每个组件计算模块计算特定的组件。每个组件计算模块包含一个为第一个调整前计算窗口初始化一个组件的初始化模块和一个为调整后计算窗口直接迭代计算该组件的算法。例如,组件Cd1计算模块161包含初始化模块132来初始化组件Cd1和迭代算法133来迭代计算组件Cd1,组件Cdv计算模块162包含初始化模块138来初始化组件Cdv和迭代算法139来迭代计算组件Cdv
初始化模块132可以在初始化组件Cd1时使用或在偏态计算被重置时使用。同样,初始化模块138可以在初始化组件Cdv时使用或在偏态计算被重置时使用。
参考图1-1,计算系统架构100A还包括偏态计算模块191。偏态计算模块191可根据需要基于一个或多个初始化或迭代计算的组件计算偏态192。
图1-2图示了为数据流迭代计算偏态并且部分(v(1≤v<p))组件直接迭代计算,部分(w=p-v)组件间接迭代计算的一个例子计算系统架构100B。在一些实现中,计算系统架构100B和100A之间的区别是架构100B包括组件计算模块135。除此之外,和100A有同样附图标记的部分都按同样的方式工作。为了不重复之前在100A描述里面解释过的内容,只有不同的部分会在这里讨论。100B里面的数字v和100A里面的数字v可能不同,因为有些100A里被直接迭代计算的组件会在100B里被间接迭代计算。在100A中,v=p>1,但在100B中,1≤v<p。参考图1-2,计算系统架构100B包括组件计算模块135。组件计算模块131的输出可以作为组件计算模块135的输入,计算模块131和135的输出可以作为偏态计算模块191的输入,偏态计算模块191可以生成偏态192。组件计算模块135通常包括w=p-v个组件计算模块来间接迭代计算w个组件。例如,组件计算模块135包括组件计算模块163用于间接迭代计算组件Ci1,组件计算模块164用于间接迭代计算组件Ciw,以及它们之间的其它w-2个组件计算模块。间接迭代计算w个组件包括一个一个地间接迭代计算w个组件的每一个。间接迭代计算一个组件包括访问和使用除该组件本身之外的一个或多个组件。那一个或多个组件可以是被初始化,直接迭代计算或间接迭代计算过的。
图2图示了为流数据迭代计算偏态的一个例子方法200的流程图。方法200会分别结合计算系统架构100A和100B的组件和数据一起描述。
方法200包括为指定规模为n(n>1)的一个调整前计算窗口初始化偏态的v(1≤v≤p,p>1)个组件(201)。例如,在计算系统架构100A和100B中,初始化模块132可以用贡献151(数据元素101的贡献),贡献152(数据元素102的贡献),和贡献153(其它数据元素103,104,105,106,107和108的贡献)的值初始化组件Cd1的值141。同样,初始化模块138可以访问组件Cdv的初始值并且用贡献181(数据元素101的贡献),贡献182(数据元素102的贡献)和贡献183(其它数据元素103,104,105,106,107和108的贡献)的值初始化组件Cdv的值145。
方法200包括接收一个要加入该调整前计算窗口的数据元素(202)。例如,数据元素109可在数据元素102-108被接收之后被接收。
方法200包括保存接收的数据元素到缓冲区中(203)。例如,参考100A和100B,数据元素109可以存在缓冲区121中的位置121I。
方法200包括调整该调整前计算窗口(204)。调整该调整前计算窗口包括从该调整前计算窗口去除最老的数据元素(205)和将接收的数据元素加入到该调整前计算窗口(206)。例如,数据元素101从调整前计算窗口122去除和数据元素109被加入到调整前计算窗口122后,调整前计算窗口122变成调整后计算窗口122A。
方法200包括为调整后计算窗口直接迭代计算偏态的v个组件(207),包括:访问从该调整前计算窗口去除的数据元素和加入该调整前计算窗口的数据元素(208);访问为调整前计算窗口初始化或计算的偏态的v个组件(209);从每个访问的组件中数学地去除去除的数据元素的任何贡献(210);及向每个访问的组件数学地加入被加入的数据元素的任何贡献(211)。细节描述如下。
为调整后计算窗口直接迭代计算偏态的v个组件包括访问从该调整前计算窗口去除的数据元素和加入该调整前计算窗口的数据元素(208)。例如,迭代算法133可以访问数据元素101和109,迭代算法139也可以访问数据元素101和109。
为调整后计算窗口直接迭代计算偏态的v个组件包括访问为该调整前计算窗口初始化或计算的偏态的v个组件(209)。例如,迭代算法133可访问组件Cd1的值141,迭代算法139可访问组件Cdv的值145。
为调整后计算窗口直接迭代计算调整后计算窗口的偏态的v个组件包括从每个访问的组件中数学地去除被去除的数据元素的任何贡献(210)。例如,直接迭代计算组件Cd1的值143可以包括贡献去除模块133A数学地从组件Cd1的值141去除贡献151(数据元素101的贡献),直接迭代计算组件Cdv的值147可以包括贡献去除模块139A数学地从组件Cdv的值145去除贡献181(数据元素101的贡献)。
为调整后计算窗口直接迭代计算调整后计算窗口的偏态的v个组件包括向每个访问的组件数学地增加新加入到该调整前计算窗口的数据元素的任何贡献(211)。例如,直接迭代计算组件Cd1的值143可以包括贡献增加模块133B数学地增加贡献154到组件Cd1的值141,直接迭代计算组件Cdv的值147可以包括贡献增加模块139B数学地增加贡献184到组件Cdv的值145。贡献154和184都是来自数据元素109的贡献。
如图1-1和1-2所示,组件Cd1的值143包括贡献152(数据元素102)的贡献),其它贡献153(数据元素103-108的贡献),和贡献154(数据元素109的贡献)。同样,组件Cdv的值147包括贡献182(数据元素102的贡献),其它贡献183(数据元素103-108的贡献),和贡献184(数据元素109的贡献)。
偏态可以根据需要被计算,即,只需要被访问时计算,但是每当一个数据元素被去除和一个数据元素被加入到调整前计算窗口时,v个组件必须被计算。
当偏态被访问并且v<p(即,不是所有组件都被直接迭代计算)时,方法200包括根据需要间接迭代计算w=p-v个组件(212)。这w个组件只有当偏态被访问时才会计算。例如,参考图1-2其部分组件直接迭代计算,部分组件间接迭代计算,计算模块163可以基于组件Ci1之外的一个或多个组件来间接迭代计算组件Ci1,计算模块164可以基于组件Ciw之外的一个或多个组件来间接迭代计算组件Ciw。这一个或多个组件可以是初始化,直接迭代计算,或间接迭代计算过的。
方法200包括用一个或多个初始化或迭代计算过的组件根据需要计算偏态(213)。例如,参考图1-1,偏态计算模块191可以基于组件Cd1的值143到组件Cdv的值147的一个或多个组件计算偏态192。
202-211可以随着更多数据元素的接收被重复。212-213可以根据需要被重复。每接收一个数据元素就开始新一轮迭代计算。上一轮的调整后计算窗口成为新一轮迭代计算中的调整前计算窗口。例如,计算完组件Cd1的值143到组件Cdv的值147范围内的组件之后,数据元素110可以被接收(202)。110可以放在位置121A覆盖数据元素101(203)。通过去除最老的数据元素102(205)和加入要被加入的数据元素110(206),调整后计算窗口122A可以变成调整后计算窗口122B(204)。上轮调整后计算窗口122A成为新一轮迭代计算中的调整前计算窗口。
迭代算法133可以基于组件Cd1的值143(调整后计算窗口122A的)直接迭代计算组件Cd1的值144(调整后计算窗口122B的)(207)。迭代算法133可以访问被去除的数据元素102和被加入的数据元素110(208)。迭代算法133可以访问组件Cd1的值143(209)。直接迭代计算组件Cd1的值144可以包括贡献去除模块133A从组件Cd1的值143数学地去除贡献152(即,被去除的数据元素102的贡献)(210)。直接迭代计算组件Cd1的值144可以包括贡献增加模块133B数学地增加贡献155(即,被加入的数据元素110的贡献)到组件Cd1的值143上(211)。同样,迭代算法139可以用组件Cdv的值147(调整后计算窗口122A的)直接迭代计算组件Cdv的值148(调整后计算窗口122B的)(207)。迭代算法139可以访问去除的数据元素102和加入的数据元素110(208)。迭代算法139可以访问组件Cdv的值147(209)。直接迭代计算组件Cdv的值148可以包括贡献去除模块139A从组件Cdv的值147数学地去除贡献182(即,被去除的数据元素102的贡献)(210)。直接迭代计算组件Cdv的值148可以包括贡献增加模块139B数学地增加贡献185(即,被加入的数据元素110的贡献)到组件Cdv的值147上(211)。
如图1-1和1-2所示,组件Cd1的值144包括其它贡献153(数据元素103-108的贡献),贡献154(数据元素109的贡献),和贡献155(数据元素110的贡献)。同样,组件Cdv的值148包括其它贡献183(数据元素103-108的贡献),贡献184(数据元素109的贡献)和贡献185(数据元素110的贡献)。
方法200包括,根据需要即只有偏态被访问时,间接迭代计算w个组件和偏态。如果偏态不被访问,方法200包括继续为下一个计算窗口接收下一个要加入的数据元素(202)。如果偏态被访问,方法200包括间接迭代计算w个组件(212),基于一个或多个迭代计算的组件计算偏态(213)。
当下一个要加入的数据元素被接收,组件Cd1的值144可被用来直接迭代计算组件Cd1的新值,组件Cdv的值148可被用来直接迭代计算组件Cdv的新值。
图3图示在流数据上迭代计算偏态的计算窗口300访问的数据元素。计算窗口和计算集的区别是计算窗口上的数据元素对有顺序(例如,数据元素总是从计算窗口的最左边或最右边被去除并且数据元素可以加入计算窗口的最左边或最右边)。图3显示的是计算窗口向右移动时的情景(向左移动时是类似的,只不过方向相反,数据从计算窗口的最左边加入最右边去除)。例如,参考图3,最早接收的数据元素会从计算窗口300的最左边被去除并且一个新接收的数据元素会加入到计算窗口300的最右边。前n个数据元素会被访问为了计算计算窗口的一个或多个(p(p=v+w))组件。随着时间的推移,最老的数据元素会从计算窗口去除并且要加入计算窗口的,例如xn+1,然后xn+2,xn+3等,会被加入计算窗口为了直接迭代计算调整后的计算窗口的偏态的v个组件和间接迭代计算w=p-v个组件。这些迭代计算过的组件中的一个或多个会被用来计算偏态。这v个组件可以通过计算窗口去除的数据元素,加入的数据元素和前计算窗口的v个组件被直接迭代计算,而不需要访问计算窗口300里的其它数据元素。对于一个给定的迭代算法,v是个常量,所以直接迭代计算v个组件的操作数也是个常量,间接迭代计算w=p-v个组件的操作数也是个常量。所以,计算一个给定的规模为n的计算窗口的所有p个组件的计算工作量被降低。偏态可以用一个或多个迭代计算过的组件被计算所以总体计算工作量降低了。n越大,计算量的降低越突出。
以下的部分有一些偏态的组件的例子和迭代偏态计算算法的例子。
图4-1图示偏态的定义。偏态包括总体偏态和样本偏态。假设计算窗口X={xi|i=1,…,n}包含参与偏态计算的数据元素,数据元素x1,x2,x3,x4,……,xn是来自于预测变量X的观察数据并且假设偏态需要被计算。假设过段时间最老的数据元素xr要从计算窗口X去除并且数据元素xa要加入计算窗口X。每当一个数据元素从计算窗口去除和一个数据元素加入计算窗口后偏态需要重新被计算,计算窗口会被认为是调整后的计算窗口X′,一轮新的迭代计算会开始。
方程401和402是分别为第k轮计算X的所有数据元素的和Sk和平均值
Figure BDA0001960755810000165
的传统方程。方程403是为第k轮计算X的偏态的传统方程。方程404和405是分别为第k+1轮计算调整后的X′的所有数据元素的和Sk+1和平均值
Figure BDA0001960755810000162
的传统方程。方程406是为第k+1轮计算调整后的X′的总体偏态的传统方程。方程407是为第k+1轮计算调整后的X′的样本偏态的传统方程。
为展示如何利用组件迭代计算偏态,三个不同的迭代偏态算法被提供作为例子。
图4-2说明第一个迭代偏态计算例子算法(迭代算法1)。方程401可以被用来初始化X里所有数据元素的和Sk。方程402可以被用来初始化X里所有数据元素的平均值
Figure BDA0001960755810000161
方程409可以被用来初始化组件SSk。方程410可以被用来初始化组件SXk。方程411可以被用来初始化组件CXk。根据需要方程412可以基于初始化的组件计算总体偏态γk (1p)。根据需要方程413可以基于初始化的组件计算样本偏态γk (1s)。假设一段时间后数据元素xr要从计算窗口X去除并且数据元素xa要加入计算窗口X。基于组件Sk,方程414可以被用来迭代计算调整后计算窗口X′的和Sk+1。基于组件
Figure BDA0001960755810000163
方程415可以被用来迭代计算调整后计算窗口X′的平均值
Figure BDA0001960755810000164
基于组件SSk,方程416可以迭代计算调整后计算窗口X′的组件SSk+1。基于组件SSk+1,方程417可以迭代计算调整后计算窗口X′的组件SXk+1。基于组件CXk,方程418可以迭代计算调整后计算窗口X′的组件CXk+1。基于迭代计算的组件,方程419可以迭代计算调整后计算窗口X′的总体偏态γk+1 (1p),而方程420可以迭代计算调整后计算窗口X′的样本偏态γk+1 (1s)。414,415,417和418分别包含多个方程但分别只需要其中一个取决于是否和或平均值或两者都可用。
图4-3说明第二个迭代偏态计算例子算法(迭代算法2)。方程401可以被用来初始化X里所有数据元素的和Sk。方程402可以被用来初始化X里所有数据元素的平均值
Figure BDA0001960755810000171
方程421可以被用来初始化组件SSk。方程422可以被用来初始化组件SXk。方程423可以被用来初始化组件CSk。方程424可以被用来初始化组件CXk。根据需要方程425可以基于初始化的组件生成总体偏态γk (1p),而方程426可以基于初始化的组件生成样本偏态γk (1s)。假设一段时间后数据元素xr要从计算窗口X去除并且数据元素xa要加入计算窗口X。基于组件Sk,方程427可以被用来迭代计算调整后计算窗口X′的Sk+1。基于组件
Figure BDA0001960755810000172
方程428可以被用来迭代计算调整后计算窗口X′的
Figure BDA0001960755810000173
基于组件SSk,方程429可以迭代计算调整后计算窗口X′的组件SSk+1。基于组件SSk+1,方程430可以迭代计算调整后计算窗口X′的组件SXk+1。基于组件CSk,方程431可以迭代计算调整后计算窗口X′的组件CSk+1。基于组件CSk+1,方程432可以迭代计算调整后计算窗口X′的组件CXk+1。基于迭代计算的组件,方程433可以迭代计算调整后计算窗口X′的总体偏态γk+1 (1p),而方程434可以迭代计算调整后计算窗口X′的样本偏态γk+1 (1s)。427,428,430和432分别包含多个方程但分别只需要其中一个取决于是否和或平均值或两者都可用。
图4-4说明第三个迭代偏态计算例子算法(迭代算法3)。方程401可以被用来初始化X里所有数据元素的和Sk。方程402可以被用来初始化X里所有数据元素的平均值
Figure BDA0001960755810000174
方程435可以被用来初始化组件SSk。方程436可以被用来初始化组件SXk。方程437可以被用来初始化组件CSk。方程438可以被用来初始化组件CXk。根据需要,方程439可以基于初始化的组件计算总体偏态γk (1p),而方程440可以基于初始化的组件计算样本偏态γk (1s)。假设一段时间后数据元素xr要从计算窗口X去除并且数据元素xa要加入计算窗口X。基于组件Sk,方程441可以被用来迭代计算调整后计算窗口X′的Sk+1。基于组件
Figure BDA0001960755810000175
方程442可以被用来迭代计算调整后计算窗口X′的
Figure BDA0001960755810000176
基于组件SSk,方程443可以迭代计算调整后计算窗口X′的组件SSk+1。基于组件SXk,方程444可以迭代计算调整后计算窗口X′的组件SXk+1。基于组件CSk,方程445可以迭代计算调整后计算窗口X′的组件CSk+1。基于组件CSk+1,方程446可以迭代计算调整后计算窗口X′的组件CXk+1。基于迭代计算的组件,方程447可以迭代计算调整后计算窗口X′的总体偏态γk+1 (1p),而方程448可以迭代计算调整后计算窗口X′的样本偏态γk+1 (1s)。441,442,444和446分别包含多个方程但分别只需要其中一个取决于是否和或平均值或两者都可用。
为展示迭代偏态算法以及它们与传统算法的比较,下面给出三个例子,其使用3个计算窗口的数据计算样本偏态。总体偏态的计算是类似的。对于传统算法,所有3个计算窗口的计算过程完全相同。对于迭代算法,第一个计算窗口进行两个或多个组件的初始化,第二个和第三个计算窗口进行迭代计算。
图5-1,图5-2,图5-3分别显示了用于计算实例的第一个计算窗口,第二个计算窗口,和第三个计算窗口。计算窗口503包括数据流501的头4个数据元素:8,3,6,1。计算窗口504包括数据流501的4个数据元素:3,6,1,9。计算窗口505包括数据流501的4个数据元素:6,1,9,2。计算窗口规模502(n)是4。
首先用传统算法分别计算计算窗口503,504和505的偏态。
为计算窗口503计算偏态:
Figure BDA0001960755810000181
Figure BDA0001960755810000182
Figure BDA0001960755810000183
Figure BDA0001960755810000184
Figure BDA0001960755810000185
没有任何优化的情况下,为规模为4的计算窗口计算偏态共有1个平方根,2个除法,18个乘法,9个加法和11个减法。
相同的方程和过程可被用来分别为图5-2显示的计算窗口504计算样本偏态和为图5-3显示的计算窗口505计算样本偏态。计算窗口504的样本偏态
Figure BDA0001960755810000186
该计算在没有任何优化的情况下包括1个平方根,2个除法,18个乘法,9个加法和11个减法。计算窗口505的样本偏态
Figure BDA0001960755810000187
Figure BDA0001960755810000191
该计算在没有优化的情况下包括1个平方根,2个除法,18个乘法,9个加法和11个减法。传统算法在没有任何优化的情况下计算规模为n的计算窗口中选定的数据元素的样本偏态时通常需要完成1个平方根,2个除法,3n+6个乘法,3(n-1)个加法,和2n+3个减法。
下面用迭代算法1分别计算计算窗口503,504,和505的样本偏态。
为规模为4的计算窗口503计算样本偏态:
用方程402初始化第1轮
Figure BDA0001960755810000192
Figure BDA0001960755810000193
用方程409,410,411分别初始化第1轮SS1,SX1,CX1
Figure BDA0001960755810000194
Figure BDA0001960755810000195
Figure BDA0001960755810000196
用方程413计算第1轮样本偏态:
Figure BDA0001960755810000197
为计算窗口503计算样本偏态时共有1个平方根,2个除法,14个乘法,12个加法和6个减法。
为规模为4的计算窗口504迭代计算样本偏态:
用方程415,416,417和418分别迭代计算第2轮的组件
Figure BDA0001960755810000198
SS2,SX2,CX2
Figure BDA0001960755810000199
SS2=SS1+xa2-xr 2=110+81-82=127
Figure BDA00019607558100001910
Figure BDA00019607558100001911
用方程420计算第2轮样本偏态:
Figure BDA00019607558100001912
为计算窗口504迭代计算样本偏态时共有1个平方根,2个除法,18个乘法,9个加法和7个减法。
为规模为4的计算窗口505迭代计算样本偏态:
用方程415,416,417和418分别迭代计算第3轮的组件
Figure BDA0001960755810000201
SS3,SX3,CX3
Figure BDA0001960755810000202
SS3=SS2+xa 2-xr 2=127+4-32=122
Figure BDA0001960755810000203
Figure BDA0001960755810000204
用方程420计算第3轮样本偏态:
Figure BDA0001960755810000205
为计算窗口505迭代计算样本偏态时共有1个平方根,2个除法,18个乘法,9个加法和7个减法。
下面用迭代算法2分别计算计算窗口503,504,和505的样本偏态。
为规模为4的计算窗口503计算样本偏态:
用方程402初始化第1轮
Figure BDA0001960755810000206
Figure BDA0001960755810000207
用方程421,422,423,424分别初始化第1轮SS1,SX1,CS1,CX1
Figure BDA0001960755810000208
Figure BDA0001960755810000209
Figure BDA00019607558100002010
Figure BDA00019607558100002011
用方程426计算第1轮的样本偏态:
Figure BDA00019607558100002012
为计算窗口503计算样本偏态时共有1个平方根,2个除法,21个乘法,15个加法和6个减法。
为规模为4的计算窗口504迭代计算样本偏态:
用方程428,429,430,431,432分别迭代计算第2轮的组件
Figure BDA0001960755810000211
SS2,SX2,CS2,CX2
Figure BDA0001960755810000212
SS2=SS1+xa2-xr 2=110+81-64=127
Figure BDA0001960755810000213
CS2=CS1+xa 3-xr 3=756+9×9×9-64×8=973
Figure BDA0001960755810000214
用方程434计算第2轮的样本偏态:
Figure BDA0001960755810000215
为计算窗口504迭代计算样本偏态时共有1个平方根,2个除法,16个乘法,4个加法和7个减法。
为规模为4的计算窗口505迭代计算样本偏态:
用方程428,429,430,431,432分别迭代计算第3轮的组件
Figure BDA0001960755810000216
SS3,SX3,CS3,CX3
Figure BDA0001960755810000217
SS3=SS2+xa 2-xr 2=127+4-9=122
Figure BDA0001960755810000218
CS3=CS2+xa 3-xr 3=CS2+xa 2xa-xr 2xr=973+4×2-9×3=954
Figure BDA0001960755810000219
用方程434计算第3轮的样本偏态:
Figure BDA00019607558100002110
为计算窗口505迭代计算样本偏态时共有1个平方根,2个除法,16个乘法,4个加法和7个减法。
下面用迭代算法3分别计算计算窗口503,504,和505中的样本偏态。
为规模为4的计算窗口503计算样本偏态:
用方程402,435,436,437,438分别初始化第1轮
Figure BDA0001960755810000221
SS1,SX1,CS1,CX1
Figure BDA0001960755810000222
Figure BDA0001960755810000223
Figure BDA0001960755810000224
Figure BDA0001960755810000225
Figure BDA0001960755810000226
用方程440计算第1轮的样本偏态:
Figure BDA0001960755810000227
为计算窗口503计算样本偏态时共有1个平方根,2个除法,21个乘法,15个加法和6个减法。
为规模为4的计算窗口504迭代计算偏态:
用方程442,443,444,445,446分别迭代计算第2轮的组件
Figure BDA0001960755810000228
SS2,CX2,CS2,CX2
Figure BDA0001960755810000229
SS2=SS1+xa 2-xr 2=110+81-64=127
Figure BDA00019607558100002210
CS2=CS1+xa 3-xr 3=CS1+xa 2xa-xr 2xr=756+81×9-64×8=973
Figure BDA00019607558100002211
用方程448计算第2轮的样本偏态:
Figure BDA00019607558100002212
为计算窗口504迭代计算样本偏态时共有1个平方根,2个除法,15个乘法,7个加法和8个减法。
为规模为4的计算窗口505计算样本偏态:
用方程442,443,444,445,446分别迭代计算第3轮的组件
Figure BDA00019607558100002213
SS3,SX3,CS3,CX3
Figure BDA0001960755810000231
SS3=SS2+xa 2-xr 2=127+4-9=122
Figure BDA0001960755810000232
CS3=CS2+xa 3-xr 3=CS2+xa 2xa-xr 2xr=973+4×2-9×3=954
Figure BDA0001960755810000233
用方程448计算第3轮的样本偏态:
Figure BDA0001960755810000234
为计算窗口505迭代计算样本偏态时共有1个平方根,2个除法,15个乘法,7个加法和8个减法。
在以上三个例子中,平均值被用于迭代偏态计算。和也可被用于迭代偏态计算,只是操作数不同。
图6-1图示了n=4时,传统偏态算法和迭代偏态算法的计算量对比。如图所示,任何一个迭代算法和传统算法相比都计算量相近并且在乘法操作,加法操作和减法操作上略少。
图6-2图示了n=1,000,000时,传统偏态算法和迭代偏态算法的计算量对比。如图所示,任何一个迭代算法都比传统算法少很多乘法操作,加法操作和减法操作。把需要在成千上万台计算机上处理的数据只在单机上就能完成。大大提高计算效率,减少计算资源,降低计算设备能耗。
本发明可以在不脱离其思想或本质特征的情况下以其它特定的方式来实现。本申请描述的实现方案从各个方面来说是仅作为示范性的而不是限制性的。因此,本发明的范围由附加的权利要求书而不是前面的描述来指明。与权利要求书中权利要求的含义和范围等价的所有变化都包含在它们的范围内。

Claims (10)

1.一种,由基于一台或多台计算设备构成的计算系统实现的,以迭代方式计算存储于一个缓冲区的一个数据流的,调整后计算窗口的,偏态的方法,其特征在于:
由基于计算设备的计算系统,为一个数据流的一个指定规模为n(n>4)的调整前计算窗口,初始化一个和或一个平均值或一个和及一个平均值,以及偏态的不同于和及平均值的一个或多个其它组件;
由基于计算设备的计算系统,接收一个要加入该调整前计算窗口的数据元素;
由基于计算设备的计算系统,保存接收的数据元素到一个缓冲区中;
由基于计算设备的计算系统,调整该调整前计算窗口,通过:
从该调整前计算窗口中去除最早接收的数据元素;以及
向该调整前计算窗口加入刚接收的数据元素;
由基于计算设备的计算系统,为调整后计算窗口迭代计算一个和,一个平均值,或一个和及一个平均值;
由基于计算设备的计算系统,至少基于调整前计算窗口的偏态的不同于和及平均值的那一个或多个其它组件,为该调整后计算窗口直接迭代计算偏态的不同于和及平均值的一个或多个组件,这里的迭代计算一个或多个组件包括:
访问被去除数据元素和被加入的数据元素从而避免访问调整后计算窗口中的所有数据元素来降低数据访问延迟,节省计算资源和降低能耗;
访问该调整前计算窗口的偏态的不同于和及平均值的那一个或多个组件;以及
基于被去除的数据元素和被加入的数据元素,从访问的每一个组件中数学地去除被去除的数据元素对该组件的任何贡献和数学地加入被加入的数据元素对该组件的任何贡献从而避免调整后计算窗口中的所有数据元素都被用来直接迭代计算偏态的一个或多个组件来增加计算效率;以及
由基于计算设备的计算系统,基于一个或多个为该调整后计算窗口迭代计算的组件,为该调整后计算窗口生成一个偏态。
2.按照权利要求1所述的由计算系统实现的方法,其特征在于:所述接收一个要加入数据元素包括接收多个要加入该调整前计算窗口的数据元素,该方法也进一步包括对于多个要加入的数据元素中的每一个数据元素进行调整调整前计算窗口,迭代计算和或平均值或和及平均值,以及直接迭代计算一个或多个组件。
3.按照权利要求1所述的由计算系统实现的方法,其特征在于:所述接收一个要加入的数据元素包括接收多个要加入该调整前计算窗口的数据元素,该方法也进一步包括对于多个要加入的数据元素中的每一个数据元素进行调整调整前计算窗口,迭代计算和或平均值或和及平均值,直接迭代计算一个或多个组件,以及为调整后计算窗口生成偏态。
4.按照权利要求3所述的由计算系统实现的方法,其特征在于:所述为该调整后计算窗口生成偏态进一步包括由基于计算设备的计算系统为该调整后计算窗口间接迭代计算偏态的一个或多个组件,间接迭代计算该一个或多个组件包括基于要计算的组件之外的一个或多个组件来逐个分别计算该一个或多个组件。
5.一个计算系统,其特征在于:
一个或多个处理器;
一个或多个存储媒体,其中的一个缓冲区存储了流数据元素;以及
一个或多个计算模块,当它们被一个或多个处理器中的至少一个处理器执行时,为该缓冲区的一个指定规模的调整后计算窗口确定偏态,这里该偏态的确定包括:
a.为该缓冲区的一个指定规模为n(n>4)的调整前计算窗口,初始化一个和或一个平均值或一个和及一个平均值,以及偏态的除和及平均值之外的一个或多个其它组件;
b.接收一个要加入到该调整前计算窗口的数据元素;
c.保存该数据元素到一个缓冲区中;
d.调整该调整前计算窗口,包括:
从该调整前计算窗口中去除最早加入的数据元素;以及
向该调整前计算窗口中加入接收的数据元素;
e.为调整后计算窗口直接迭代计算一个和,一个平均值,或一个和及一个平均值;
f.为该调整后计算窗口直接迭代计算偏态的一个或多个除了和及平均值以外的组件,包括:
访问去除的数据元素和加入的数据元素而避免访问该调整后计算窗口中的所有数据元素来降低数据访问延迟,节省计算资源和降低能耗;
访问该调整前计算窗口的偏态的不同于和及平均值的那一个或多个组件;以及
基于被去除的数据元素和被加入的数据元素,从访问的每一个组件中数学地去除被去除的数据元素的任何贡献和数学地加入被加入的数据元素的任何贡献从而避免该调整后计算窗口中的所有数据元素都被用来直接迭代计算偏态的一个或多个组件来提高计算效率;以及
g.基于一个或多个为该调整后计算窗口迭代计算的组件,为该调整后计算窗口生成偏态。
6.按照权利要求5所述的计算系统,其特征在于:该一个或多个计算模块,当它们被一个或多个处理器中的至少一个处理器执行时,多次执行b,c,d,e,和f。
7.按照权利要求5所述的计算系统,其特征在于:该一个或多个计算模块,当它们被一个或多个处理器中的至少一个处理器执行时,多次执行b,c,d,e,f,和g。
8.按照权利要求7所述的计算系统,其特征在于:所述g进一步包括由该计算系统为该调整后计算窗口间接迭代计算偏态的一个或多个组件,间接迭代计算这一个或多个组件包括基于要计算的组件之外的一个或多个组件来逐个分别计算这一个或多个组件。
9.一个计算系统程序产品,运行于一个包含一个或多个计算设备的计算系统,每个计算设备包括一个或多个处理器,该计算系统包括存储了一个数据流的一个缓冲区,该计算系统程序产品包含多条计算设备可执行指令,当这些计算设备可执行指令被该计算系统中的至少一台计算设备运行时,使得该计算系统执行一个方法,其特征在于:
为一个缓冲区的一个规模规模为n(n>4)的调整前计算窗口,初始化一个和或一个平均值或一个和及一个平均值,以及偏态的不同于和及平均值的一个或多个其它组件;
接收一个要加入到该调整前计算窗口的数据元素;
保存接收的数据元素到一个缓冲区中;
调整该调整前计算窗口,通过:
从该调整前计算窗口中去除最早接收的数据元素;以及
向该调整前计算窗口加入刚接收的数据元素;
为调整后计算窗口迭代计算一个和,一个平均值,或一个和及一个平均值;
至少基于调整前计算窗口的偏态的不同于和及平均值的那一个或多个其它组件,为该调整后计算窗口直接迭代计算偏态的不同于和及平均值的一个或多个组件,这里的迭代计算一个或多个组件包括:
访问被去除的数据元素和被加入的数据元素从而避免访问调整后计算窗口中的所有数据元素来降低数据访问延迟,节省计算资源和降低系统能耗;
访问该调整前计算窗口的偏态的不同于和及平均值的那一个或多个其它组件;以及
基于被去除的数据元素和被加入的数据元素,从访问的每一个组件中数学地去除被去除的数据元素对该组件的任何贡献和数学地加入被加入的数据元素对该组件的任何贡献从而避免该调整后计算窗口中的所有数据元素都被用来直接迭代计算偏态的一个或多个组件来增加计算效率;以及
基于一个或多个为该调整后计算窗口迭代计算的组件,为该调整后计算窗口生成偏态。
10.按照权利要求9所述的计算系统程序产品,其特征在于:所述为该调整后计算窗口生成偏态进一步包括为该调整后计算窗口间接迭代计算偏态的一个或多个组件,间接迭代计算这一个或多个组件包括基于要计算的组件之外的一个或多个组件来逐个分别计算这一个或多个组件。
CN201910082326.6A 2019-01-28 2019-01-28 一种实时判断流数据分布不对称性的方法 Pending CN111488380A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910082326.6A CN111488380A (zh) 2019-01-28 2019-01-28 一种实时判断流数据分布不对称性的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910082326.6A CN111488380A (zh) 2019-01-28 2019-01-28 一种实时判断流数据分布不对称性的方法

Publications (1)

Publication Number Publication Date
CN111488380A true CN111488380A (zh) 2020-08-04

Family

ID=71810754

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910082326.6A Pending CN111488380A (zh) 2019-01-28 2019-01-28 一种实时判断流数据分布不对称性的方法

Country Status (1)

Country Link
CN (1) CN111488380A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102171680A (zh) * 2008-10-05 2011-08-31 微软公司 用于基于列的数据编码结构的查询的高效大规模过滤和/或排序
WO2015094545A1 (en) * 2013-12-18 2015-06-25 Mun Johnathan System and method for modeling and quantifying regulatory capital, key risk indicators, probability of default, exposure at default, loss given default, liquidity ratios, and value at risk, within the areas of asset liability management, credit risk, market risk, operational risk, and liquidity risk for banks
US20180068697A1 (en) * 2016-09-07 2018-03-08 Toshiba Memory Corporation Reception circuit
CN108984783A (zh) * 2018-07-26 2018-12-11 佛山市甜慕链客科技有限公司 一种使用大数据进行递减处理的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102171680A (zh) * 2008-10-05 2011-08-31 微软公司 用于基于列的数据编码结构的查询的高效大规模过滤和/或排序
WO2015094545A1 (en) * 2013-12-18 2015-06-25 Mun Johnathan System and method for modeling and quantifying regulatory capital, key risk indicators, probability of default, exposure at default, loss given default, liquidity ratios, and value at risk, within the areas of asset liability management, credit risk, market risk, operational risk, and liquidity risk for banks
US20180068697A1 (en) * 2016-09-07 2018-03-08 Toshiba Memory Corporation Reception circuit
CN108984783A (zh) * 2018-07-26 2018-12-11 佛山市甜慕链客科技有限公司 一种使用大数据进行递减处理的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
周颢, 邵晨曦, 白方周: "数据流定性化方法研究", 信息与控制, no. 02, 23 April 2002 (2002-04-23) *

Similar Documents

Publication Publication Date Title
US9928215B1 (en) Iterative simple linear regression coefficient calculation for streamed data using components
US10659369B2 (en) Decremental autocorrelation calculation for big data using components
US9760539B1 (en) Incremental simple linear regression coefficient calculation for big data or streamed data using components
US10225308B1 (en) Decremental Z-score calculation for big data or streamed data using components
US10248690B1 (en) Decremental correlation calculation for big data or streamed data using components
US10235415B1 (en) Iterative variance and/or standard deviation calculation for big data using components
US10079910B1 (en) Iterative covariance calculation for streamed data using components
US10310910B1 (en) Iterative autocorrelation calculation for big data using components
US10235414B1 (en) Iterative kurtosis calculation for streamed data using components
CN112035521A (zh) 一种实时判断流数据自身给定延迟重复性的方法
US10394809B1 (en) Incremental variance and/or standard deviation calculation for big data or streamed data using components
US10191941B1 (en) Iterative skewness calculation for streamed data using components
US10394810B1 (en) Iterative Z-score calculation for big data using components
US10262031B1 (en) Decremental kurtosis calculation for big data or streamed data using components
US10282445B1 (en) Incremental kurtosis calculation for big data or streamed data using components
CN112035520A (zh) 一种实时判断流数据自身给定延迟重复性的方法
US10162856B1 (en) Incremental correlation calculation for big data or streamed data using components
CN111488380A (zh) 一种实时判断流数据分布不对称性的方法
US10339136B1 (en) Incremental skewness calculation for big data or streamed data using components
CN111708972A (zh) 一种实时判断流数据分布密度集中程度的方法
CN110457340B (zh) 一种实时寻找大数据自身重复规律的方法
CN110363321B (zh) 一种实时预测大数据变化趋势的方法
CN110515681B (zh) 一种实时判断流数据自身给定延迟重复性的方法
CN112035505A (zh) 一种实时判断大数据分布密度集中程度的方法
CN110909305B (zh) 一种实时判断数据流变化同向性及其程度的方法

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