导航:首页 > 数据行情 > 股票数据缺失值处理方法

股票数据缺失值处理方法

发布时间:2023-03-16 06:53:36

1. 对于缺失值的处理

建议:不同场景下的数据缺失机制不同,这需要工程师基于对业务选择合适的填充方法。

如何判断缺失值类型?
缺失值的分类按照数据缺失机制可分为:
可忽略的缺失

不可忽略的缺失

平常工作中遇到的缺失值大部分情况下是随机的(缺失变量和其他变量有关)

这个就可以用estimator来做了,选其中一个变量(y),然后用其他变量作为X,随便选个值填充X的缺失部分,用X train一个estimator,再预测y的缺失部分(大致思路)

此外有些数据是符合某种分布的,利用这个分布呢也可以填充缺失的数据,如(EM算法)

处理缺失数据的三个标准:
1. 非偏置的参数估计
不管你估计means, regressions或者是odds ratios,都希望参数估计可以准确代表真实的总体参数。在统计项中,这意味着估计需要是无偏的。有缺失值可能会影响无偏估计,所以需要处理。
2. 有效的能力:
删除缺失数据会降低采样的大小,因此会降低power。如果说问题是无偏的,那么得到的结果会是显着的,那么会有足够的能力来检验这个效力(have adequate power to detect your effects)。反之,整个检测可能失效。
3. 准确的标准差(影响p值和置信区间):
不仅需要参数估计无偏,还需要标准差估计准确,在统计推断中才会有效。

缺失值处理的方法大致分为这几类:1、删除法;2、基于插补的方法;3、基于模型的方法; 4、不处理; 5、映射高维

有些处理方法是基于完全随机缺失假设(MCAR),一般来说,当数据不是 MCAR 而 是随机缺失(MAR)时,这些方法是不适用的;而有些方法(如似然估计法)在 MAR 的假设下是适用的,因此,在进行缺失数据处理时,首先需要认真分析缺失数 据产生的原因,然后采取有针对性的补救措施,这样才能够获得无偏或弱偏估计。

此处关于使用多重插补来处理非随机缺失(MNAR)的问题,它其实效果不一定,也可能出现效果倒退的情况,总的说多重更适合MAR

注:此处一元与多元指的是仅有一个特征有缺失值与多个特征有缺失值

对于不同类别的缺失值的处理方法如上图。

以下展开介绍各个方法:

注: k-means插补 与KNN插补很相似,区别在于k-means是利用无缺失值的特征来寻找最近的N个点,然后用这N个点的我们所需的缺失的特征平均值来填充,而KNN则是先用均值填充缺失值再找最近的N个点。

类似的还有 随机回归插补 :也优于纯回归插补

其他单一插补法:

与单一插补方法相比较,多重插补方法充分地考虑了数据的不确定性。多重插补的主要分为三个步骤,综合起来即为:插补、分析、合并。插补步是为每个缺失值都构造出 m 个可能的插补值,缺失模型具有不确定性,这些插补值能体现出模型的这个性质,利用这些可能插补值对缺失值进行插补就得到了 m 个完整数据集。分析步是对插补后的 m 个完整数据集使用一样的统计数据分析方法进行分析,同时得到 m 个统计结果。综合步就是把得到的这 m 个统计结果综合起来得到的分析结果,把这个分析结果作为缺失值的替代值。多重插补构造多个插补值主要是通过模拟的方式对估计量的分布进行推测,然后采用不同的模型对缺失值进行插补,这种插补是随机抽取的方式,这样以来能提高估计的有效性和可靠性。
多重插补-python手册

多重插补法主要有以下几种:

(使用回归、贝叶斯、随机森林、决策树等模型对缺失数据进行预测。)

基于已有的其他字段,将缺失字段作为目标变量进行预测,从而得到较为可能的补全值。如果带有缺失值的列是数值变量,采用回归模型补全;如果是分类变量,则采用分类模型补全。

常见能够自动处理缺失值模型包括:KNN、决策树和随机森林、神经网络和朴素贝叶斯、DBSCAN(基于密度的带有噪声的空间聚类)等。

处理思路:
自动插补 :例如XGBoost会通过training loss rection来学习并找到最佳插补值。
忽略 :缺失值不参与距离计算,例如:KNN,LightGBM
将缺失值作为分布的一种状态 :并参与到建模过程,例如:决策树以及变体。
不基于距离做计算 :因此基于值得距离计算本身的影响就消除了,例如:DBSCAN。

ID3、c4.5、cart、rf到底是如何处理缺失值的?

最精确的做法,把变量映射到高维空间。
比如性别,有男、女缺失三种情况,则映射成3个变量:是否男、否女、是否缺失。连续型变量也可以这样处理。比如Google、 网络的CTR预估模型,预处理时会把所有变量都这样处理,达到几亿维。又或者可根据每个值的频数,将频数较小的值归为一类'other',降低维度。此做法可最大化保留变量的信息。

前推法 (LOCF,Last Observation Carried Forward,将每个缺失值替换为缺失之前的最后一次观测值)与 后推法 (NOCB,Next Observation Carried Backward,与LOCF方向相反——使用缺失值后面的观测值进行填补)

这是分析可能缺少后续观测值的纵向重复测量数据的常用方法。纵向数据在不同时间点跟踪同一样本。当数据具有明显的趋势时,这两种方法都可能在分析中引入偏差,表现不佳。

线性插值 。此方法适用于具有某些趋势但并非季节性数据的时间序列。

季节性调整+线性插值 。此方法适用于具有趋势与季节性的数据。

总而言之,大部分数据挖掘的预处理都会使用比较方便的方法来处理缺失值,比如均值法,但是效果上并不一定好,因此还是需要根据不同的需要选择合适的方法,并没有一个解决所有问题的万能方法。

具体的方法采用还需要考虑多个方面的:

在做数据预处理时,要多尝试几种填充方法,选择表现最佳的即可。

总结来说,没有一个最完美的策略,每个策略都会更适用于某些数据集和数据类型,但再另一些数据集上表现很差。虽然有一些规则能帮助你决定选用哪一种策略,但除此之外,你还应该尝试不同的方法,来找到最适用于你的数据集的插补策略。

当前最流行的方法应该是 删除法、KNN、多重插补法

参考文献: 庞新生. 缺失数据处理方法的比较[J]. 统计与决策, 2010(24):152-155.

2. 数据缺失想要补齐有什么方法,用spss的替换缺失值和缺失值分析完全不会用

1、均值插补。数据的属性分为定距型和非定距型。如果缺失值是定距型的,就以该属性存在值的平均值来插补缺失的值;如果缺失值是非定距型的,就根据统计学中的众数原理,用该属性的众数(即出现频率最高的值)来补齐缺失的值。

2、利用同类均值插补。同均值插补的方法都属于单值插补,不同的是,它用层次聚类模型预测缺失变量的类型,再以该类型的均值插补。假设X=(X1,X2...Xp)为信息完全的变量,Y为存在缺失值的变量。

那么首先对X或其子集行聚类,然后按缺失个案所属类来插补不同类的均值。如果在以后统计分析中还需以引入的解释变量和Y做分析,那么这种插补方法将在模型中引入自相关,给分析造成障碍。

3、极大似然估计(Max Likelihood ,ML)。在缺失类型为随机缺失的条件下,假设模型对于完整的样本是正确的,那么通过观测数据的边际分布可以对未知参数进行极大似然估计(Little and Rubin)。

这种方法也被称为忽略缺失值的极大似然估计,对于极大似然的参数估计实际中常采用的计算方法是期望值最大化(Expectation Maximization,EM)。

4、多重岁御型插补(Multiple Imputation,MI)。多值插补的思想来源于贝叶乎猜斯估计,认为待插补的值是随机的,它的值来自于已观测到的值。具体实践上通常是估计出待插补的值,然后再加上不同的噪声,形成多组可选插补值。根据某种选择依据,选取最合适的插补值。



(2)股票数据缺失值处理方法扩展阅读

缺失值产生的原因很多,装备故障、无法获取信息、与其他字段不一致、历史原因等都可能产生缺失值。一种典型的处理方法是插值,插值之后拆氏的数据可看作服从特定概率分布。另外,也可以删除所有含缺失值的记录,但这个操作也从侧面变动了原始数据的分布特征。

对于缺失值的处理,从总体上来说分为删除存在缺失值的个案和缺失值插补。对于主观数据,人将影响数据的真实性,存在缺失值的样本的其他属性的真实值不能保证,那么依赖于这些属性值的插补也是不可靠的,所以对于主观数据一般不推荐插补的方法。插补主要是针对客观数据,它的可靠性有保证。

3. 缺失值在回归前一般是要处理的,有多种处理方式.1均值替代;2多重补漏分析

(一)个案剔除法(Listwise Deletion)
最常见、最简单的处理缺失数据的方法是用个案剔除法(listwise
deletion),也是很多统计(如SPSS和SAS)默认的缺失值处理方法。在这种方法中如果任何一个变量含有缺失数据的话,就把相对应的个案从分析中剔除。如果缺失值所占比例比较小的话,这一方法十分有效。至于具体多大的缺失比例算是“小”比例,专家们意见也存在较大的差距。有学者认为应在5%以下,也有学者认为20%以下即可。然而,这种方法却有很大的局限性。它是以减少样本量来换取信息的完备,会造成资源的大量浪费,丢弃了大量隐藏在这些对象中的信息。在样本量较小的情况下,删除少量对象就足以严重影响到数据的客观性和结果的正确性。因此,当缺失数据所占比例较大,特别是当缺数据非随机分布时,这种方法可能导致数据发生偏离,从而得出错误的结论。
(二)均值替换法(Mean Imputation)
在变量十分重要而所缺失的数据量又较为庞大的时候,个案剔除法就遇到了困难,因为许多有用的数据也同时被剔除。围绕着这一问题,研究者尝试了各种各样的办法。其中的一个方法是均值替换法(mean
imputation)。我们将变量的属性分为数值型和非数值型来分别进行处理。如果缺失值是数值型的,就根据该变量在其他所有对象的取值的平均值来填充该缺失的变量值;如果缺失值是非数值型的,就根据统计学中的众数原理,用该变量在其他所有对象的取值次数最多的值来补齐该缺失的变量值。但这种方法会产生有偏估计,所以并不被推崇。均值替换法也是一种简便、快速的缺失数据处理方法。使用均值替换法插补缺失数据,对该变量的均值估计不会产生影响。但这种方法是建立在完全随机缺失(MCAR)的假设之上的,而且会造成变量的方差和标准差变小。
(三)热卡填充法(Hotdecking)
对于一个包含缺失值的变量,热卡填充法在数据库中找到一个与它最相似的对象,然后用这个相似对象的值来进行填充。不同的问题可能会选用不同的标准来对相似进行判定。最常见的是使用相关系数矩阵来确定哪个变量(如变量Y)与缺失值所在变量(如变量X)最相关。然后把所有个案按Y的取值大小进行排序。那么变量X的缺失值就可以用排在缺失值前的那个个案的数据来代替了。与均值替换法相比,利用热卡填充法插补数据后,其变量的标准差与插补前比较接近。但在回归方程中,使用热卡填充法容易使得回归方程的误差增大,参数估计变得不稳定,而且这种方法使用不便,比较耗时。
(四)回归替换法(Regression Imputation)
回归替换法首先需要选择若干个预测缺失值的自变量,然后建立回归方程估计缺失值,即用缺失数据的条件期望值对缺失值进行替换。与前述几种插补方法比较,该方法利用了数据库中尽量多的信息,而且一些统计(如Stata)也已经能够直接执行该功能。但该方法也有诸多弊端,第一,这虽然是一个无偏估计,但是却容易忽视随机误差,低估标准差和其他未知性质的测量值,而且这一问题会随着缺失信息的增多而变得更加严重。第二,研究者必须假设存在缺失值所在的变量与其他变量存在线性关系,很多时候这种关系是不存在的。
(五)多重替代法(Multiple Imputation)
多重估算是由Rubin等人于1987年建立起来的一种数据扩充和统计分析方法,作为简单估算的改进产物。首先,多重估算技术用一系列可能的值来替换每一个缺失值,以反映被替换的缺失数据的不确定性。然后,用标准的统计分析过程对多次替换后产生的若干个数据集进行分析。最后,把来自于各个数据集的统计结果进行综合,得到总体参数的估计值。由于多重估算技术并不是用单一的值来替换缺失值,而是试图产生缺失值的一个随机样本,这种方法反映出了由于数据缺失而导致的不确定性,能够产生更加有效的统计推断。结合这种方法,研究者可以比较容易地,在不舍弃任何数据的情况下对缺失数据的未知性质进行推断。NORM统计可以较为简便地操作该方法

4. 股价数据缺失,用什么插值法补齐较好

meigushe888

将这些错误的数据当错缺失数据处理,需要采取一定的手段填充。缺失的数据采取插值法填充,这一点早就确定下来,但在如何实现上却困扰很久。将原始问题简化一下。比如有这样一组数据。ID so co1 1 0.1 0.1 2 0 0.2 3 0.2 0 4 0 0 5 0 0.4 6 0.1 0.5插值法计算方法如下:(也可以不使用这两个步骤,只要最后的结果一致就行) 步骤一:计算缺失值上下的已知值间的斜率: k = (b2 - b1)/(n + 1) n 为缺失数据的个数 步骤二:计算对应的缺失值 a(i) = b1 + k * i 经过处理后,得到的数据是这样的:1 0.10 0.102 0.15 0.203 0.20 0.274 0.17 0.335 0.13 0.406 0.10 0.50我最初的想法是:在sql语句中用for循环来做。逐条地检查每个数值,如果是0,那么获取它的前一个记录的值b1,然后再继续向后遍历,获取后面一个非0的值b2,计算这两个非0数据之间的距离n,之后再用插值法将缺失的数据计算出来,并update到b1和b2之间的每一个值。按照这个思路,很麻烦,比如遍历过程中如何获取前一个数值?出现0的时候,如何记录出现多少个0?for循环经过后,再如何update之前的数值? 被这些问题困扰很久!在论坛上发帖解决,解决的办法很受启发。1. 创建一个函数ALTER FUNCTION FUN_CO(@ID INT) RETURNS DECIMAL(18, 3) AS BEGIN DECLARE @NUM1 NUMERIC(19,2),@ID1 INT,@NUM2 NUMERIC(19,2),@ID2 INT SELECT TOP 1 @ID1=ID , @NUM1=CO FROM APRECORD WHERE ID<=@ID AND CO<>0 ORDER BY ID DESC SELECT TOP 1 @ID2=ID , @NUM2=CO FROM APRECORD WHERE ID>=@ID AND CO<>0 ORDER BY ID ASC IF @ID2<>@ID1 RETURN @NUM1+(((@NUM2-@NUM1)/(@ID2-@ID1))*(@ID-@ID1)) RETURN @NUM1 END2. 更新数据库UPDATE APRECORD SET CO=DBO.FUN_CO(ID) WHERE DAYTIME >= @BDT AND DAYTIME < @EDT 在这个解决方案中,首先查找到缺失的数据,也就是值为0的数据,然后向前查找非0数据@NUM1,以及它的编号@ID1,向后查找非0的数据@NUM2. 以及编号@ID2。也就是步骤一。然后用公式计算出填充的数据。将上述过程保存在一个函数中,在存储过程中调用。甚至不用for循环之类。

5. 缺失值怎么处理

缺失值分为用户缺失值(User Missing Value)和系统缺失值(System Missing
Value)。用户缺失值指在问卷调查中,把被试不回答的一些选项当作缺失值来处理。用户缺失值的编码一般用研究者自己能够识别的数字来表示,如“0”、“9”、“99”等。系统缺失值主要指计算机默认的缺失方式,如果在输入数据时空缺了某些数据或输入了非法的字符,计算机就把其界定为缺失值,这时的数据标记为“?”。
一、定义缺失值

SPSS有系统缺失值和用户缺失值两类缺失值,系统默认为None(无)。当需要定义缺失值时,单击Missing下的含有“None”单元格,便进入图2-4的“缺失值”窗口。缺失值有以下3种选项:
No missing values:没有缺失值。
Discrete missing values:定义1~3个单一数为缺失值。
Range plus one optional discrete missing
values:定义指定范围为缺失值,同时指定另外一个不在这一范围的单一数为缺失值。

至于其他如单元格列长度(Columns)、单元格字符排列方向(Align)和数据量度(Measure)等均是不常用,一般使用系统默认值就可以了,以便减少工作量。
二、缺失值的处理

一般情况下,定义缺失值后的变量可以进行描述统计、相关分析等统计分析。但是,由于缺失值的出现往往会给统计分析带来一些麻烦和误差,尤其在时间序列分析中更是如此。在COMPUTE命令中,某个变量带有缺失值,则带有缺失值的个案也变成缺失值了。如图所示:

一般地,对缺失值的处理可采用如下方法:
第一,替代法。即采用统计命令Transform→Replace Missing
Values进行替代,或在相关统计功能中利用其【Opions】等参数进行替代。例如对上图表中的数据缺失值的处理:以T49这个变量中的所有数据的平均数为替代值,然后再进行COMPUTE命令处理。如图所示:

第二,剔除法。即剔除有缺失值的题目,或剔除有缺失值的整份问卷。

6. ​一文看懂数据清洗:缺失值、异常值和重复值的处理

作者:宋天龙

如需转载请联系华章 科技

数据缺失分为两种:一种是弯缺者 行记录的缺失 ,这种情况又称数据记录丢失;另一种是 数据扮伏列值的缺失 ,即由于各种原因导致的数据记录中某些列的值空缺。

不同的数据存储和环境中对于缺失值的表示结果也不同,例如,数据库中是Null,Python返回对象是None,Pandas或Numpy中是NaN。

在极少数情况下,部分缺失值也会使用空字符串来代替,但空字符串绝对不同于缺失值。从对象的实体来看,空字符串是有实体的,实体为字符串类型;而缺失值其实是没有实体的,即没有数据类型。

丢失的数据记录通常无法找回,这里重点讨论数据列类型缺失值的处理思路。通常有4种思路。

1. 丢弃

这种方法简单明了,直接删除带有缺失值的行记录(整行删除)或者列字段(整列删除),减少缺失数据记录对总体数据的影响。 但丢弃意味着会消减数据特征 ,以下任何一种场景都不宜采用该方法。

2. 补全

相对丢弃而言,补全是更加常用的缺失值处理方式。通过一定的方法将缺失的数据补上,从而形成完整的数据记录,对于后续的数据处理、分析和建模至关重要。常用的补全方法如下。

3. 真值转换法

在某些情况下,我们可能无法得知缺失值的分布规律,并且无法对于缺失值采用上述任何一种补全方法做处理;或者我们认为数据缺失也是一种规律,不应该轻易对缺失值随意处理,那么还有一种缺失值处理思路—真值转换。

该思路的根本观点是, 我们承认缺失值的存在,并且把数据缺失也作为数据分布规律的一部分 ,将变量的实际值和缺失值都作为输入维度参与后续数据处理和模型计算中。但是变量的实际值可以作为变量值参与模型计算,而缺失值通常无法参与运算,因此需要对缺失值进行真值转换。

以用户性别字段为例,很多数据库集都无法对会员的性别进行补足,但又舍不得将其丢弃掉,那么我们将选择将其中的值,包括男、女、未知从一个变量的多个值分布状态转换为多个变量的真值分布状态。

然后将这3列新的字段作为输入维度替换原来的1个字段参与后续模型计算。

4. 不处理

在数据预处理阶段,对于具有缺失值的数据记录不做任何处理,也是一种思路。这种思路主要看后期的数据分析和建模应用, 很多模型对于缺失值有容忍度或灵活的处理方法 ,因此在预处理阶段可以不做处理。

常见的能够自动处理缺失值的模型包括:KNN、决策树和随机森林、神经网络和朴素贝叶斯、DBSCAN(基于密度的带有噪声的空间聚类)等。这些模型对于缺失值的处理思路是:

在数据建模前的数据归约阶段,有一种归约的思路是 降维 ,降维中有一种直接选择特征的方法。假如我们通过一定方法确定带有缺失值(无论缺少字段的值缺失数量有多少)的字段对于模型的影响非常小,那么我们根本就不需要对缺失值进行处理。

因此,后期建模时的字段或特征的重要性判断也是决定是否处理字段缺失值的重要参考因素之一。

对于缺失值的处理思路是先通过一定方法找到缺失值,接着分析缺失值在整体样本中的分布占比,以及缺失值是否具有显着的无规律分布特征,然后考虑后续要使用的模型中是否能满足缺失值的自动处理,最后决定采用哪种缺埋薯失值处理方法。

在选择处理方法时,注意投入的时间、精力和产出价值,毕竟,处理缺失值只是整个数据工作的冰山一角而已。

在数据采集时,可在采集端针对各个字段设置一个默认值。以MySQL为例,在设计数据库表时,可通过default指定每个字段的默认值,该值必须是常数。

在这种情况下,假如原本数据采集时没有采集到数据,字段的值应该为Null,虽然由于在建立库表时设置了默认值会导致“缺失值”看起来非常正常,但本质上还是缺失的。对于这类数据需要尤其注意。

异常数据是数据分布的常态,处于特定分布区域或范围之外的数据通常会被定义为异常或“噪音”。产生数据“噪音”的原因很多,例如业务运营操作、数据采集问题、数据同步问题等。

对异常数据进行处理前,需要先辨别出到底哪些是真正的数据异常。从数据异常的状态看分为两种:

大多数数据挖掘或数据工作中,异常值都会在数据的预处理过程中被认为是噪音而剔除,以避免其对总体数据评估和分析挖掘的影响。但在以下几种情况下,我们无须对异常值做抛弃处理。

1. 异常值正常反映了业务运营结果

该场景是由业务部门的特定动作导致的数据分布异常,如果抛弃异常值将导致无法正确反馈业务结果。

例如:公司的A商品正常情况下日销量为1000台左右。由于昨日举行优惠促销活动导致总销量达到10000台,由于后端库存备货不足导致今日销量又下降到100台。在这种情况下,10000台和100台都正确地反映了业务运营的结果,而非数据异常案例。

2. 异常检测模型

异常检测模型是针对整体样本中的异常数据进行分析和挖掘,以便找到其中的异常个案和规律,这种数据应用围绕异常值展开,因此异常值不能做抛弃处理。

异常检测模型常用于客户异常识别、信用卡欺诈、贷款审批识别、药物变异识别、恶劣气象预测、网络入侵检测、流量作弊检测等。在这种情况下,异常数据本身是目标数据,如果被处理掉将损失关键信息。

3. 包容异常值的数据建模

如果数据算法和模型对异常值不敏感,那么即使不处理异常值也不会对模型本身造成负面影响。例如在决策树中,异常值本身就可以作为一种分裂节点。

数据集中的重复值包括以下两种情况:

去重是重复值处理的主要方法,主要目的是保留能显示特征的唯一数据记录。但当遇到以下几种情况时,请慎重(不建议)执行数据去重。

1. 重复的记录用于分析演变规律

以变化维度表为例。例如在商品类别的维度表中,每个商品对应的同1个类别的值应该是唯一的,例如苹果iPhone7属于个人电子消费品,这样才能将所有商品分配到唯一类别属性值中。但当所有商品类别的值重构或升级时(大多数情况下随着公司的发展都会这么做),原有的商品可能被分配了类别中的不同值。如下表所示展示了这种变化。

此时,我们在数据中使用Full join做跨重构时间点的类别匹配时,会发现苹果iPhone7会同时匹配到个人电子消费品和手机数码2条记录。对于这种情况,需要根据具体业务需求处理。

2. 重复的记录用于样本不均衡处理

在开展分类数据建模工作时,样本不均衡是影响分类模型效果的关键因素之一。解决分类方法的一种方法是对少数样本类别做简单过采样,通过随机过采样,采取简单复制样本的策略来增加少数类样本。

经过这种处理方式后,也会在数据记录中产生相同记录的多条数据。此时,我们不能对其中的重复值执行去重操作。

3. 重复的记录用于检测业务规则问题

对于以分析应用为主的数据集而言,存在重复记录不会直接影响实际运营,毕竟数据集主要是用来做分析的。

但对于事务型的数据而言, 重复数据可能意味着重大运营规则问题 ,尤其当这些重复值出现在与企业经营中与金钱相关的业务场景时,例如:重复的订单、重复的充值、重复的预约项、重复的出库申请等。

这些重复的数据记录通常是由于数据采集、存储、验证和审核机制的不完善等问题导致的,会直接反映到前台生产和运营系统。以重复订单为例:

因此,这些问题必须在前期数据采集和存储时就通过一定机制解决和避免。如果确实产生了此类问题,那么数据工作者或运营工作者可以基于这些重复值来发现规则漏洞,并配合相关部门,最大限度地降低由此而带来的运营风险。

本文摘编自《Python数据分析与数据化运营》(第2版),经出版方授权发布。

7. 分析股票时单独一天历史数据缺失 怎么处理

一共有2个办法:
1、进入数据管理,下载全部数据!
2、进入文件夹,找到DATA,然后再DAY里面找到该股的代码,将这个股单独删除,然后再开软件,软件会自动补充数据!

8. 数据清理中,处理缺失值的方法有哪些

由于调查、编码和录入误差,数据中可能存在一些无效值和缺失值,需要给予适当的处理。常用的处理方法有:估算,整例删除,变量删除和成对删除。

计算机俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。由硬件系统和软件系统所组成,没有安装任何软件的计算机称为裸机。

可分为超级计算机、工业控制计算机、网络计算机、个人计算机、嵌入式计算机五类,较先进的计算机有生物计算机、光子计算机、量子计算机、神经网络计算机。蛋白质计算机等。

当今计算机系统的运算速度已达到每秒万亿次,微机也可达每秒几亿次以上,使大量复杂的科学计算问题得以解决。例如:卫星轨道的计算、大型水坝的计算、24小时天气预报的计算等,过去人工计算需要几年、几十年,而现在用计算机只需几天甚至几分钟就可完成。

科学技术的发展特别是尖端科学技术的发展,需要高度精确的计算。计算机控制的导弹之所以能准确地击中预定的目标,是与计算机的精确计算分不开的。一般计算机可以有十几位甚至几十位(二进制)有效数字,计算精度可由千分之几到百万分之几,是任何计算工具所望尘莫及的。

随着计算机存储容量的不断增大,可存储记忆的信息越来越多。计算机不仅能进行计算,而且能把参加运算的数据、程序以及中间结果和最后结果保存起来,以供用户随时调用;还可以对各种信息(如视频、语言、文字、图形、图像、音乐等)通过编码技术进行算术运算和逻辑运算,甚至进行推理和证明。

计算机内部操作是根据人们事先编好的程序自动控制进行的。用户根据解题需要,事先设计好运行步骤与程序,计算机十分严格地按程序规定的步骤操作,整个过程不需人工干预,自动执行,已达到用户的预期结果。

超级计算机(supercomputers)通常是指由数百数千甚至更多的处理器(机)组成的、能计算普通PC机和服务器不能完成的大型复杂课题的计算机。超级计算机是计算机中功能最强、运算速度最快、存储容量最大的一类计算机,是国家科技发展水平和综合国力的重要标志。

超级计算机拥有最强的并行计算能力,主要用于科学计算。在气象、军事、能源、航天、探矿等领域承担大规模、高速度的计算任务。

在结构上,虽然超级计算机和服务器都可能是多处理器系统,二者并无实质区别,但是现代超级计算机较多采用集群系统,更注重浮点运算的性能,可看着是一种专注于科学计算的高性能服务器,而且价格非常昂贵。

一般的超级计算器耗电量相当大,一秒钟电费就要上千,超级计算器的CPU至少50核也就是说是家用电脑的10倍左右,处理速度也是相当的快,但是这种CPU是无法购买的,而且价格要上千万。

9. 怎么处理缺失值/异常值

https://www.hu.com/question/58230411?sort=created
https://blog.csdn.net/Forlogen/article/details/89534235

(1)随机丢失(MAR,Missing at Random)(数据丢失的概率与丢失的数据本身无关,而依赖于其他完全变量(无缺失变量))

随机丢失意味着数据丢失的概率与丢失的数据本身无关,而仅与部分已观测到的数据有关。也就是说,数据的缺失不是完全随机的,该类数据的缺失依赖于其他完全变量。

(2)完全随机丢失(MCAR,Missing Completely at Random)(数据缺失完全随机事件,无依赖关系)

数据的缺失是完全随机的,不依赖于任何不完全变量或完全变量,不影响样本的无偏性。简单来说,就是数据丢失的概率与其假设值以及其他变量值都完全无关。

(3)非随机丢失(MNAR,Missing not at Random)

数据的缺失与不完全变量自身的取值有关。分为两种情况:缺失值取决于其假设值(例如,高收入人群通常不希望在调查中透露他们的收入);或者,缺失值取决于其他变量值(假设基础数据很正常,也无临床症状,医生可能就觉得无需进一步检查,所以会有数据缺失)。

在前两种情况下可以根据其出现情况删除缺失值的数据,同时,随机缺失可以通过已知变量对缺失值进行估计。

在第三种情况下,删除包含缺失值的数据可能会导致模型出现偏差,同时,对数据进行填充也需要格外谨慎。

如果一个病人的体温测量值是有时缺失的,其原因是医生觉得病得太重的病人不需要量体温,那这个缺失显然不是MAR或者MCAR的。对于离散型特征,如果将特征中的缺失值单独编码成一个独立的类别(比如missing),而这个missing类别训练出来后对response有预测作用,那么这个特征中的缺失行为基本不是MAR或者MCAR的。

(1)generative methods:这些方法主要依赖于EM算法和深度学习,如DAE、GAN等
(2)discriminative methods:如MICE、MissForest、matrix completion等

目前的生成式填补算法存在着一些缺点,它们是以一种基于对数据分布的先验假设的方法,当数据中含有混合类别和连续变量时,它的泛化能力就会很差。DAE在一定程度上解决了这个问题,但是它在训练的过程中需要完整的数据集,在很多情况下,缺失的数据部分在一定程度上反映了完整数据集的内在结构信息,所以获取到完整的数据集是不太可能的。DAE的另一种方法允许使用不完整的数据集进行训练,但是它只能根据观察到的部分来表示数据。而使用DCGANs来完成图像填补的算法,同样需要完整的数据集来训练判别器。

难点:如果其他变量和缺失变量无关,则预测的结果无意义。如果预测结果相当准确,则又说明这个变量是没必要加入建模的。一般情况下,介于两者之间。

方法 0(最简单粗暴):在构建模型时忽略异常值。 如果缺失数据量少的话

方法1(快速简单但效果差):把数值型(连续型)变量中的缺失值用其所对应的类别中的中位数替换。把描述型(离散型)变量缺失的部分用所对应类别中出现最多的数值替代。

方法2(耗时费力但效果好):虽然依然是使用中位数和出现次数最多的数来进行替换,方法2引入了权重。即对需要替换的数据先和其他数据做相似度测量也就是下面公式中的Weight,在补全缺失点是相似的点的数据会有更高的权重W。

方法3 (类xgboost):把缺失值当做稀疏矩阵来对待,本身的在节点分裂时不考虑的缺失值的数值。缺失值数据会被分到左子树和右子树分别计算损失,选择较优的那一个。如果训练中没有数据缺失,预测时出现了数据缺失,那么默认被分类到右子树。这样的处理方法固然巧妙,但也有风险:即我们假设了训练数据和预测数据的分布相同,比如缺失值的分布也相同,不过直觉上应该影响不是很大:)

方法4 (回归):基于完整的数据集,建立回归方程。对于包含空值的对象,将已知属性值代入方程来估计未知属性值,以此估计值来进行填充。当变量不是线性相关时会导致有偏差的估计。

方法5 (Kmeans)先根据欧式距离或相关分析来确定距离具有缺失数据样本最近的K个样本,将这K个值加权平均来估计该样本的缺失数据。

方法6 (离散化)为缺失值定制一个特征值比如,男/女/缺失 分别对应[0/1,0/1,0/1]=>[0,0,1] 这种onehot编码,特征离散化后加入计算。

方法1(AutoEncoder系列):在训练的时候使用0作为缺失值,相当于不激活边,在输出的时候不论输出了什么都强行置为0,防止反向传播的时候影响到边的权重。

方法2 GAN(GAIN),目前的SOTA

方法1(MissForest):对于一个有n个特征的数据来说,其中特征T有缺失值,我们就把特征T当作标签,其他的n-1个特征和原本的标签组成新的特征矩阵。那对于T来说,它没有缺失的部分,就是我们的Y_test,这部分数据既有标签也有特征,而它缺失的部分,只有特征没有标签,就是我们需要预测的部分。

那如果数据中除了特征T之外,其他特征也有缺失值怎么办?答案是遍历所有的特征,从缺失最少的开始进行填补(因为填补缺失最少的特征所需要的准确信息最少)。

填补一个特征时,先将其他特征的缺失值若为连续型值可用中位数、平均数代替,离散可用众数代替,每完成一次回归预测,就将预测值放到原本的特征矩阵中,再继续填补下一个特征。每一次填补完毕,有缺失值的特征会减少一个,所以每次循环后,需要用0来填补的特征就越来越少。当进行到最后一个特征时(这个特征应该是所有特征中缺失值最多的),已经没有任何的其他特征需要用0来进行填补了,而我们已经使用回归为其他特征填补了大量有效信息,可以用来填补缺失最多的特征。

方法2(matrix factorization):矩阵分解

然后梯度下降一把梭

“年收入”:商品推荐场景下填充平均值,借贷额度场景下填充最小值;
“行为时间点”:填充众数;
“价格”:商品推荐场景下填充最小值,商品匹配场景下填充平均值;
“人体寿命”:保险费用估计场景下填充最大值,人口估计场景下填充平均值;
“驾龄”:没有填写这一项的用户可能是没有车,为它填充为0较为合理;
”本科毕业时间”:没有填写这一项的用户可能是没有上大学,为它填充正无穷比较合理;
“婚姻状态”:没有填写这一项的用户可能对自己的隐私比较敏感,应单独设为一个分类,如已婚1、未婚0、未填-1。

主流的机器学习模型千千万,很难一概而论。但有一些经验法则(rule of thumb)供参考:
1)树模型对于缺失值的敏感度较低,大部分时候可以在数据有缺失时使用。
2)涉及到距离度量(distance measurement)时,如计算两个点之间的距离,缺失数据就变得比较重要。因为涉及到“距离”这个概念,那么缺失值处理不当就会导致效果很差,如K近邻算法(KNN)和支持向量机(SVM)。
3)线性模型的代价函数(loss function)往往涉及到距离(distance)的计算,计算预测值和真实值之间的差别,这容易导致对缺失值敏感。
4)神经网络的鲁棒性强,对于缺失数据不是非常敏感,但一般没有那么多数据可供使用。
5)贝叶斯模型对于缺失数据也比较稳定,数据量很小的时候首推贝叶斯模型。

总结来看,对于有缺失值的数据在经过缺失值处理后:

10. 处理缺失值的四种方法

处理缺失值的四种方法如下:

1、简单删除法适合于缺失值样本比较少的情况下,如果有过多的缺失值,则不适合使用该方法,因为该方法是用减少历史数据的方法来换取数据岁搜胡的完备性,这样会造成资源的极大浪费,因为其丢弃了大量隐藏在这乎拦些对象上的信息,在样本数量本来就很少的数据集中删除少量对象将严重影响数据集的客观性和结果的正确性。

4、平均值填充,如果是数值型特征,则是使用平均值来填充,如果是类别型特征,则是使用众数来填充,另一种相似的方法是条件平均值填充,这个并不是直接使用所有对象来计算平均值或者众数,而是使用与该样本具有相同决策属性的对象中去求解平均值或者众数。

阅读全文

与股票数据缺失值处理方法相关的资料

热点内容
股票一段时间总是低开高走 浏览:749
美股跌为什么引起中国股票跌 浏览:219
开盘就涨停的股票能买进 浏览:457
美国中国联通股票行情 浏览:531
银行股票抵押折扣 浏览:970
中国银河证券股票今天 浏览:786
怎么知道股票封涨停有多少手 浏览:324
英皇证券股票指数 浏览:268
中国卫星股票能不能长期持股 浏览:792
博通信息股份有限公司股票 浏览:777
大智慧股票行情软件教程 浏览:598
美国影响最大的股票 浏览:521
股票信息看什么app 浏览:701
股票推荐长期持有 浏览:646
企业中标对股票市场的影响 浏览:185
中国长得最多的股票 浏览:497
没一只股票都有主力吗 浏览:403
大智慧大数据终如何设股票池 浏览:647
股票软件自己创建指数 浏览:277
股票有机会涨停就是不涨什么意思 浏览:412