求小波分析在数据检测方面的matlab代码,比如给您一组数据,利用小波分析来找出其中的异常值.给您一组数据,能够找出其中的异常值,该数据是一维的.但是如果您能够给出处理多维数据的源代
来源:学生作业帮助网 编辑:六六作业网 时间:2024/10/07 15:34:30
求小波分析在数据检测方面的matlab代码,比如给您一组数据,利用小波分析来找出其中的异常值.给您一组数据,能够找出其中的异常值,该数据是一维的.但是如果您能够给出处理多维数据的源代
求小波分析在数据检测方面的matlab代码,比如给您一组数据,利用小波分析来找出其中的异常值.
给您一组数据,能够找出其中的异常值,该数据是一维的.但是如果您能够给出处理多维数据的源代码,再给您加分.如果能根据其他数据来预测出异常值应该的值,再给您加分.现在我的文库分不够了,这就去做任务来付分,
找出下表中的异常值,并拟合出应该是多少.
日期 用 水量 1厂供水量 2厂供水量
20000101 1221790 794164 427626
20000102 1282410 833566.4 448843.6
20000103 1241980 807287 434693
20000104 1265880 822822 443058
20000105 1301360 767802 533558
20000106 1298670 727255 571415
20000107 1273770 700573.5 573196.5
20000108 1300620 845403 455217
20000109 1301750 846138 455612
20000110 1318300 856895 461405
20000111 1327550 862908 464642
20000112 1356910 800577 556333
20000113 1329360 744442 584918
20000114 1312580 721919 590661
20000115 1330460 864799 465661
20000116 1416710 855861.4 460848.6
20000117 1293410 840717 452693
20000118 1303150 847047.4 456102.6
20000119 1304690 769767 534923
20000120 1301800 729008 572792
望能给源代码.不是小波分析的方法也行.
求小波分析在数据检测方面的matlab代码,比如给您一组数据,利用小波分析来找出其中的异常值.给您一组数据,能够找出其中的异常值,该数据是一维的.但是如果您能够给出处理多维数据的源代
你做的这方面叫做“小波分析对信号奇异性检测”.
小波确实有这方面的应用.建议你直接去图书馆借《MATLAB小波分析(张德丰等编著)》(第二版),第一版有没有我不不知道哈.其中有一节就专门讲如何用小波检测第一类间断点和第二类间断点的,并且有方法将奇异点消除.讲的比较详细.
根据你的问题补充,我觉着你可以用欧几里得距离作为衡量波动的标准,具体程序如下:
data=[...
20000101 1221790 794164 427626
20000102 1282410 833566.4 448843.6
20000103 1241980 807287 434693
20000104 1265880 822822 443058
20000105 1301360 767802 533558
20000106 1298670 727255 571415
20000107 1273770 700573.5 573196.5
20000108 1300620 845403 455217
20000109 1301750 846138 455612
20000110 1318300 856895 461405
20000111 1327550 862908 464642
20000112 1356910 800577 556333
20000113 1329360 744442 584918
20000114 1312580 721919 590661
20000115 1330460 864799 465661
20000116 1416710 855861.4 460848.6
20000117 1293410 840717 452693
20000118 1303150 847047.4 456102.6
20000119 1304690 769767 534923
20000120 1301800 729008 572792
];
date=data(:,1)-20000000;
data=data(:,2:end);
x1=data(:,1);
x2=data(:,2);
x3=data(:,3);
x1_m=mean(x1);
x2_m=mean(x2);
x3_m=mean(x3);
data_m=repmat([x1_m,x2_m,x3_m],size(data,1),1);
temp=(data-data_m).^2;
temp=sum(temp')';
stem(date,temp);
得到的结果如下图:
可以看出波动最大是1月6号和1月16号.你可以自己设个门限,超过门限的都作为奇异值.