数学建模缺失数据补充及异常
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数学建模缺失数据补充及异常数据修正
题目:数据的预处理问题
摘要 数据处理贯穿于社会生产和社会生活的各个领域。数据处理技术的发展及其应用的广度和深度,极大地影响着人类社会发展的进程。数据补充,异常数据的鉴别及修正,在各个领域也起到了重要作用。
对于第一问,我们采用了多元线性回归的方法对缺失数据进行补充,我们将1960-2015.xls (见附表一)中的数据导入matlab 。首先作出散点图,设定y(X59287)与x1(X54511)、x2(X57494)的关系为二元线性回归模型,即y=b0+b1x1+b2x2。之后作多元回归,求出系数b0=18.014,b1=0.051,b2=0.354,所以多元线性回归多项式为:Y=18.014+0.051*x1+0.354*x2。再作出残差分析图验证拟合效果,残差较小,说明回归多项式与源数据吻合得较好。若x1=30.4,x2=28.6时,y 的数据缺失,则将x1,x2带入回归多项式,算出缺失值y=29.6888。类似地,若x1=40.6,x2=30.4时,y 的数据缺失,则将x1,x2带入回归多项式,算出缺失值y=30.8462,即可补充缺失数据。
对于第二问,我们使用了异常值检验中标准差未知的t 检验法。将除可疑测定值d x 以外的其余测定值当做一个总体,并假设该总体服从正态分布。由这些测定值计算平均值x 与标准差s ,而将可疑值d x 当做一个样本容量为1的特殊总体。如果d x 与其余测定值同属于一个总体,则它与其余测定值之间不应有显著性差异。检测统计量为:σx x k d -=,假设可由标准差s 替代σ来进行检验,则检测统计量可视为:s x x k d -=。若统计量值大于相应置信度α下的t 检验法的临界值αT (该临界值通过查表法得出),则将d x 判为异常值。由此算法即可鉴别出相应的异常数据。
对于第三问,对于问题三,我们采用了分段线性插值,最近方法插值,三次样条函数插值以及三次多项式方法插值法来修正数据异常。同时也需利用外插法修正最后一个数据的异常。通过各种插值方法的比较,发现三次样条方法较为准确,并较好的对异常数据进行修正。
关键词:多元线性回归,t 检验法,分段线性插值,最近方法插值,三次样条插值,三次多项式插值
C38 姓名学号专业
队长康伟振20141387032 应数长望
队员一卜维新20141346033 网络工程
队员二李兰馨20141302059 应用气象
一、问题重述
1.1背景
在数学建模过程中总会遇到大数据问题。一般而言,在提供的数据中,不可避免会出现较多的检测异常值,怎样判断和处理这些异常值,对于提高检测结果的准确性意义重大。
1.2需要解决的问题
(1)给出缺失数据的补充算法;
(2)给出异常数据的鉴别算法;
(3)给出异常数据的修正算法。
二、模型分析
2.1问题(1)的分析
属性值数据缺失经常发生甚至不可避免。
(一)较为简单的数据缺失
(1)平均值填充
如果空值为数值型的,就根据该属性在其他所有对象取值的平均
值来填充缺失的属性值;如果空值为非数值型的,则根据众数原
理,用该属性在其他所有对象的取值次数最多的值(出现频率最
高的值)来补齐缺失的属性值。
(2) 热卡填充(就近补齐)
对于包含空值的数据集,热卡填充法在完整数据中找到一个与其
最相似的数据,用此相似对象的值进行填充。
(3) 删除元组 将存在遗漏信息属性值的元组删除。
(二)较为复杂的数据缺失
(1)多元线性回归 当有缺失的一组数据存在多个自变量时,可以考虑使用多元线性回归模型。将所有变量包括因变量都先转化为标准分,再进行线性回归,此时得到的回归系数就能反映对应自变量的重要程度。
2.2问题(2)的分析
属性值异常数据鉴别很重要。
我们可以采用异常值t 检验的方法比较前后两组数据的平均值,与临界值相比较即可辨别数据异常并剔除异常数据。 将除可疑测定值d x 以外的其余测定值当做一个总体,并假设该总体服从正态分布。由这些测定值计算平均值x 与标准差s ,而将可疑值d x 当做一个样本容量为1的特殊总体。如果d x 与其余测定值同属于一个总体,则它与其余测定值之间不应有显著性差异。检测统计量为:σx x k d -=,假设可由标准差s 替代σ来进行检验,则检测统计量可视为:s x x k d -=。若统计量值大于相应置信度α下的t 检验法的临界值αT (该临界值通过查表法得出),则将d x 判为异常值。
2.3问题(3)的分析
对于数据修正,我们采用各种插值算法进行修正,这是一种行之有效的方法。
(1)分段线性插值
将每两个相邻的节点用直线连起来,如此形成的一条折线就是分段线性插值函数,记作()x I n ,它满足()i i n y x I =,且()x I n 在每个小区间[]1,+i i x x 上是线
性函数()x I n ()n i ,,1,0⋅⋅⋅=。
()x I n 可以表示为
()x I n 有良好的收敛性,即对于[]b a x ,∈有,
用 ()x I n 计算x 点的插值时,只用到x 左右的两个节点,计算量与节点个数n 无关。但n 越大,分段越多,插值误差越小。实际上用函数表作插值计算时,分段线性插值就足够了,如数学、物理中用的特殊函数表,数理统计中用的概率分布表等。
(2) 三次多项式算法插值
当用已知的n+1个数据点求出插值多项式后,又获得了新的数据点,要用它连同原有的n+1个数据点一起求出插值多项式,从原已计算出的n 次插值多项式计算出新的n+1次插值多项式很困难,而此算法可以克服这一缺点。
(3)三次样条函数插值[4]
数学上将具有一定光滑性的分段多项式称为样条函数。三次样条函数为:对于[]b a ,上的分划∆:n x x x a <⋅⋅⋅<<=10=b ,则,