CN112148766A - 利用人工神经网络模型进行数据抽样的方法和系统 - Google Patents
利用人工神经网络模型进行数据抽样的方法和系统 Download PDFInfo
- Publication number
- CN112148766A CN112148766A CN202010220298.2A CN202010220298A CN112148766A CN 112148766 A CN112148766 A CN 112148766A CN 202010220298 A CN202010220298 A CN 202010220298A CN 112148766 A CN112148766 A CN 112148766A
- Authority
- CN
- China
- Prior art keywords
- sample
- data
- columns
- generating
- sampling
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/221—Column-oriented storage; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
- G06N3/105—Shells for specifying net layout
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
- G06N5/025—Extracting rules from data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/046—Forward inferencing; Production systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Operations Research (AREA)
- Algebra (AREA)
- Fuzzy Systems (AREA)
- Complex Calculations (AREA)
Abstract
本发明涉及一种利用人工神经网络模型进行数据抽样的方法和系统。在一种实施方式中,所述方法包括:识别所述总体数据集中的多个数值型数据列和多个类别型数据列;通过对所述多个数值型数据实施行线性回归来确定一组预测变量和一组待预测变量;根据所述一组预测变量和一组待预测变量生成序贯预测模型;以及通过对所述多个类别型数据列实施分层抽样来生成一组分层样本。该方法还包括:根据所述一组分层样本和序贯预测模型生成样本键;以及根据所述样本键生成代表所述总体数据集的样本数据集。
Description
技术领域
本发明总体涉及数据抽样,尤其涉及一种利用人工神经网络(ANN)模型进行数据抽样的方法和系统。
背景技术
数据抽样是一种从总体数据集中选择在统计学意义上具有代表性的数据子集(即样本数据集)的技术,广泛应用于各种行业和各种应用领域。一般情况下,通过抽样,可以利用样本数据集找出总体数据集的某些特征。具体而言,可以将相应研究结果(即已找出的样本数据集的特征)普遍化至整个总体数据集。在统计研究领域,由于可能无法对整个总体数据集进行分析,或者无法采集整个总体的数据,因此抽样成为一种将研究发现普遍化至总体的基本方法。此外,与分析总体数据集的做法相比,抽样仅需分析较小的样本数据集,因此所需的资源更少,从而具有性价比高和时间效率高的优点。
可以理解的是,在实施任何类型的数据建模或预测分析时,统计学意义上相关的样本的准确性都可能具有至关重要的意义。例如,如果样本数据集中的所选样本不能代表总体,则任何对该样本数据集的引用或对该样本数据集的分析得出的结论均可能会自动遭受样本选择导致的偏差这一后果。因此,提高样品质量在数据的抽样和建模中具有至关重要的意义。
虽然人们期待样本能够确切地作为总体的一种镜像,但是如何确保这一点却极具难度。在数据抽样过程中,抽样误差往往会限制对准确的代表性样本的选择。当抽样过程中因包括但不限于抽样偏倚在内的各种原因而使得样本与总体之间在所选取样单元的层面上产生差异时,便有可能在不经意间导致抽样误差。抽样偏倚是指,偏好于具有某些特征的一类取样单元从使得对此类取样单元的抽样凌驾于对具有不同类型特征的其他类型取样单元的抽样之上。即使通过从总体中随机选择取样单元的方式选择样本,仍然无法保证能够完全避免抽样偏倚。例如,如果总体中某一类型取样单元的比例本身高于其他类型取样单元的比例,则通过随机选择法获得的样本可能会更加易于存在抽样偏倚问题。由于随机抽样技术中取样单元被选择的概率均等,因此可能难以避免抽样误差。
在某些情况下,可采用分层抽样技术代替随机抽样技术。在现有分层抽样技术中,首先根据取样单元的类别或特征选择取样层,然后可根据各取样层在总体中的比例,从这些取样层中随机选择取样单元。虽然现有分层抽样技术可以在很大程度上解决抽样偏倚问题,但是由于其仍然根据某一类别随机选择取样单元,因此仍然在提供能够完全代表总体的样本方面具有限制。因此,如果总体中存在多个类别,现有分层抽样技术无法证明其有效性。此外,随机选择取样单元的做法可能无法保证总体和样本数据的数值类型属性具有类似分布。
在某些现有方法中,可通过衡量对象数据集的重合程度的方式进行抽样,其中,所述对象数据集中的每一个对象均可由一组属性值表示。在某些其他现有方法中,可通过对总体实施遗传算法并且在基于神经网络的预测算法的帮助下,从总体中生成数据样本。然而,该现有方法在以无任何抽样偏倚的方式从总体中生成准确的代表性样本的适用范围和实用性方面存在限制。
发明内容
在一种实施方式中,公开一种利用人工神经网络(ANN)模型对总体数据集进行抽样的方法。在一个实施例中,所述方法可包括识别所述总体数据集中的多个数值型数据列和多个类别型数据列。该方法可进一步包括通过对所述多个数值型数据列实施线性回归来确定一组预测变量和一组待预测变量。该方法可进一步包括根据所述一组预测变量和所述一组待预测变量生成序贯预测模型。该方法可进一步包括通过对所述多个类别型数据列实施分层抽样来生成一组分层样本。该方法可进一步包括根据所述一组分层样本和所述序贯预测模型生成样本键。该方法可进一步包括根据所述样本键生成代表所述总体数据集的样本数据集。
在一种实施方式中,公开一种利用人工神经网络(ANN)模型对总体数据集进行抽样的系统。在一个实施例中,所述系统可包括数据抽样装置,该数据抽样装置可包括至少一个处理器以及与该至少一个处理器以可通信方式相连的存储器。所述存储器可存储有处理器可执行指令,这些指令在执行时可使得所述处理器识别所述总体数据集中的多个数值型数据列和多个类别型数据列。所述处理器可执行指令在执行时还可使得所述处理器通过对所述多个数值型数据列实施线性回归来确定一组预测变量和一组待预测变量。所述处理器可执行指令在执行时还可使得所述处理器根据所述一组预测变量和所述一组待预测变量生成序贯预测模型。所述处理器可执行指令在执行时还可使得所述处理器通过对所述多个类别型数据列实施分层抽样来生成一组分层样本。所述处理器可执行指令在执行时还可使得所述处理器根据所述一组分层样本和所述序贯预测模型生成样本键。所述处理器可执行指令在执行时还可使得所述处理器根据所述样本键生成代表所述总体数据集的样本数据集。
在一种实施方式中,公开一种非暂时性计算机可读介质,该介质存储有用于利用ANN模型对总体数据集进行抽样的计算机可执行指令。在一个实施例中,所存储的指令在由处理器执行时,可使得该处理器实施操作,这些操作包括识别所述总体数据集中的多个数值型数据列和多个类别型数据列。所述操作还可包括通过对所述多个数值型数据列实施线性回归分析来确定一组预测变量和一组待预测变量。所述操作还可包括根据所述一组预测变量和所述一组待预测变量生成序贯预测模型。所述操作还可包括通过对所述多个类别型数据列实施分层抽样来生成一组分层样本。所述操作还可包括根据所述一组分层样本和所述序贯预测模型生成样本键。所述操作还可包括根据所述样本键生成代表所述总体数据集的样本数据集。
需要理解的是,以上概略描述与以下详细描述均仅在于例示和说明,而不在于限制所要求保护的发明。
附图说明
所附各图并入本发明之内并构成本发明的一部分,用于对例示实施方式进行描述,并与说明书一道阐明所公开的原理。
图1为根据本发明一些实施方式的利用人工神经网络(ANN)模型对总体数据集进行抽样的例示系统框图。
图2为根据本发明一些实施方式的由图1的例示系统实现的数据抽样装置的功能框图。
图3为根据本发明一些实施方式的序贯预测模型的结构图。
图4为根据本发明一些实施方式的利用ANN模型对总体数据集进行抽样的例示方法的流程图。
图5A和图5B为根据本发明一些实施方式的利用ANN模型对总体数据集进行抽样的详细例示方法的流程图。
图6所示为根据本发明一些实施方式的用于生成一组预测变量和一组待预测变量的样本矩阵。
图7为用于实施本发明实施方式的例示计算机系统框图。
具体实施方式
以下,参考附图,对例示实施方式进行描述。在任何方便之处,各图中均采用相同的附图标记指代相同或类似部件。虽然本文中描述了所公开原理的实施例和特征,但是在不脱离所公开实施方式的精神和范围的前提下,还可进行修改、调整以及做出其他实施方式。以下具体描述意在仅视作例示,而真正的范围及精神如权利要求书所述。
现在参考图1,该图为根据本发明一些实施方式的利用人工神经网络(ANN)模型对总体数据集进行抽样的例示系统100的框图。系统100可实施于根据本发明一些实施方式的数据抽样装置中。具体而言,系统100可包括任何可实现所述数据抽样装置的计算装置(如服务器、台式机、膝上型计算机、笔记本计算机、上网本、平板电脑、智能手机、移动电话等)。
所述数据抽样装置可识别总体数据集中的多个数值型数据列和多个类别型数据列。以下,将结合图2至图6,对此进行进一步详细描述。该数据抽样装置还可通过对所述多个数值型数据列实施线性回归而确定一组预测变量和一组待预测变量。该数据抽样装置还可根据所述一组预测变量和一组待预测变量生成序贯预测模型。该数据抽样装置还可通过对所述多个类别型数据列进行分层抽样而生成一组分层样本。该数据抽样装置还可根据所述一组分层样本和序贯预测模型生成样本键。该数据抽样装置还可根据样本键生成代表总体数据集的样本数据集。
系统100可包括一个或多个处理器101,计算机可读介质(如存储器)102以及显示器103。计算机可读存储介质102可存储指令,这些指令在由所述一个或多个处理器101执行时,使得该一个或多个处理器101根据本发明的各个方面对总体数据集进行抽样。计算机可读存储介质102还可存储供系统100捕获、处理和/或要求的各种数据(如多个数值型数据列、多个类别型数据列、一组预测变量、一组待预测变量、序贯预测模型、一组分层样本、样本键、样本数据集、预设阈值、样本容量、总体容量、平均绝对误差等)。系统100可经用户界面104与用户交互,所述用户界面可通过显示器103访问。系统100还可通过通信网络106与一个或多个外部设备105交互,以发送或接收各种数据。外部设备105可包括但不限于远程服务器、数字设备或其他计算系统。
现在参考图2,该图为根据本发明一些实施方式的由系统100实现的数据抽样装置200的功能框图。数据抽样装置200可包括数据库服务器201和处理服务器202。数据库服务器201可进一步包括数据源203和样本数据库服务器204。所述处理服务器可进一步包括预处理模块205,样本容量生成模块206,分层抽样模块207,序贯建模器208,样本键生成模块209,样本生成模块210以及样本详情模块211。数据抽样装置200可包括可向用户213提供抽样后总体数据集的网页服务器212。本领域技术人员可理解的是,所有上述模块205~211可含于处理服务器202中,并既可表现为单个模块,也可表现为多个不同模块的组合。此外,本领域技术人员可理解的是,模块205~211中的每一个可部分或全部处于一个装置或彼此通信的多个装置中。
数据库服务器201可包括数据源203,该数据源可包括就地部署的数据存储装置、基于云的存储设施、分布式文件系统、文本文件等。数据源203可用于以结构化的格式(即具有多行多列的表格形式)向预处理模块205馈入总体数据集,以启动样本数据集生成过程。可以理解的是,用户213还可根据与预处理模块205连接的总体数据集生成样本数据集。需要注意的是,总体数据集可具有上至不完整值下至不连贯数据值的不规则性。总体数据集还可包括多列具有不同类型的数据值,用于生成样本数据集。然而,总体数据集可包括用于对总体数据集进行分层抽样的至少一个类别型列。
预处理模块205可用于从数据源203接收总体数据集。根据该总体数据集,预处理模块205可通过对随机存取存储器(RAM)内的总体数据集进行处理而识别出多个参数。所述多个参数可包括:
a.数值型数据列:预处理模块205可利用Pandas数据帧的“to_numeric()”实用程序,从总体数据集中识别出可包括整数和分数(即浮点数)中的至少一者的列。Pandas数据帧是一种纵横轴(行和列)已标注的二维表格数据结构,该结构大小可变,而且可能为异构结构。数据帧为一种二维数据结构,即以行列表格形式排列数据的结构。预处理模块205可预先生成数值型数据列的列表。
b.数值类型的类别型数据列:预处理模块205可通过确定相对于总体容量的不同数值数的方式从总体数据集中识别出本质上可以为类别性质的数值型数据列。需要注意的是,当列内的不同数值数小于总体容量的20%时,预处理模块205可识别出数值类型的类别型数据列。
c.字符串类型的类别型数据列:预处理模块205可通过求得所述多个类别型数据列的数目与所述多个数值类型的类别型数据列的数目的差而从总体数据集中识别出多个字符串类型的类别型数据列。
d.预测变量:预处理模块205可根据所述多个数值型数据列的列表,识别出一组预测变量。在一种实施方式中,预测变量为在回归分析中用于预测另一变量(即待预测变量)的变量。预处理模块205可利用Python统计软件包中的linregress()实用程序生成范围为-1至+1的R平方值。以下,将结合图6,对此进行进一步详细描述。需要注意的是,R平方值可表示所述多个数值型数据列的列表中的给定列内一个变量的变化当中其余变量的作用比例。当所述给定列的R平方值大于0.5时,预处理模块205可将该给定列添加至所述一组预测变量内。
e.待预测变量:预处理模块205可从一个变量对其余变量具有作用的所述多个数值型数据列的列表中识别出一组待预测变量。如上所述,待预测变量为可在回归分析中,根据一个或多个预测变量预测出的变量。
此外,预处理模块205还可根据数据域以及此类数据域的不同值,识别出列的不同类别。所述数据域可包括数值或字符串,此类数据域的不同值可包括类别型或连续型数据域。因此,预处理模块205可有助于对作为本抽样方法基础的总体数据集内的不同类型的列进行自动分类。此外,在本抽样方法中,预处理模块205还可忽略其他处理任务,这些任务可包括:
a.对可实施分层抽样对象的所述多个类别型数据列进行过滤:预处理模块205可使用所述多个数值型数据列的列表和所述多个类别型数据列的的列表。在通过sklearnPython库的分层打乱划分技术生成样本数据集时,在一对数量为n的类别型变量中生成所述多个数值型数据列和多个类别型数据列。当所述类别数超出以0.05的误差裕量算得的样本容量的一半时,则可以以数量为n-1的类别型变量生成所述多个数值型数据列和多个类别型数据列,直至满足所述条件为止。所述5%误差裕量下的样本容量可从样本容量生成模块206中获得。如此,可识别出一系列所述类别型变量,而且这些变量的组合可用于确切按照所述类别的比例划分总体数据集的其余列。
b.对所述多个数值型数据列以及所述一组预测变量和一组待预测变量的组合列表进行过滤:在总体数据集中,由于与所述多个数值型数据列中的其余列高度相关的多个数值型数据列具有完全相同的特性,因此预处理模块205可去除此类高度相关的数值型数据列。所述多个数值型数据列的相关性可根据相关系数识别,所述相关系数可由从头开始编写的用于生成成对相关列的单因素卡方(one_way_chi_square)实用程序确定。需要注意的是,当所述相关系数大于0.8时,可将所述一对多个数值型数据列识别为高度相关数据列。
c.总体容量:预处理模块205可根据总体数据集的行数计算总体容量。总体容量可进一步用于确定样本容量。
分层抽样模块207可用于从预处理模块205接收所述多个参数。根据所述多个参数,分层抽样模块207可将总体数据集划分成X区段和Y区段。Y区段可包括从预处理模块205接收的可供以分层抽样方法将总体数据集打乱划分的所述多个类别型数据列。此外,为了确保在执行抽样的同时将所有缺失值考虑在内,分层抽样模块207可以以默认编码值自动填充缺失列单元格。需要注意的是,对于数值类别的缺失列单元格,分层抽样模块207可利用Python语言中可用的sklearn模块的fit_transform()实用程序,以所述默认编码值自动填充该缺失列单元格。另外,对于字符串类别的缺失列单元格,分层抽样模块207可利用Python语言的isna()实用程序,以所述默认编码值替代该缺失列单元格。一般情况下,Python语言的isna()实用程序可用于检测空的单元格值,并随后以所述默认编码值填充空的单元格值。
X区段可包括可根据Y区段中的列抽样的多个数值型数据列。当总体数据集不存在所述多个数值型数据列时,为了实现分层抽样,可由程序代码创建虚拟列。需要注意的是,所述虚拟列的行数可等于总体数据集的行数,而且可填充虚拟值(如123456789)。然而,当总体数据集中存在所述多个数值型数据列时,可以无需创建虚拟列。
此外,分层抽样模块207可用于从样本容量生成模块206接收一组参数,以生成一组分层样本。所述一组参数可包括总体容量(可由预处理模块205计算)、误差裕量以及置信度。需要注意的是,在默认情况下,可将所述误差裕量的值设为0.05,并将所述置信度的值设为0.99。此外,在生成所述一组分层样本时,可使用具有一定划分数和检验容量的sklearn.model_selection的Stratified Shuffle Split()实用程序。
所述划分数可以为能够根据X样本和Y样本生成所述一组分层样本的次数。需要注意的是,所述一组分层样本可以为样本数据集的行索引号的列表。当预处理模块205无法识别所述一组预测变量和一组待预测变量时,所述划分数可以为1。当所述一组预测变量和一组待预测变量中的部分可由预处理模块205识别时,所述划分数可以为50。所述检验容量可以为样本容量与总体容量的比率。所述样本容量生成模块可确定针对0.05这一误差裕量初始值和0.99这一置信度初始值的样本容量。
当样本容量小于所述一组分层样本的样本数时,分层抽样模块207可生成误差值,该误差值可通过以下至少一种方式处理:以固定数值(如100个取样单元)为步长,逐步增大样本容量,直至成功解决所述异常;降低所述置信度,直至成功解决所述异常;以及增大所述误差裕量,直至成功解决所述异常。当可以成功生成所述一组分层样本时,分层抽样模块207可将样本容量以及样本行索引号列表(当所述划分数为1时)或由n个列表组成的字典(当所述划分数大于1时)发送给序贯建模器208和样本生成模块210。
分层抽样模块207可利用样本容量生成模块210,通过sklearn.model_selection的Stratified Shuffle Split()实用程序生成所述一组分层样本。样本容量生成模块210可根据总体容量、误差裕量、置信度以及σ值确定样本容量。需要注意的是,总体容量可由预处理模块205生成,误差裕量和置信度可由分层抽样模块207提供,所述σ值可以为常数(例如,在一些实施方式中,可采用0.5这一默认值)。如此,样本容量生成模块210可根据下式确定样本容量:
其中,z可根据映射自以置信度为键的所述字典的α值计算;σ可以为Σ值;N可以为总体容量;M可以为误差裕量。
序贯建模器208可用于生成序贯预测模型,以根据所述一组预测列值确定所述一组待预测列值。序贯建模器208可以为四层密集神经网络,该网络可包括输入层,第一隐藏层,第二隐藏层以及输出层。所述输入层可接收所述一组预测变量,以作为对所述神经网络进行训练的输入。所述第一隐藏层可与所述输入层相连,而所述第二隐藏层可与所述输出层相连。所述输出层可生成所述一组待预测变量。需要注意的是,所述序贯预测模型可通过Python的Keras库创建。
样本键生成模块209可用于从分层抽样模块207接收数量为n的一组样本。该数量为n的一组样本的形式可以为包括样本行索引号列表的字典。样本键生成模块209还可接收序贯建模器208所生成的序贯预测模型,以生成样本键。此外,样本键生成模块209可通过若干步骤从所述数量为n的一组样本中识别出合适的样本键。所述步骤为:
a.样本迭代:样本键生成模块209可在所述字典中进行迭代,以对所述数量为n的一组样本中的每一个样本进行评价。样本键生成模块209还可将每一样本的键存入临时变量,以使得该临时变量可作为样本键。所述字典中的键值可以为所述索引号列表。此外,可根据所述索引号列表和总体数据集,生成样本数据帧。
b.模型评价:通过由预处理模块205以从所述样本索引号字典获得的索引号列表进行估算,可将样本划分为预测列和待预测列这两个子集。序贯建模器208可从所述一组分层样本中接收作为输入的待预测列值,并对所述序贯预测模型进行训练,以预测所述待预测列值。此外,还可将待预测列的预测值与来自所述一组分层样本的待预测列的实际值相比较,以获得平均绝对误差参数。如此,可实现对平均绝对误差最小的合适样本的选择。
c.样本键生成:平均绝对误差最小的所述合适样本的键可存入所述临时变量,以使得该临时变量可作为所述合适样本的键。
样本生成模块210可生成由样本键生成模块209根据样本键选择的样本。此外,通过将所述索引号列表映射至总体数据集的每一列,使得即使在存在若干种类型的不规则性时仍能生成样本。样本生成模块210可将样本存储于数据帧中,并传递给样本详情模块211以用来提取关于样本的更多信息。
样本详情模块211可用于从样本生成模块210接收样本数据。根据所接收的样本数据,样本详情模块211可提取与样本数据相关的多项信息。所述多项信息可包括但不限于:样本数据(从所述样本生成模块接收);平均绝对误差(当存在预测列和待预测列时);平均绝对误差图(以样本键为X轴且以平均绝对误差为Y轴的图);总体记录数(由Python语言的len()实用程序计算的总体数据记录数);样本记录数(由Python语言的len()实用程序计算的样本数据集记录数);样本数据集记录百分比(按照(样本记录数/总体记录数)×100这一算式计算);总体容量字节数(利用Python语言OS软件包的getsize()实用程序计算);样本容量字节数(通过将总体容量字节数与样本数据集记录百分比相乘的方式计算);类别型列数和数值型列数(均由预处理模块205获得);平均记录大小(根据以字节为单位的总体数据集大小与总体数据集行数之比计算);以及相关性图(通过Python语言的corr()实用程序的Pearson相关性方法及Matplotlib软件包获得,其中,该相关性图的生成中通常考虑数值型列)。
样本生成模块210生成的样本以及样本详情模块211生成的相关的样本详情可存储于样本数据库服务器204中。此外,所述样本和样本详情可以以包括.csv、.json、.pdf等在内的不同格式导出至用户213。所述样本和样本详情还可存储于服务器中,并可由网页服务器获取,以便按照需要进行快速访问和修改。
此外,所述样本和相关的样本详情可就地托管或在云服务器上托管,以供用户访问。该数据呈现于由Python的Flask功能支持的前端或网页上,所述功能有助于将后台的Python脚本连接至前端的html页面。其中,由交互式仪表板显示与生成的样本相关的所有信息以及对相关性结果或回归分析结果等数据元素的见解,以呈现数据集的不同类型的列之间的不同类型的关系。
现在参考图3,该图所示为根据本发明一些实施方式的序贯预测模型300的结构。序贯预测模型300可以为四层密集神经网络模型。其中的四层可包括输入层301,隐藏层302,隐藏层303以及输出层304。所述输入层可接收作为用于训练所述神经网络模型的输入的一组预测变量,所述输出层可生成一组待预测变量。
现在参考图4,该图以流程图的形式示出了根据本发明一些实施方式的由系统100等系统利用人工神经网络(ANN)模型对总体数据集进行抽样的例示控制逻辑400。如图所示,控制逻辑400可包括如下步骤:在步骤401中,识别出总体数据集中的多个数值型数据列和多个类别型数据列;在步骤402中,通过对所述多个数值型数据列实施线性回归来确定一组预测变量和一组待预测变量;在步骤403中,根据所述一组预测变量和所述一组待预测变量,生成序贯预测模型;在步骤404中,通过对所述多个类别型数据列实施分层抽样来生成一组分层样本;在步骤405中,根据所述一组分层样本和所述序贯预测模型,生成样本键;以及在步骤406中,根据所述样本键,生成代表总体数据集的样本数据集。
在一些实施方式中,在步骤402中,确定所述一组预测变量可包括如下步骤:在至少两个预测列当中的每一个预测列之间进行关联;以及当所述关联的相关性高于预设阈值时,从所述至少两个预测列当中的各个预测列中移除至少一个预测列。此外,在一些实施方式中,在步骤404中,实施分层抽样可包括如下步骤:生成总体数据集的样本容量;以及根据所述样本容量,对所述多个类别型数据列进行过滤。此外,生成总体数据集的样本容量可包括如下步骤:在预设误差裕量或预设置信度下,根据总体容量生成样本容量。
此外,在一些实施方式中,在步骤405中,生成样本键的步骤可进一步包括如下步骤:通过对所述一组分层样本中的每一个样本进行迭代式评价而选择一组样本索引号。此外,对每一个样本进行评价可包括如下步骤:通过将实际待预测变量与由所述序贯预测模型生成的预测待预测变量相比较而确定平均绝对误差;以及选择平均绝对误差最小的样本。
现在参考图5A和图5B,该图以流程图的形式示出了根据本发明的一些实施方式利用人工神经网络(ANN)模型对总体数据集进行抽样的例示控制逻辑500。在步骤501中,控制逻辑500可从源数据库接收总体数据集。控制逻辑500还可存储所述总体数据集,以生成样本数据集。其中,抽样过程的启动可能需要用户干预。此外,用户可上传所述总体数据集,该总体数据集可作为针对处理目的的Pandas数据帧存于主存储器中。需要注意的是,所述总体数据集可存于就地部署的数据存储装置、基于云的存储设施、分布式文件系统中,但该总体数据集最简单的上传方式为以文本文件格式上传。
在步骤502中,控制逻辑500可从总体数据集中识别出多个数值型数据列和多个类别型数据列。控制逻辑500可根据数据域和总体数据集的特异性区分所述多个数值型数据列和多个类别型数据列。控制逻辑500可利用Pandas数据帧的to_numeric()实用程序识别所述多个数值型数据列。此外,所述多个类别型数据列可通过以Pandas数据帧的nunique()实用程序与总体容量的20%进行比较的方式识别。在比较时,当不同数小于总体容量的20%时,则可将相应列视为所述多个类别型数据列中的列,否则视为连续性列。
在步骤503中,控制逻辑500可移除所述多个数值型数据列中大部分数据值缺失的数据列。当所述多个数值型数据列中的给定列的数值缺失百分比大于80%时,该列将无法作为用于训练序贯预测模型的一组预测变量或一组待预测变量,因此可在后续处理中将其忽略。需要注意的是,给定列的数值缺失百分比可通过Pandas数据帧的isna()实用程序获得,而且给定列的移除可通过Pandas数据帧的drop()实用程序实现。
在步骤504中,控制逻辑500可通过对所述多个数值型数据列实施线性回归来识别对应于最大变化比例的多个数值型数据列。在一种实施方式中,如果总体数据集因所述多个数值型数据列的移除而无多个数值型数据列,在实施分层抽样时,可通过程序代码创建虚拟列。需要注意的是,所述虚拟列的行数可恰好等于总体数据集的行数,而且可填充虚拟值(如123456789)。
然而,当总体数据集存在所述多个数值型数据列时,可无需创建虚拟列。控制逻辑500可利用所述多个数值型数据列识别出一组预测变量和一组待预测变量。控制逻辑500还可针对一对所述多个数值型数据列的每一个可能组合,以统计软件包的stats.linregress()实用程序,一次确定一个R平方值。需要注意的是,R平方值为一种统计学上的度量值,也称确定系数。R平方值可表示所述一组待预测变量的变化中所述一组预测变量的作用百分比。所述控制逻辑可按照下式确定R平方值:
R平方值=所表示的变化/总变化
R平方值的范围可以为0%~100%。当控制逻辑500所确定的R平方值接近100%时,则说明所述一组预测变量对所述一组待预测变量的变化起主要作用。因此,R平方值越大,总体数据集的抽样结果越好。
现在参考图6,该图所示为根据本发明一些实施方式的用于生成一组预测变量和一组待预测变量的样本矩阵600。控制逻辑500可通过以一组预测变量和一组待预测变量创建所述样本矩阵从而根据R平方值确定所述一组预测变量的列表和所述一组待预测变量的列表。控制逻辑500还可保存所述一组预测变量的列表和所述一组待预测变量的列表,以供进一步处理。
再次参考图5,在步骤505中,控制逻辑500可根据总体容量,确定5%误差裕量下的样本容量,以生成一组分层样本。在确定样本容量时,控制逻辑500可使用5%误差裕量下的总体容量。当无多个数值型数据列可供操作时,控制逻辑500可生成所述多个类别型数据列的一对每一种可能组合。
在步骤506中,控制逻辑500可识别出所述多个类别型数据列中所述一组分层样本的类别数目小于样本容量值的一半的至少一对数据列。控制逻辑500可对所述多个类别型数据列的每对数据列进行检验,以获得所述一组分层样本小于5%误差裕量下的样本容量一半的多个类别型数据列的列表。在所述控制逻辑生成5%误差裕量下的一组分层样本后,可以确保能够以所述多个类别型数据列的一组分层样本分布于整个总体数据集的确切比例来选择数据行。
在步骤507中,控制逻辑500可存储供生成所述一组分层样本的所述多个类别型数据列的列表。所述多个类别型数据列的列表可进一步用于生成样本行索引号列表。
在步骤508中,控制逻辑500可将总体数据集的多个数值型数据列中与其余数据列高度相关的多个数值型数据列移除。控制逻辑500可通过相关性检验识别出所述多个数值型数据列中的相关数值型列。控制逻辑500还可检验所述多个数值型数据列是否仍在,或者仅剩用于生成所述一组分层样本的多个类别型数据列。这一点可通过Python的len()实用程序实现。需要注意的是,可通过对所述一组预测变量实施Pearson相关性检验以识别出总体数据集中的相关性。当(所述多个数值型数据列中的)任何两个预测列存在高度相关性时,此两高度相关列在对用于预测待预测变量的神经网络模型进行训练时将表现得完全一致,因此可将其中的一个预测列舍弃。
在步骤509中,控制逻辑500可对所述神经网络模型进行训练,以通过对所述多个数值型数据列实施线性回归来识别出所述一组待预测变量。在移除所述高度相关列后,控制逻辑500可对将总体数据用作训练数据的神经网络进行训练。此外,在训练所述神经网络时,由于控制逻辑500可不要求用户提供用于生成所述一组分层样本的已标注净化训练集(labeled cleansed training set),因此控制逻辑500可移除总体数据中含缺失值的行。
此外,供所述神经网络模型训练的行可不与供该神经网络模型检验的所述一组分层样本的行相同。这是因为,在所述神经网络模型的训练过程中,即使所述一组预测变量中无缺失值,所述一组待预测变量中某些含缺失值的行也会被舍弃。当可通过生成所述一组分层样本而以训练后的所述神经网络预测所述一组待预测变量中的缺失值时,则控制逻辑500可通过计算所述一组分层样本中的每一个的平均绝对误差的方式进行性能评估。
控制逻辑500可通过Keras的Sequential()实用程序构建所述神经网络模型,该神经网络模型具有两个隐藏层,每一隐藏层有200个节点,并以“elu”作为其激活函数。此外,该神经网络模型可包括输入层和输出层,此两层均具有100个节点。该神经网络模型(可以为序贯预测模型)还可以包括优化器(“rmsprop”)、损失(“mse”)及度量(“mae”)在内的多个参数编译。需要注意的是,该神经网络模型可仅创建一次,然后将其用于对所述一组分层样本中的每一样本进行评价,以选择最优的一个。
在步骤510中,在存在预测变量的情形中,控制逻辑500可通过进行分层打乱划分而生成一个或多个预设划分数。其中,控制逻辑500可利用Python sklearn软件包的Stratified Shuffle Split()实用程序,通过已过滤的所述多个类别型数据列的列表及总体数据集,创建所述一组分层样本。创建所述一组分层样本时可使用多个参数(可包括划分数和检验容量)。当无法识别所述一组预测变量和一组待预测变量时,所述划分数可以为1。当所述一组预测变量和一组待预测变量可识别时,所述划分数可以为50。检验容量可以为5%误差裕量下,样本容量与总体容量的比例。
误差裕量和置信度根据所述一组分层样本的数量小于样本容量值的一半这一条件进行调节,直至生成所述一组分层样本。此外,为了确保Stratified Shuffle Split()法创建的所述一组分层样本可实际代表总体数据集,可以对总体数据集进行单因素卡方检验。
在步骤511中,控制逻辑500可为总体数据集编索引,以从总体记录中获得样本数据集。控制逻辑500可利用行索引号列表,从总体数据集中提取样本数据集。控制逻辑500可利用Python的Pandas数据帧的iloc()实用程序为总体数据集编索引。控制逻辑500还可存储样本数据集中在统计学意义上具有相关性的样本,以供进一步处理。
在步骤512中,控制逻辑500可根据平均绝对误差选择至少一个样本数据集,或者当不存在所述一组预测变量时,从所述一组分层样本中选择至少一个或多个预设样本数据集。控制逻辑500可利用所述序贯预测模型的model.evaluate()实用程序,以所述样本数据集作为检验数据集,预测所述一组待预测变量。在以所述序贯预测模型对所述50个样本进行评价后,可以将样本键(可以为样本数)及其值(可以为平均绝对误差)存入字典。
此外,可以利用Python语言的比较算子对所述字典进行迭代处理,以生成键值最小的样本键。其中,可以选择具有最小平均绝对误差的样本数据集,并可通过样本数据集的样本键从所述50个样本索引号中获得所述样本的索引号列表。
在步骤513中,控制逻辑500可通过根据所述一组预测变量和一组待预测变量训练的序贯预测模型,根据Pearson相关性或预测图生成相关性图。控制逻辑500可计算所述样本数据集的多个细节。所述多个细节可包括但不限于:平均绝对误差(当总体数据集中存在所述多个数值型数据列和多个类别型数据列时);平均绝对误差图(以平均绝对误差为Y轴且以样本键为X轴的图);总体记录数(由Python语言的len()实用程序计算的总体数据集记录数);样本记录数(由Python语言的len()实用程序计算的样本数据集记录数);样本数据集记录百分比(按照(样本记录数/总体记录数)×100这一算式计算);总体容量字节数(利用Python语言OS软件包的getsize()实用程序计算);样本容量字节数(通过将总体容量字节数与样本数据集记录百分比相乘的方式计算);类别型列数和数值型列数;平均记录大小(根据以字节为单位的总体数据集大小与总体数据集行数之比计算);以及相关性图(通过Python语言的corr()实用程序的Pearson相关性方法及Matplotlib软件包获得)。
在步骤514中,控制逻辑500可将结果显示于网页服务器上,以实现报告目的。所述网页服务器可通过向样本数据库服务器发送获取请求以获得样本数据集,并将样本的相应的.json格式结果呈现于html页面上,以供查看者访问。当用户出于报告目的而需要下载样本数据集时,用户可向样本数据库服务器回发请求而实现所述目的或生成新样本。
还应理解的是,上述技术可采用如下形式:计算机或控制器实现的过程;以及用于实施这些过程的装置。本发明还可以以含有指令的计算机程序代码的形式实施,所述指令包含于软盘、固态驱动器、CD-ROM、硬盘驱动器或其他任何计算机可读存储介质等有形介质中,其中,当所述计算机程序代码载入计算机或控制器内并由该计算机或控制器执行时,该计算机即成为一种用于实施本发明的装置。本发明还可以以计算机程序代码或信号的形式实施,所述计算机程序代码或信号例如存储于存储介质中,或者载入计算机或控制器内并/或由该计算机或控制器执行,或者经电线或电缆、光纤或电磁辐射等传输介质传输,其中,当所述计算机程序代码载入计算机内并由该计算机执行时,该计算机即成为一种用于实施本发明的装置。当在通用微处理器中实施时,所述计算机程序代码的代码段对所述微处理器进行配置,以创建出特定的逻辑电路。
现在参考图7,该图为用于实施各种实施方式的例示计算机系统702的框图。计算机系统702可包括中央处理单元(“CPU”或“处理器”)704。处理器704可包括至少一个用于执行程序组件的数据处理器,所述程序组件用于执行用户或系统生成的请求。用户可包括个人,使用设备(如本发明范围内的设备)的个人,或此类设备本身。处理器704可包括集成系统(总线)控制器、内存管理控制单元、浮点单元、图形处理单元、数字信号处理单元等专用处理单元。处理器704可包括微处理器,例如速龙微处理器、毒龙微处理器或皓龙微处理器,ARM应用处理器,嵌入式或安全处理器,Intel处理器、安腾处理器、至强处理器、赛扬处理器或其他系列处理器等。处理器704可通过主机、分布式处理器、多核、并行、网格或其他架构实现。一些实施方式可使用专用集成电路(ASIC)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)等嵌入式技术。
处理器704可设置为通过输入/输出(I/O)接口706与一个或多个I/O设备通信。I/O接口706可采用通信协议/方法,例如但不限于,音频、模拟、数字、单声道、RCA、立体声、IEEE-1394、串行总线、通用串行总线(USB)、红外、PS/2、BNC、同轴、分量、复合、数字视觉接口(DVI)、高清多媒体接口(HDMI)、射频天线、S-Video、VGA、IEEE802.n/b/g/n/x、蓝牙、蜂窝(如码分多址(CDMA)、高速分组接入(HSPA+)、移动通信全球系统(GSM)、长期演进(LTE)、WiMax等)等。
通过使用I/O接口706,计算机系统702可与一个或多个I/O设备通信。举例而言,输入设备708可以为天线、键盘、鼠标、操纵杆、(红外)遥控、摄像头、读卡器、传真机、加密狗、生物计量阅读器、麦克风、触摸屏、触摸板、轨迹球、传感器(如加速度计、光传感器、GPS、陀螺仪、接近传感器等)、触控笔、扫描仪、存储设备、收发器、视频设备/视频源、头戴式显示器等。输出设备710可以为打印机、传真机、视频显示器(如阴极射线管(CRT)显示器、液晶显示器(LCD)、发光二极管(LED)显示器、等离子显示器等)、音频扬声器等。在一些实施方式中,收发器712可与处理器704连接。收发器712可促进各类无线传输或接收。例如,收发器712可包括以可操作方式连接至收发器芯片(如德州仪器(Instruments)收发器、博通收发器、英飞凌科技(Infineon)X-Gold 618-收发器等)的天线,以实现IEEE802.6a/b/g/n通信、蓝牙通信、FM通信、全球定位系统(GPS)通信、2G/3GHSDPA/HSUPA通信等。
在一些实施方式中,处理器704可设置为通过网络接口716与通信网络714通信。网络接口716可与通信网络714通信。网络接口716可采用连接协议,该连接协议包括但不限于直接连接、以太网(如双绞线10/100/1000Base T)、传输控制协议/网际协议(TCP/IP)、令牌环、IEEE802.11a/b/g/n/x等。通信网络714可包括,但不限于,直接互连、局域网(LAN)、广域网(WAN)、无线网络(例如,使用无线应用协议)、因特网等。通过网络接口716和通信网络714,计算机系统702可与设备718,720,722通信。这些设备可包括,但不限于,个人计算机,服务器,传真机,打印机,扫描仪以及各种移动设备,这些移动设备例如为蜂窝电话、智能手机(如苹果智能手机、黑莓智能手机、基于安卓的手机等),平板电脑,电子书阅读器(亚马逊电子书阅读器,平板电脑等)、膝上型计算机、笔记本电脑、游戏机(微软游戏机、任天堂游戏机,索尼游戏机等)等。在一些实施方式中,计算机系统702可本身包含一个或多个上述设备。
在一些实施方式中,处理器704可设置为通过存储接口724与一个或多个存储设备(例如RAM 726、ROM 728等)进行通信。存储接口724可采用串行高级技术附接(SATA)、集成驱动电子设备(IDE)、IEEE-1394、通用串行总线(USB)、光纤通道、小型计算机系统接口(SCSI)等连接协议连接至包括存储驱动器、可移除磁盘驱动器等在内的存储器730。所述存储驱动器还可包括磁鼓、磁盘驱动器、磁光驱动器、光盘驱动器、独立磁盘冗余阵列(RAID)、固态存储设备、固态驱动器等。
存储器730可存储一系列程序或数据库组件,包括但不限于,操作系统732、用户界面734、网页浏览器736、邮件服务器738、邮件客户端740、用户/应用程序数据742(如本发明中所述的任何数据变量或数据记录)等。操作系统732可促进计算机系统702的资源管理和运行。操作系统732例如包括,但不限于,苹果OS X平台、Unix平台、Unix类系统套件(如伯克利软件套件(BSD)、FreeBSD、NetBSD、OpenBSD等)、Linux套件(如Red 等)、OS/2平台、微软(XP,Vista/7/8等)平台、苹果平台、谷歌安卓平台、黑莓操作系统等。用户界面734可利用文本或图形工具促进程序组件的显示、执行、互动、操控或操作。例如,用户界面734可在以可操作方式连接至计算机系统702的显示系统上提供光标、图标、复选框、菜单、滚动条、窗口、窗口部件等计算机交互界面元件。此外,还可采用图形用户界面(GUI),包括但不限于,苹果操作系统的平台、平台、微软平台(例如平台、平台等)、Unix X-Windows、网页界面库(如平台、编程语言、编程语言、编程语言、HTML、平台等)等。
在一些实施方式中,计算机系统702可执行网页浏览器736存储的程序组件。网页浏览器736可以为微软Internet网页浏览器、谷歌网页浏览器、谋智火狐网页浏览器、苹果网页浏览器等超文本浏览应用程序。其中,可通过HTTPS(安全超文本传输协议)、安全套接字层(SSL)、安全传输层(TLS)等实现安全网页浏览。网页浏览器736可使用AJAX、DHTML、平台、编程语言、编程语言、应用程序编程接口(APi)等工具。在一些实施方式中,计算机系统702可执行邮件服务器738存储的程序组件。邮件服务器738可以为微软邮件服务器等因特网邮件服务器。邮件服务器738可使用ASP、ActiveX、ANSI C++/C#、微软编程语言、CGI脚本、编程语言、编程语言、编程语言、编程语言、编程语言、WebObjects等工具。邮件服务器738还可使用因特网信息访问协议(IMAP),邮件应用程序编程接口(MAPI),微软Exchange,邮局协议(POP),简单邮件传输协议(SMTP)等通信协议。在一些实施方式中,计算机系统702可执行邮件客户端740存储的程序组件。邮件客户端740可为苹果邮件客户端、微软邮件客户端、微软邮件客户端、谋智邮件客户端等邮件查看程序。
在一些实施方式中,计算机系统702可存储用户/应用程序数据742,如本发明中所述数据、变量、记录等。此类数据库可实施为甲骨文数据库或赛贝斯数据库等容错、关系、可扩展、安全数据库。或者,上述数据库可通过数组、散列、链表、结构、结构化文本文件(例如XML)、表格等标准化数据结构实现,或者实施为面向对象的数据库(例如通过对象数据库、Poet对象数据库、Zope对象数据库等)。此类数据库可以为合并或分布数据库,有时分布于本发明所讨论的上述各种计算机系统之间。可以理解的是,上述任何计算机或数据库组件的结构及操作可以以任何可行的组合形式进行组合、合并或分布。
本领域技术人员可理解的是,为了清楚起见,上文参考不同功能单元和处理器,对本发明的实施方式进行了描述。然而,将容易理解的是,在不背离本发明的前提下,可使用不同功能单元、处理器或区域之间的任何功能分布方式。例如,图示或描述为由分离的处理器或控制器执行的功能也可由同一处理器或控制器执行。因此,提及特定功能单元之处应仅视为指用于提供所描述功能的合适手段,而非严格的逻辑或物理结构或组织。
本发明各种实施方式提供一种利用人工神经网络(ANN)模型对总体数据集进行抽样的方法和系统。该方法可对同一预测算法使用若干检验集,从而无需减少输入变量。该方法还可提供包括分层抽样处理的改进预测数据抽样模型,在所述分层抽样处理的预处理阶段中,在单因素卡方检验、相关性检验及回归分析等若干统计学检验方法的帮助下,预先识别不同类型的变量及其在样本生成中的贡献度,从而免于在预测阶段中排除任何输入变量。
此外,在上述方法提供的预测抽样模型中,即使在多个数据样本在标注方式下不可用时,也可进行分层抽样。所述改进预测数据抽样模型的优点在于,在随机抽样中,通过选择起始元素后的每第n个元素的方式生成样本时,可以完全避免抽样偏倚。
鉴于所公开方法和系统的上述优点和技术进步,上述申请保护的步骤能够为现有技术中存在的技术问题提供以下解决方案,因此并非本领域中的惯常、普通或已知技术方面。此外,由于上述申请保护的步骤为技术问题提供了技术解决方案,因此显然能够为装置本身的功能带来进步。
例如,现有抽样技术在样本生成过程中识别和选择高度相关属性时,并未将作为总体的一部分的非相关属性纳入考虑。另外,现有技术缺乏任何将相关性施加至对象的所有形式属性值上的机制,因而无法在样本生成过程中纳入多种类别的属性。此外,现有抽样技术无法实现通过选择起始元素后的每第n个元素使得以无抽样偏倚的方式生成样本的系统性随机抽样。另外,现有抽样技术在从总体中生成样本时,缺乏任何将所有类型取样单元的分布考虑在内的公正机制,因此当总体分布中具有某一特征的取样单元的比例高于其他取样单元的比例时,将产生抽样偏倚问题。此外,现有抽样技术无法提供将总体中的所有类型输入变量作为训练和检验处理的一环的抽样模型。另外,现有抽样技术缺乏任何即使在多个数据样本在标注方式下不可用时也可进行分层抽样的机制。此外,包括随机抽样技术在内的现有抽样技术缺乏任何解决给定总体中的抽样偏倚问题的机制。
与此相对,上述各种实施方式中描述的改进抽样技术能够应用于总体数据集的多种类别。具体而言,上述改进抽样技术能够实现以基于神经网络概念的回归模型从总体中选择合适数值型取样单元的改进分层抽样处理,从而确保能够从总体中选出代表性的样本。此外,该改进预测数据抽样模型能够解决给定总体中的抽样偏倚问题,并能够针对从总体数据集的多种类别中随机选出的一个或多个取样单元,提供具有完全代表性的样本。该改进预测抽样模型可实现对总体中所有取样单元类型的比例加以考虑的打乱分层抽样。具体而言,该打乱分层抽样通过分别确定类别型列和数值型列来将总体中的不同类型取样单元考虑在内。
在上述改进抽样技术中,首先在预处理阶段中识别不同类别的属性,从而能够在从总体数据集中生成样本时,将类别型和数值型属性有效地考虑在内。需要注意的是,从总体中生成样本时,无需使用标注集。也就是说,上述技术的目的在于提供含分层抽样处理的改进预测抽样模型。所述分层抽样处理用于在同一预测算法上使用多种检验集,从而避免减少输入变量。此外,在实施抽样时,对待类别型变量的方式也有所不同。此类类别型变量并不用作预测算法的输入变量,而是用于分层抽样。此外,在预处理阶段,预处理模块在包括但不限于单因素卡方检验、相关性检验及回归分析在内的多种统计学检验方法的帮助下,预先识别不同类型的变量及其对样本生成的贡献。
本说明书描述了利用ANN模型进行数据抽样的方法和系统。所述步骤用于说明所示例示实施方式,并且应当预想到的是,随着技术的不断发展,特定功能的执行方式也将发生改变。本文所呈现的上述实施例用于说明而非限制目的。此外,为了描述的方便性,本文各组成功能段落的划界较为随意,只要能够恰当地实现上述各功能及其关系,所述各功能段落可以其他方式划界。根据本申请内容,对于相关领域技术人员而言,替代方案(包括本申请所述方案的等同方案、扩展方案、变形方案、偏差方案等)是容易理解的。这些替代方案均属于所公开实施方式的范围和精神内。
此外,一种或多种计算机可读存储介质可用于实施本发明的实施方式。计算机可读存储介质是指可对处理器可读取的信息或数据进行存储的任何类型的物理存储器。因此,计算机可读存储介质可对由一个或多个处理器执行的指令进行存储,包括用于使处理器执行根据本申请实施方式的步骤或阶段的指令。“计算机可读介质”一词应理解为包括有形物件且不包括载波及瞬态信号,即为非暂时性介质,例如包括随机存取存储器(RAM)、只读存储器(ROM)、易失性存储器、非易失性存储器、硬盘驱动器、CD-ROM、DVD、闪存驱动器、磁盘以及其他任何已知物理存储介质。
以上公开内容及实施例旨在仅视为例示内容和例示实施例,所公开实施方式的真正范围和精神如权利要求所示。
Claims (20)
1.一种利用人工神经网络模型对总体数据集进行抽样的方法,其特征在于,所述方法包括:
由数据抽样装置识别所述总体数据集中的多个数值型数据列和多个类别型数据列;
由所述数据抽样装置通过对所述多个数值型数据列实施线性回归来确定一组预测变量和一组待预测变量;
由所述数据抽样装置根据所述一组预测变量和所述一组待预测变量生成序贯预测模型;
由所述数据抽样装置通过对所述多个类别型数据列实施分层抽样来生成一组分层样本;
由所述数据抽样装置根据所述一组分层样本和所述序贯预测模型生成样本键;以及
由所述数据抽样装置根据所述样本键生成代表所述总体数据集的样本数据集。
2.如权利要求1所述的方法,其特征在于,确定所述一组预测变量包括:
在至少两个预测列中的各个预测列之间实施关联;
当所述关联的相关性高于预设阈值时,从所述至少两个预测列中的各个预测列中移除至少一个预测列。
3.如权利要求1所述的方法,其特征在于,实施所述分层抽样还包括生成所述总体数据集的样本容量。
4.如权利要求3所述的方法,其特征在于,生成所述样本容量包括:根据预设误差裕量或预设置信度下的总体容量,生成所述样本容量。
5.如权利要求3所述的方法,其特征在于,实施所述分层抽样还包括:根据所述样本容量,对所述多个类别型数据列进行过滤。
6.如权利要求1所述的方法,其特征在于,生成所述样本键还包括通过迭代式评价所述一组分层样本中的每一个样本来选择一组样本索引号。
7.如权利要求6所述的方法,其特征在于,评价所述一组分层样本中的每一个样本包括:
通过将实际的待预测变量与由所述序贯预测模型生成的所预测的待预测变量相比较来确定平均绝对误差;以及
选择所述平均绝对误差最小的样本。
8.一种利用人工神经网络模型对总体数据集进行抽样的系统,其特征在于,所述系统包括:
数据抽样装置,包括至少一个处理器和存储有指令的计算机可读介质,所述指令在由所述至少一个处理器执行时使得所述至少一个处理器实施操作,所述操作包括:
识别所述总体数据集中的多个数值型数据列和多个类别型数据列;
通过对所述多个数值型数据列实施线性回归来确定一组预测变量和一组待预测变量;
根据所述一组预测变量和所述一组待预测变量生成序贯预测模型;
通过对所述多个类别型数据列实施分层抽样来生成一组分层样本;
根据所述一组分层样本和所述序贯预测模型生成样本键;以及
根据所述样本键生成代表所述总体数据集的样本数据集。
9.如权利要求8的所述系统,其特征在于,确定所述一组预测变量包括:
在至少两个预测列中的各个预测列之间实施关联;
当所述关联的相关性高于预设阈值时,从所述至少两个预测列当中的各个预测列中移除至少一个预测列。
10.如权利要求8所述的系统,其特征在于,实施所述分层抽样还包括生成所述总体数据集的样本容量。
11.如权利要求10所述的系统,其特征在于,生成所述样本容量包括:根据预设误差裕量或预设置信度下的总体容量,生成所述样本容量。
12.如权利要求10所述的系统,其特征在于,实施所述分层抽样还包括:根据所述样本容量,对所述多个类别型数据列进行过滤。
13.如权利要求8所述的系统,其特征在于,生成所述样本键还包括通过迭代式评价所述一组分层样本中的每一个样本来选择一组样本索引号。
14.如权利要求13所述的系统,其特征在于,评价所述一组分层样本中的每一个样本包括:
通过将实际的待预测变量与由所述序贯预测模型生成的所预测的待预测变量相比较来确定平均绝对误差;以及
选择所述平均绝对误差最小的样本。
15.一种非暂时性计算机可读介质,具有存储于其上的一组计算机可执行指令,所述指令使得包括一个或多个处理器的计算机执行步骤,其特征在于,所述步骤包括:
识别所述总体数据集中的多个数值型数据列和多个类别型数据列;
通过对所述多个数值型数据列实施线性回归来确定一组预测变量和一组待预测变量;
根据所述一组预测变量和所述一组待预测变量生成序贯预测模型;
通过对所述多个类别型数据列实施分层抽样来生成一组分层样本;
根据所述一组分层样本和所述序贯预测模型生成样本键;以及
根据所述样本键生成代表所述总体数据集的样本数据集。
16.如权利要求15所述的非暂时性计算机可读介质,其特征在于,确定所述一组预测变量包括:
在至少两个预测列中的各个预测列之间实施关联;
当所述关联的相关性高于预设阈值时,从所述至少两个预测列当中的各个预测列中移除至少一个预测列。
17.如权利要求15所述的非暂时性计算机可读介质,其特征在于,实施所述分层抽样还包括:根据预设误差裕量或预设置信度下的总体容量,生成所述总体数据集的样本容量。
18.如权利要求17所述的非暂时性计算机可读介质,其特征在于,实施所述分层抽样还包括:根据所述样本容量,对所述多个类别型数据列进行过滤。
19.如权利要求15所述的非暂时性计算机可读介质,其特征在于,生成所述样本键还包括通过迭代式评价所述一组分层样本中的每一个样本来选择一组样本索引号。
20.如权利要求19所述的非暂时性计算机可读介质,其特征在于,评价所述一组分层样本中的每一个样本包括:
通过将实际的待预测变量与由所述序贯预测模型生成的所预测的待预测变量相比较来确定平均绝对误差;以及
选择所述平均绝对误差最小的样本。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN201941026058 | 2019-06-29 | ||
IN201941026058 | 2019-06-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112148766A true CN112148766A (zh) | 2020-12-29 |
Family
ID=73891323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010220298.2A Pending CN112148766A (zh) | 2019-06-29 | 2020-03-25 | 利用人工神经网络模型进行数据抽样的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11468148B2 (zh) |
CN (1) | CN112148766A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113253930A (zh) * | 2021-05-20 | 2021-08-13 | 重庆会凌电子新技术有限公司 | 一种频谱监测装置的存储方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI740529B (zh) * | 2020-06-05 | 2021-09-21 | 財團法人資訊工業策進會 | 分層建模之方法及系統 |
US11983652B2 (en) * | 2021-05-10 | 2024-05-14 | Sap Se | Identification of features for prediction of missing attribute values |
CN113642229A (zh) * | 2021-07-08 | 2021-11-12 | 广西电网有限责任公司电力科学研究院 | 适应于暂态电压稳定评估的样本生成方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU6816998A (en) | 1997-03-24 | 1998-10-20 | Queen's University At Kingston | Coincidence detection method, products and apparatus |
IL147858A0 (en) | 2000-05-26 | 2002-08-14 | Abova | Method and system for internet sampling |
US7711662B2 (en) | 2003-01-15 | 2010-05-04 | Bracco Imaging S.P.A. | System and method for optimization of a database for the training and testing of prediction algorithms |
US7383239B2 (en) * | 2003-04-30 | 2008-06-03 | Genworth Financial, Inc. | System and process for a fusion classification for insurance underwriting suitable for use by an automated system |
AU2015336942B2 (en) | 2014-10-24 | 2018-02-01 | Commonwealth Scientific And Industrial Research Organisation | Learning with transformed data |
US11048718B2 (en) * | 2017-08-10 | 2021-06-29 | International Business Machines Corporation | Methods and systems for feature engineering |
-
2019
- 2019-08-14 US US16/540,208 patent/US11468148B2/en active Active
-
2020
- 2020-03-25 CN CN202010220298.2A patent/CN112148766A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113253930A (zh) * | 2021-05-20 | 2021-08-13 | 重庆会凌电子新技术有限公司 | 一种频谱监测装置的存储方法 |
CN113253930B (zh) * | 2021-05-20 | 2022-09-20 | 重庆会凌电子新技术有限公司 | 一种频谱监测装置的存储方法 |
Also Published As
Publication number | Publication date |
---|---|
US20200410041A1 (en) | 2020-12-31 |
US11468148B2 (en) | 2022-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11243993B2 (en) | Document relationship analysis system | |
US11526799B2 (en) | Identification and application of hyperparameters for machine learning | |
CN112148766A (zh) | 利用人工神经网络模型进行数据抽样的方法和系统 | |
US10867244B2 (en) | Method and apparatus for machine learning | |
CN110489345B (zh) | 一种崩溃聚合方法、装置、介质和设备 | |
US9324038B2 (en) | Method and system for clustering, modeling, and visualizing process models from noisy logs | |
EP3193265A1 (en) | System and method for classifying and resolving software production incident tickets | |
US20180082215A1 (en) | Information processing apparatus and information processing method | |
CN109189767B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN111178380B (zh) | 数据分类方法、装置及电子设备 | |
EP4006909B1 (en) | Method, apparatus and device for quality control and storage medium | |
WO2023056723A1 (zh) | 故障诊断的方法、装置、电子设备及存储介质 | |
US20170004188A1 (en) | Apparatus and Method for Graphically Displaying Transaction Logs | |
US20150269241A1 (en) | Time series clustering | |
RU2715024C1 (ru) | Способ отладки обученной рекуррентной нейронной сети | |
US11727021B2 (en) | Process control tool for processing big and wide data | |
CN113138974B (zh) | 数据库合规检测的方法和装置 | |
CN112131296A (zh) | 一种数据探查方法、装置、电子设备和存储介质 | |
CN110879821A (zh) | 评分卡模型衍生标签生成方法、装置、设备及存储介质 | |
US20240104436A1 (en) | Chained feature synthesis and dimensional reduction | |
US20240104421A1 (en) | Correlation-based dimensional reduction of synthesized features | |
US20240134779A1 (en) | System and method for automated test case generation based on queuing curve analysis | |
CN116069997A (zh) | 元数据分析著录方法、装置、电子设备和存储介质 | |
US20230016231A1 (en) | Learning apparatus, learning method and program | |
CN115982633A (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 |