数学建模缺失数据补充及异常数据修正(共17页)

上传人:b410****zcfj 文档编号:42990908 上传时间:2021-11-29 格式:DOCX 页数:17 大小:204.77KB
收藏 版权申诉 举报 下载
数学建模缺失数据补充及异常数据修正(共17页)_第1页
第1页 / 共17页
数学建模缺失数据补充及异常数据修正(共17页)_第2页
第2页 / 共17页
数学建模缺失数据补充及异常数据修正(共17页)_第3页
第3页 / 共17页
资源描述:

《数学建模缺失数据补充及异常数据修正(共17页)》由会员分享,可在线阅读,更多相关《数学建模缺失数据补充及异常数据修正(共17页)(17页珍藏版)》请在装配图网上搜索。

1、精选优质文档-倾情为你奉上题目:数据的预处理问题摘要数据处理贯穿于社会生产和社会生活的各个领域。数据处理技术的发展及其应用的广度和深度,极大地影响着人类社会发展的进程。数据补充,异常数据的鉴别及修正,在各个领域也起到了重要作用。对于第一问,我们采用了多元线性回归的方法对缺失数据进行补充,我们将1960-2015.xls(见附表一)中的数据导入matlab。首先作出散点图,设定y(X59287)与x1(X54511)、x2(X57494)的关系为二元线性回归模型,即y=b0+b1x1+b2x2。之后作多元回归,求出系数b0=18.014,b1=0.051,b2=0.354,所以多元线性回归多项式

2、为: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检验法。将除可疑测定值以外的其余测定值当做一个总体,并假设该总体服从正态分布。由这些测定值计算平均值与标准差s,而将可疑值当做一个样本容量为1的特殊总体。如果与其余测定值同属

3、于一个总体,则它与其余测定值之间不应有显著性差异。检测统计量为:,假设可由标准差s替代来进行检验,则检测统计量可视为:。若统计量值大于相应置信度下的t检验法的临界值(该临界值通过查表法得出),则将判为异常值。由此算法即可鉴别出相应的异常数据。对于第三问,对于问题三,我们采用了分段线性插值,最近方法插值,三次样条函数插值以及三次多项式方法插值法来修正数据异常。同时也需利用外插法修正最后一个数据的异常。通过各种插值方法的比较,发现三次样条方法较为准确,并较好的对异常数据进行修正。关键词:多元线性回归,t检验法,分段线性插值,最近方法插值,三次样条插值,三次多项式插值C38姓名学号专业队长康伟振应数

4、长望队员一卜维新网络工程队员二李兰馨应用气象一、 问题重述1.1背景在数学建模过程中总会遇到大数据问题。一般而言,在提供的数据中,不可避免会出现较多的检测异常值,怎样判断和处理这些异常值,对于提高检测结果的准确性意义重大。1.2需要解决的问题(1)给出缺失数据的补充算法;(2)给出异常数据的鉴别算法;(3)给出异常数据的修正算法。二、 模型分析2.1问题(1)的分析属性值数据缺失经常发生甚至不可避免。(一) 较为简单的数据缺失(1) 平均值填充如果空值为数值型的,就根据该属性在其他所有对象取值的平均值来填充缺失的属性值;如果空值为非数值型的,则根据众数原理,用该属性在其他所有对象的取值次数最多

5、的值(出现频率最高的值)来补齐缺失的属性值。 (2) 热卡填充(就近补齐)对于包含空值的数据集,热卡填充法在完整数据中找到一个与其最相似的数据,用此相似对象的值进行填充。 (3) 删除元组将存在遗漏信息属性值的元组删除。(二)较为复杂的数据缺失 (1)多元线性回归 当有缺失的一组数据存在多个自变量时,可以考虑使用多元线性回归模型。将所有变量包括因变量都先转化为标准分,再进行线性回归,此时得到的回归系数就能反映对应自变量的重要程度。2.2问题(2)的分析属性值异常数据鉴别很重要。我们可以采用异常值t检验的方法比较前后两组数据的平均值,与临界值相比较即可辨别数据异常并剔除异常数据。将除可疑测定值以

6、外的其余测定值当做一个总体,并假设该总体服从正态分布。由这些测定值计算平均值与标准差s,而将可疑值当做一个样本容量为1的特殊总体。如果与其余测定值同属于一个总体,则它与其余测定值之间不应有显著性差异。检测统计量为:,假设可由标准差s替代来进行检验,则检测统计量可视为:。若统计量值大于相应置信度下的t检验法的临界值(该临界值通过查表法得出),则将判为异常值。2.3问题(3)的分析 对于数据修正,我们采用各种插值算法进行修正,这是一种行之有效的方法。(1)分段线性插值将每两个相邻的节点用直线连起来,如此形成的一条折线就是分段线性插值函数,记作,它满足,且在每个小区间上是线性函数。可以表示为有良好的

7、收敛性,即对于有,用 计算x 点的插值时,只用到x 左右的两个节点,计算量与节点个数n 无关。但n 越大,分段越多,插值误差越小。实际上用函数表作插值计算时,分段线性插值就足够了,如数学、物理中用的特殊函数表,数理统计中用的概率分布表等。 (2) 三次多项式算法插值 当用已知的n+1个数据点求出插值多项式后,又获得了新的数据点,要用它连同原有的n+1个数据点一起求出插值多项式,从原已计算出的n次插值多项式计算出新的n+1次插值多项式很困难,而此算法可以克服这一缺点。(3)三次样条函数插值4数学上将具有一定光滑性的分段多项式称为样条函数。三次样条函数为:对于上的分划:=b,则,利用样条函数进行插

8、值,即取插值函数为样条函数,称为样条插值。三、 模型假设1.假设只有因变量存在数据缺失,而自变量不存在缺失。2.利用t检验法时,将除可疑测定值以外的其余测定值当做一个总体,并假设该总体服从正态分布。四、 问题(1)的分析与求解4.1问题分析本题需要对缺失数据进行补充,情况可分为数据集中单一元素缺失及某一元组缺失两种情况。因此,对数据处理采用同上模型分析2.1的处理方法。4.2问题处理我们将1960-2015.xls(见附表一)中的数据导入matlab(程序见附录一)。首先作出散点图。设定y(X59287)与x1(X54511)、x2(X57494)的关系为二元线性回归模型,即y=b0+b1x1

9、+b2x2。之后作多元回归,求出系数b0=18.014,b1=0.051,b2=0.354,所以多元线性回归多项式为:Y=18.014+0.051*x1+0.354*x2。由matlab编程所得结果图如下4-2所示。 图4-2再作出残差分析图验证拟合效果,残差较小,说明回归多项式与源数据吻合得较好。若x1=30.4,x2=28.6时,y的数据缺失,则将x1,x2带入回归多项式,算出缺失值y=29.6888。类似地,若x1=40.6,x2=30.4时,y的数据缺失,则将x1,x2带入回归多项式,算出缺失值y=30.8462,即可补充缺失数据。五、 问题(2)的分析与求解5.1 问题分析本题需要对

10、给定缺失数据进行鉴别,可以采用的方法为t检验检测法。T检验用t分布理论来推论差异发生的概率,从而比较两个平均数的差异是否显著。5.2 问题处理(一)随机产生数据由R系统随机产生数据对其进行缺失数据鉴别,代码如附录四所示,结果图如下5-1,5-2,5-3所示。 图5-1 图5-2 图5-3(二)给定相应数据对于问题二,在数据完整但出现异常的情况下,可以考虑使用异常值检验中标准差未知的t检验法。将除可疑测定值以外的其余测定值当做一个总体,并假设该总体服从正态分布。由这些测定值计算平均值与标准差s,而将可疑值当做一个样本容量为1的特殊总体。如果与其余测定值同属于一个总体,则它与其余测定值之间不应有显

11、著性差异。检测统计量为:,假设可由标准差s替代来进行检验,则检测统计量可视为:。若统计量值大于相应置信度下的t检验法的临界值(该临界值通过查表法得出),则将判为异常值。具体数据见附表二,具体程序详见附录二,结果图如下5-4所示。 图5-4六、 问题(3)的分析与求解6.1 问题分析对于问题三,我们采用了分段线性插值,最近方法插值,三次样条函数插值以及三次多项式方法插值法来修正数据异常。同时也需利用外插法修正最后一个数据的异常。详见2.3对问题三的处理原理。具体代码见附录三。附录一 多元线性回归matlab程序clear;data1=xlsread('C:UsersLenovoDeskt

12、op1960-2005.xls');%做出散点图figure(1)scatter3(data1(:,4),data1(:,5),data1(:,6),'r');x=ones(262,1),data1(:,4),data1(:,5);y=data1(:,6);b,bint,r,rint,stats=regress(y,x);xlabel('X54511(x1)');ylabel('X57494(x2)');zlabel('X59287(y)');text(0.1,0.06,0.2,'回归方程式为:y=18.014+0

13、.051x1+0.352x2','color','b');title('x1,x2,y的关系:','color','m');%做残差分析图figure(2)reoplot(r,rint);xlabel('数据');ylabel('残差');title('残差绘制图');%补缺失数据x1=32.6,31.3;y1=x1*b;x2=33.2,26.5;y2=x2*b;附录二 t检验spss代码GET DATA /TYPE=XLS /FILE='C:User

14、sbwxDesktop2.xls' /SHEET=name 'Sheet1' /CELLRANGE=full /READNAMES=on /ASSUMEDSTRWIDTH=32767. EXECUTE. DATASET NAME 数据集2 WINDOW=FRONT. T-TEST /TESTVAL=0 /MISSING=ANALYSIS /VARIABLES=y /CRITERIA=CI(.95).附录三 插值修正数据matlab代码clear>> T=0:5:65T = 0 5 10 15 20 25 30 35 40 45 50 55 60 65>

15、> X=2:5:57X = 2 7 12 17 22 27 32 37 42 47 52 57>> F=3.2015,2.2560,879.5,1835.9,2968.8,4136.2,5237.9,6152.7,6725.3,6848.3,6403.5,6824.7,7328.5,7857.6;>> F1=interp1(T,F,X)F1 = 1.0e+003 * Columns 1 through 10 0.0028 0.3532 1.2621 2.2891 3.4358 4.5769 5.6038 6.3817 6.7745 6.6704 Columns 1

16、1 through 12 6.5720 7.0262>> F1=interp1(T,F,X,'nearest')F1 = 1.0e+003 * Columns 1 through 10 0.0032 0.0023 0.8795 1.8359 2.9688 4.1362 5.2379 6.1527 6.7253 6.8483 Columns 11 through 12 6.4035 6.8247>> F1=interp1(T,F,X,'nearest')%最近方法插值F1 = 1.0e+003 * Columns 1 through 10

17、0.0032 0.0023 0.8795 1.8359 2.9688 4.1362 5.2379 6.1527 6.7253 6.8483 Columns 11 through 12 6.4035 6.8247>> F1=interp1(T,F,X,'spline')%三次样条方法插值F1 = 1.0e+003 * -0.1702 0.3070 1.2560 2.2698 3.4396 4.5896 5.6370 6.4229 6.8593 6.6535 6.4817 7.0441>> F1=interp1(T,F,X,'cubic')%

18、三次多项式方法插值F1 = 1.0e+003 * 0.0025 0.2232 1.2484 2.2736 3.4365 4.5913 5.6362 6.4362 6.7978 6.6917 6.5077 7.0186附录四 随机数据缺失鉴别R语言代码 set.seed(2016)> x<-rnorm(100)> summary(x) Min. 1st Qu. Median Mean 3rd Qu. Max. -3.3150 -0.4837 0.1867 0.1098 0.7120 2.6860 > summary(x) Min. 1st Qu. Median Mean

19、3rd Qu. Max. -3.3150 -0.4837 0.1867 0.1098 0.7120 2.6860 > # outliers> boxplot.stats(x)#out$stats1 -1. -0. 0. 0. 1.$n1 100$conf1 -0. 0.$out1 -3. 2. -3. 2.> boxplot.stats(x)$out1 -3. 2. -3. 2.> boxplot(x)> y<-rnorm(100)> df<-data.frame(x,y)> rm(x,y)> head(df) x y1 -3. 0.

20、2 -0. -0.3 0. 0.4 0. 0.5 0. 0.6 0. -0.> attach(df)> # find the index of outliers from x> (a <-which(x %in% boxplot.stats(x)$out)1 1 33 64 74> # find the index of outliers from y> (b <-which(y %in% boxplot.stats(y)$out)1 24 25 49 64 74> detach(df)> # outliers in both x and y> (outlier.list<-intersect(a,b)1 64 74> plot(df)> points(dfoutlier.list,col="red",pch="+",cex=2.5)专心-专注-专业

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!