Giter Site home page Giter Site logo

ssfccs's Introduction

这个程序有两个功能,一个是仿真现有的GBJ107-87、GB/T50107-2010和TB10425-94三个标准,分析它们的利弊得失。 另一个功能则是搜索可能的抽样方法的参数。 一、仿真 在仿真过程中,我们根据标准要求,综合选择了: 强度等级:[25, 35, 45, 55, 65] 样品数量:[4, 8, 12, 18, 30, 50] 总体方差:[3.5, 4.5, 5.5, 7.5, 9.5] 总体合格率:[0.99, 0.98, 0.97, 0.96, 0.95, 0.94, 0.93, 0.92, 0.91, 0.9, 0.8, 0.50, 0.2] 针对这些参数的每一个组合,我们都分别生成相应合格率条件下的正态分布数据,分别求这些仿真数据的平均值、标准差和最小值,并根据相应标准要求做验收计算。这种验收过程重复ECHO = 10000次,可以得到相应接收概率。每一次生成的数据都同时用于三个标准的验收计算,以便做更精确的比较。所有仿真结果分别写入old_gbj.csv、new_gbj.csv和tb.csv文件中。可以使用各种电子表格软件分别打开它们,并相应地绘图,可以对三个标准做出相应的判别。 二、搜索参数组合 因为小样本(或非统计)方法对于生产方法是不利的,它更容易将合格品判定为不合格品,易犯第一类错误,所以,在搜索中,不考虑小样本方法的搜索。而铁路工程的特点在于流动性大,所以,在统计方法中,方差已知的情况很少,往往是方差未知。而现实中,各项工程的混凝土验收中,有意识地多做一些试件,即样本数量稍稍大一些,是完全可以做的。所以,我们主要关注统计方法中标准差未知的方法。 各项标准中,标准差未知的统计方法中,验收判据有两项,第二项往往是对样本中最小值的限制,它最终会减小接收概率。它对第一项判据不会产生影响。所以,在搜索时,我们只考虑判据一。 第一项判据,我们可以写成通用形式:

    mean >= lambda1*fcuk + lambda2*std

由于计算的样本分布参数不完全等同于总体分布参数,所以使用样本分布参数来判断总体参数,总会犯两类错误。即将合格品作为不合格品加以拒收,这是第一类错误;第二类是将不合格品当合格品接收,这即是第二类错误。 我们还知道,好的验收方法就是要确定lambda1和lambda2,使得在合格率大于等于95%时(不合格率小于等于5%)时,接收概率为95%,即要求以高的接收概率接收样本所代表的总体,尽可能避免犯第一类错误;而在合格率小于20%时,以高的概率拒收(接收概率小于20%)样本所代表的总体,尽可能地避免犯第二类错误。这样当合格率小于95%后,接收概率会急剧降低,保证拒收样本所代表的总体,避免犯第二类错误,即将不全格品当成合格品接收。 由于样本数量大,则std相应会增大,所以样本的数量会影响验收结果,因此,选择lambda1和lambad2需要适当考虑样本数量的问题。因此,我们的搜索空间由样本数量、lambda1和lambda2的组合组成。它们的选择范围是:

样品数量:[4, 8, 12, 18, 30, 50] lambdas1 np.arange(0.5, 2.5, 0.05) lambdas2 np.arange(0.7, 2.0, 0.05) 三者的每一个取值组成的组合是我们的一个候选方案。 总体分布的参数对于lambda1和lambda2没有影响,我们任意选择即可。程序中,选择总体fcuk = 40, 方差sigma = 6.0。 在这些前提下,针对一个候选方案,我们在合格率分别是95%和80%时做一万次仿真验收,以便确定在这两个临界合格率处的接收概率。并根据前面的分析,确定方案是否可行。 然后,针对可行的备选方案中,我们针对前述的总体合格率做全仿真,以便作进一步的判断。全仿真的结果存放在found_result.csv中,也可以利用电子表格的软件查看分析。

程序的主要模块是concrete_accepted_standard.py,它有三个可选参数,分别是:valid、find和result_dir。前两个是bool值类型,分别指示程序做验证标准运行和搜索参数运行,默认值为False,表示不运行相应功能。result_dir是存放结果数据的目录。在windows下,默认为c://tmp/data/ 在命令行中可按常规方式执行。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.