如何保证分析数据的准确性(八)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何保证分析数据的准确性(八)相关的知识,希望对你有一定的参考价值。

如何保证分析数据的准确性 中级(八) 2010.09.02 三班 王主持:对分析而言,数据就是产品,保证产品的质量是每个行业的最终目的。什么样的产品是好的,对于分析就是数据的准确性。准确的数据对生产有好的指导作用,不准确的数据就有可能造成设备的损坏和生产的停歇,对于大型工厂来说损失是惨重的。我们也知道对于咱厂,每次开停车都会在人力及资金上付出很多,所以我们不希望因为数据的问题引起不必要的争端,所以正确分析,报出正确结果是我们分析人不能推脱的责任和义务。对于我们质检中心是我厂的质量检验部门,主要承担着各种外进原燃料、厂内工序间产品的质量检验及外发产品的质量控制工作任务,检验数据的准确性对各生产环节的顺利进行都起到了至关重要的作用,同时,各种外发产品的质量得到保证,就会为企业树立良好的外部形象和信誉度,为企业发展开拓更为广阔的市场空间,因此,保证各种外进物料及外发产品的质量情况得到及时准确的反映就显得十分必要,那么如何能保证检验所得数据准确性呢,影响检验数据准确性的因素又有哪些呢?现在我们就来简单探讨一下。 先有甲醇岗人员回答 张回答:对于甲醇岗的分析我接触的时间较晚,我是初来的员工,到处都要学习,对于现在我掌握的情况,我想说的是:平行分析是检验分析数据准确的好方法,比如说当一个数据分析有异常的情况时,就是与平常分析不一样,就要重复分析一次或着两次,当确定取样正确的情况下,假如复核的几次还是与第一次一样的情况下,就可判断分析数据是正确的,在此种情况下作为分析人就要赶快与工艺人联系,告知其情况,以做到分析是工艺的眼睛的作用。 许接着说:张岚说的对,我比她早来些,除她说的情况外,我认为保证数据的准确性还要做到对分析项目的质的了解,做到知其然,知其所以然,在清醒的认识中提高分析的准确性。 沈说:菊香和张岚说的都很好,我要说的是:目前,质检中心检验作业区所采取的检验方法主要由化学分析和仪器分析两部分构成,首先,就化学分析方法而言,影响检验数据准确性的因素主要有以下几个方面。 第一,检验试验操作规程是否符合国家标准。所采用的操作规程是否适合所检验的物料的各分析元素的需要,直接决定着检验结果的准确与否,对分析结果的准确性起到了至关重要的决定性作用,那么,必须要选择适合各分析项目的操作规程,才能保证检验数据的准确性。目前,在我们质检中心各化验室所采用的各种分析方法基本都是依据《龙宇煤化工分析操作规程》中所包含的操作规程来执行,此规程是由质量检验相关工程技术人员依据国家标准相关内容及结合煤化工所检验各种物料工作需要而编写,基本能够满足检验工作需要。但是,随着国家标准的不断更新,检验方法的逐步成熟,《煤化工检验试验操作规程》中所涉及的一些原有的检验方法已不适合检验工作需要,已被新的分析方法所取代,在这种情况下,修订和完善检验试验操作规程就显得尤为重要,我们质检中心技术科相关技术人员,会同从事各检验项目相关工作人员,对检验试验规程进行了重新修订和完善,力求跟上检验方法发展步伐,满足检验工作需要,现在检验所采用的分析方法,全部参照国标中相关内容执行,这样就消除了由于方法不完善所产生的检验数据的误差,充分保证了各种物料检验数据的准确性,为其他相关生产单位提供准确可靠的质量情况参考信息。 第二,检验所用各种材料及设备是否符合使用要求。在化学分析中,要用到标准样品、化学药品、玻璃仪器、量器具以及相关的各种设备,那么这些材料及设备是否满足检验工作需要,直接决定了检验数据的准确性。在所使用的化学药品方面,由于不同厂家所生产的药品质量水平不一致或同一厂家所生产的不同批次的药品的质量水平有差别,就拿酸类而言,分为优级纯、分析纯、化学纯等几种,不同的分析方法对使用药品的纯度等级要求不一致,如果药品的纯度达不到要求,可能就会导致同一试样的分析结果的重现性出现偏差,只有保证化学药品质量满足检验需求,才能使分析过程中所得出的检验数据准确,保证所分析试样的结果及时报出,为其他相关生产环节提供有效的指导作用;在玻璃仪器方面,烧杯、量筒、锥形瓶、容量瓶等,质量是否符合检验要求,对检验结果的准确性也存在一定的影响,如果平行使用的一批玻璃仪器的精确度不一致或不同厂家生产的玻璃仪器质量水平不一致,对所计算出的结果就会产生一定的误差,因此,保证检验量器具符合使用要求,就能使检验数据准确性得到保证;在使用的设备方面,马弗炉、天平、分光光度计等,设备是否满足检验工作需要,对检验结果的准确性也存在一定的影响。定期对检验所使用各种设备进行检定,保证设备能够正常运行,满足检验工作需要,这样就能使检验数据的准确性得到保证。满足以上几方面要求,就能消除分析过程中所产生的系统误差,保证检验结果的准确。 第三,从业人员素质是否满足工作需求。由于目前检验系统从业人员素质参差不齐,在检验过程中,对检验操作规程的理解程度可能不一致,同时,由于原有的培训上岗制度基本为有经验的化验人员来带新上岗的员工,没有接受过正规的理论知识及实际操作方面的培训,对检验过程中的一些操作方法掌握的不好,不能熟练掌握整个分析步骤,这样对检验数据的准确性就会产生一定的影响。现在,质检中心开展了学习年活动,定期组织员工开展业务知识等相关内容的培训工作,大大提高了各岗位从业人员的业务素质和技术水平,同时,每半年进行一次操作技能考试,对员工的技术水平的提高也起到了积极的促进作用,使相关岗位人员的技术水平适合本岗位检验工作需要,这样就保证了检验过程中操作规程的彻底贯彻执行,完全按照标准化操作方法开展各项质检工作,为提供准确可靠的检验质量信息奠定了坚实的基础。 第四,检验环境是否符合检验工作需要。在检验分析过程中,环境是否满足检验要求,对化验所得的检验数据的准确性也存在一定的影响。如标准溶液要在室温下进行保存,才能保证浓度在一定时间内保持一致,若是存放标准溶液的操作室内温度过高或过低都会使溶液的浓度发生一些变化,这样检验所得的数据就会受到一定的影响,检验数据的准确性可能就无法得到保证,因此,保证检验环境满足工作需要,就会消除所产生的系统误差,保证检验所得数据准确无误。 吴接着说:巧星刚针对化学分析方法做了讨论,那我就从仪器分析方面说一下一些提高准确性的问题,具体我认为有以下几个方面。 第一,仪器本身的性能。仪器稳定运行是保证数据准确可靠的一个必备前提条件,仪器在安装调试过程中,根据检验工作需要,工程师用生产过程中的检验物料进行绘制标准曲线,曲线的准确与否直接关系到检验数据的准确性,因此,要定期检查曲线是否漂移,如瓶装标气就是用来衡量色谱曲线准确与否的重要参考依据。 第二,仪器日常维护是否到位。在仪器的日常使用过程中,由于所分析样品不一致,曲线可能会发生平移或转动,因此,要定期对仪器的曲线进行校正,同时,仪器内部的一些元件及常用的一些备件可能由于长时间运行需要更换与修复,如色谱分析仪的进样口部位,在分析试样的过程中,由于隔垫的的破损或松动,使仪器的出峰时间发生变化,只有对隔垫进行更换或者旋紧进样口螺母等,才能使仪器正常运行。 第三,环境因素是否满足仪器运行要求。 第四,样品制备要满足检验需要。 第五,从事仪器分析工作人员对仪器分析方法掌握情况。如果从业人员对仪器分析技术规程掌握的不好,不能使仪器分析过程按照标准进行,可能对检验数据准确性造成一定的影响,因此,要对从事仪器分析人员进行系统的培训,让他们完全掌握仪器分析方法,才能保证仪器分析结果的准确性。 今天的讨论是丰富的,通过这次讨论我相信大家对准确分析有了更深刻的了解,希望大家能通过本次讨论认真思考,共同进步,为以后的准确分析,精确分析打下良好的基础。 参考技术A 数据的准确性无非就是两个方面:1、数据源本身准确无误;2、使用数据源的逻辑准确无误
1、对于数据源本身质量,由于数据分析师接触到的数据基本上是经过了数据清洗、数仓建模之后的数据,换言之,已经是加工后的数据,已经处于数据链的下游,所以数据准确性更多的是数仓层面保证,数据分析师要做的就是根据自己的业务sense对数据做核验,发现数据中是否有异常数据
2、对于计算逻辑,还可以分为数据表逻辑和清洗规则了解,以及自己算的指标准确性,具体来说:1)要清楚所用数据表的逻辑和清洗规则,保证取了对的数据;2)要保证自己的计算逻辑无误,比如数据是否可累加,保证自己算对了指标。

7, java数据结构和算法: 八皇后问题分析和实现 , 递归回溯

什么是八皇后问题: 指的是,在一个8 * 8的棋盘中, 放置8个棋子, 保证这8个棋子相互之间, 不在同一行,同一列,同一斜线, 共有多少种摆法?
游戏连接: http://www.4399.com/flash/42643.htm#search3
直接上代码:

public class QueueLv8 {
    int maxSize =8;
    int[] array = new int[maxSize];
    static int count = 0;//正解次数
    static int okCount = 0;//判断次数

    public static void main(String[] args){
        //8皇后问题: 指的是,在一个8 * 8的棋盘中, 放置8个棋子, 保证这8个棋子相互之间, 不在同一行,同一列,同一斜线, 共有多少种摆法? 共有92种摆法

        //8皇后问题,  这里使用递归实现, 体现了回溯思想.
        //这里使用一维数组来实现,比如: int[8] = {0,4,7,5,2,6,1,3} ,表示:第i+1个皇后,放在棋盘的第i+1行,第 int[i]+1 列.  这里很重要,理解了这里,就能理解后面的算法
        // 第1个皇后 放在 第1行 第1列.   第二个皇后放在第2行第5列,  第三个皇后放在第三行第8列......

        /**
         * 实现思路:
         * 1: 先将第一个皇后 放在第一行第一列的位置上
         * 2: 再将第二个皇后 放在第二行的第一列位置上, 判断是否满足规则, 如果不满足, 将该皇后放到 第二行第二列位置上,判断是否满足规则, 依次将这个皇后放到第3列, 第四列,,,,第8列位置上,直到找到一个合适位置
         * 3: 再将第三个皇后 放到第三行的 第一列,,第二列,第三列,,,直到找到合适位置
         * 4: 直到将第8个皇后, 放到第8行的合适位置上,后,  此时算是找到一个正确的解.
         * 5: 当得到一个正确解时候,开始回溯,回退到上一行,将该行皇后位置向后一列移动,判断是否满足规则,,,, 最终回溯到第一行,将第一列位置时的全部正确解都拿到,然后第一行第一列该皇后位置,变为第二列,第三列,,,第8列, 此时得到所有的正确解
         */

        QueueLv8 queue8 = new QueueLv8();
        queue8.getQueue8Res(0);
        System.out.printf("8皇后总共有%d种摆法\\n",count);
        System.out.printf("总共判断次数为:%d",okCount);
    }

    //写一个方法, 用来放置第 n 个皇后
    public void getQueue8Res(int n){//n表示第n个皇后,也表示第n行, 为0时表示,放置第一个皇后,在第一行,第一列上,  为1表示,放在第二行,第一列上
        //是否已完成
        if(n == maxSize){//当为8 时, 说明要放置第9个皇后了,已结束
            print();
            return;
        }

        //一进来这里是 0-8的循环,就说明,每个棋子,都要从第1列到第8列移动,从而找到合适位置
        for (int i = 0; i < 8; i++) {
            //先将这个皇后放在第1列上
            array[n] = i;
            //判断是否符合规则
            if(IsOk(n)){
                //为true 表示 符合规则, 不在同一行,同一列,同一斜线
                getQueue8Res(n+1);
            }
            //如果不符合规则,在同一行,或同一列,或同一斜线, 此时i++, 表示将该皇后放到下一列,再判断是否符合规则
        }

    }

    //判断是否满足规则, 其实就是判断 这个棋子,和之前的棋子,是否同一行,同一列,是否同一斜线
    public boolean IsOk(int n){//n 表示第n个皇后, 同时n 也表示了行数,n始终在变,所以不用判断是否在同一行
        okCount++;
        for (int i = 0; i < n; i++) {
            //判断是否在 同一列, array[n] == array[i] 这个代码表示, 在这个皇后和 之前的0到n-1个皇后中有一个是在同一列,  比如int[8] = {0,4,0,5,2,6,1,3} ,第3个皇后和 第1个皇后就在同一列, n=2, i=0  array[n] == array[i]
            //判断是否在 同一斜线,  Math.abs(n-i) == Math.abs(array[n] - array[i]) ,这行代码表示,这个皇后和 之前的之前的0到n-1个皇后中有一个是在同一斜线.  比如int[8] = {0,4,2,5,2,6,1,3} 第3个皇后和 第1个皇后就在同一斜线上, 此时 n = 2, i = 0 ,Math.abs(2-0) == Math.abs(array[2] - array[0]) 成立, 用的是绝对值,所以不管是正斜线,还是反斜线都是成立的, 还可以将他理解成 等边直角三角形的 二个边是相等的,所以在同一斜线上
            if(array[n] == array[i] || Math.abs(n-i) == Math.abs(array[n] - array[i])){
                return false;
            }
        }
        return true;
    }


    public void print(){
        count++;
        for (int i = 0; i < array.length; i++) {
            System.out.printf(array[i]+" ");
        }
        System.out.println();
    }
}

测试结果:





从这个结果是可以看出来 : 他是先找到 第一行第一列棋子所在位置的所有正解,之后, 再得到第2列,,,第三列,,第八列

以上是关于如何保证分析数据的准确性(八)的主要内容,如果未能解决你的问题,请参考以下文章

7, java数据结构和算法: 八皇后问题分析和实现 , 递归回溯

7, java数据结构和算法: 八皇后问题分析和实现 , 递归回溯

网站实战分析之“数据怎么分析”

需求分析

Python数据分析(八):农粮组织数据集探索性分析(EDA)

基于元数据的数据治理分析功能说明