数据读写
两个函数:xlsread() xlswrite()
xlsread('url',sheet,'A1:B5')
- url:为excel表格在电脑中所在的绝对路径/或者表格相对matlab代码所在的相对路径
- sheet:2表示位于sheet2
- ‘A1:B5’表示读入的数据范围,即第A列第一行-第B列第5行范围内数据
异常值
在相关,回归分析,以及比如方差,t检验等等研究时,均会受到异常值的干扰,只要有异常值存在,则均会或多或少的影响到数据结论;严重的情况即为将关系扭曲,不严重的时候也会影响到各类指标结果等,因而需要认真地对待异常值。
针对异常值,常见的步骤有三步:第一步是异常值检测;第二步是异常值判定;第三步是异常值处理。
异常值监测
- 箱线图:实验研究时经常使用,非常直观的展示出异常数据
- 散点图:研究X和Y的关系时,可直观展示查看是否有异常数据
- 描述分析:可通过最大最小值等各类指标大致判断数据是否有异常
- 其它:比如结合正态分布图,频数分析等判断是否有异常值
异常值判定
- 缺失数字
- 小于设定标准的数字
- 大于设定标准的数字
- 大于3个标准差
异常值处理
异常值处理方法主要分为两类,直接剔除和填补
- 剔除:适用于异常值不多的情况
- 填补:平均值填补、中位数填补、众数填补、随机数填补
下面是个人对异常值的处理示例,利用3σ准则判定异常值,然后将异常数据与正常数据分离
%{
异常数据处理函数
读取excel数据的行/列,column传入,normal、abnormal分别输出正常、不正常数据
%}
%data=xlsread('C:\Users\liuyi\Desktop\start_file1.xlsx');%读取原始数据
%column=data(1:100,1);
function [normal,abnormal]=exceptionHandle(column)
l=length(column);
average=mean(column);%均值
standard=sqrt((column'-average)*(column-average)/l);%标准差
variance=standard^2;%方差
extreme=max(column)-min(column);%极差
top=average+3*standard;%上界
bottom=average-3*standard;%下界
normal=[];
abnormal=[];
i=1;
j=1;
for k=1:l
%这里是一维数据,如果对于平面中的点或者空间中的点
%则if条件语句改写为'column_1(k)>=bottom_1 && column_1(k)<=top_1 && column_2(k)>=bottom_2 && column_2(k)<=top_2'
if column(k)<bottom || column(k)>top
abnormal(i,1)=k;
abnormal(i,2)=column1(k);
i=i+1;
end
if column(k)>=bottom && column(k)<=top
normal(k,1)=j;
normal(k,2)=column1(j);
normal(k,3)=column2(j);
k=k+1;
end
end
end
复制代码
《中华人民共和国国家标准》www.360doc.com/document/18…
数据变换
标准化处理
数据的标准化是将数据按比例缩放,使之落入一个小的特定区间。在某些比较和评价的指标处理中经常会用到,用于去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或者量级的指标能够进行比较和加权。
下面介绍几种常见的标准化方法
- Z标准化:
- 归一化:(X-Min)/(Max-Min)
- 区间化:将数据压缩在a和b之间,默认分别是1和2。a+(b-a)*(X-Min)/(Max-Min)
逆向化
指标一般分为正向指标(越大越好)、逆向指标(越小越好)、适度指标(不能太小也不能太大)。为了可以进行综合汇总,需要解决同方向性,一般需要将逆向指标正向化。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧
相关推荐