• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Matlab读取excel并利用拉依达准则筛选数据的全过程

    1、Matlab读取Excel表格

    版本:matlab R2020a,Excel2019的xlsx格式文件

    1.1 导入数据

    1.2 选择并打开要导入的.xlsx文件

    1.3 选择数据区域,选择输出到matlab工作区的数据类型

    默认刚导入时自动选择了所有数据区域(不带title的)

    这里以输出为二维矩阵为例

    1.4 导入成功,在工作区域命名变量名并在命令行测试输出

    1.5 使用命令导入,效果一样

    mat= xlsread('附录1 目标客户体验数据.xlsx','sheet1','A2:AB1961')
    

    2、使用拉依达准则对数据进行筛选

    2.1 什么是拉依达准则?

    拉依达准则是指先假设一组检测数据只含有随机误差,对其进行计算处理得到标准偏差,按一定概率确定一个区间,认为凡超过这个区间的误差,就不属于随机误差而是粗大误差,含有该误差的数据应予以剔除。这种判别处理原理及方法仅局限于对正态或近似正态分布的样本数据处理,它是以测量次数充分大为前提的。

    所以也叫 3 σ 3\sigma 3σ准则。

    2.2 根据拉依达准则用matlab对数据进行异常值筛选

    clear
    clc
    %% 根据拉依达准则对二维数据进行筛选
    mat= xlsread('附录1 目标客户体验数据.xlsx','data','A2:AB1961'); %读取数据
    % ave_all=[];
    % sigma_all=[];
    sizes=size(mat);
    for j=1:sizes(2)    
        ave(j) = mean(mat(:,j));%mean 求解平均值
        %ave_all=[ave_all,ave(j)];
        sigma(j) = std(mat(:,j));%求解标准差
        %sigma_all=[sigma_all,sigma(j)];
        for i = 1:sizes(1)
            if(abs(mat(i:j)-ave(j))>3*sigma(j));%不符合3σ准则,标记这个元素位置
                disp(['第',num2str(i),'行','第',num2str(j),'列,出现不满足拉依达准则的数据,数据id为:'])
                data_id=mat(i,1) %%如果以actxserver读取的话,这里可以设置excel中单元格格式
                mat(i,j)=-1;%% 这里用数据中没出现过的-1来替代待剔除的值
            else
                continue;
            end
        end
    end
    
    

    不符合条件的数值均用-1标记,然后对这些数据所在行进行删除即可。

    附:用matlab实现对Excel交互的链接:https://www.jb51.net/article/219448.htm

    总结

    到此这篇关于Matlab读取excel并利用拉依达准则筛选数据的文章就介绍到这了,更多相关Matlab读取excel并筛选数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • 使用matlab或python将txt文件转为excel表格
    上一篇:python文件处理笔记之文本文件
    下一篇:python实现自动化之文件合并
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Matlab读取excel并利用拉依达准则筛选数据的全过程 Matlab,读取,excel,并,利用,