Measurement Uncertainty in R: the Metrology Package Stephen L R Ellison

Measurement Uncertainty in R: the Metrology Package Stephen L R Ellison

Measurement uncertainty in R: The metRology package Stephen L R Ellison Introduction • What is R? • What is the metRology package? • Functionality: What does it do? • Philosophy: Who owns it? • Location: Where is it? Eurachem MU workshop Nov 2019 1 What is … • R – “R is an integrated suite of software facilities for data manipulation, calculation and graphical display” • Free, open source package for statistical analysis and programming • Extensible via “packages” • The metRology package – An R package for statistics applied to metrology – metrology: The science of measurement Functionality: What does it do? “metRology provides classes and calculation and plotting functions for metrology applications, including measurement uncertainty estimation and inter-laboratory metrology comparison studies.” https://r-forge.r-project.org/projects/metrology/ 25 September 2017 • Measurement uncertainty estimation • Support for interlaboratory studies Eurachem MU workshop Nov 2019 2 metRology: Functions Application area Measurement Inter-laboratory Ancillary uncertainty study Functions Construct uncertainty Review data: budgets: kplot() w.s(), ptri() Algebraic, cplot() buildCor() Numerical: uncert() duewer.plot() buildCov() Monte Check data: Carlo: uncertMC( msd() ) Explore uncertainty Form estimates: budgets: mpaule() print(), plot() huber.estimate() drop1(), update() MM.estimate() contribs() labGRE() ... Measurement uncertainty 1. ISO Guide to the Expression of Uncertainty in Measurement – First-order error propagation from a ‘measurement model’ … y f (x1, x2 , xn ) 2 n y n n y y u(y) u(xi ) 2 cov(xi , x j ) i1 xi i 1 j i xi x j – Correlation allowed for Eurachem MU workshop Nov 2019 3 Uncertainty implementations in metRology y • Direct combination of contributions ui (y) u(xi ) xi • Algebraic differentiation of f(x1, ...) • Numerical differentiation – Kragten’s method u(xi )y xi f xi u(xi ) f xi – Symmetric finite difference y xi f xi xi f xi xi 2xi Uncertainty implementations in metRology 2. Monte Carlo (GUM Supplement 1) xi xj xk + + y = f (xi, x j, x k, . ) y u(y) Eurachem MU workshop Nov 2019 4 Examples expr <- expression(a+b*2+c*3+d/2) # a=1(0.1), b=3(0.3), c=2(0.2), d=11(1.1) u.expr<-uncert(expr, x, u, method="NUM") #Compare with default: uncert(u=c(0.1, 0.3, 0.2, 1.1), c=c(1.0, 2.0, 3.0, 0.5)) #... or with function method f <- function(a,b,c,d) a+b*2+c*3+d/2 u.fun<-uncert(f, x, u, method="NUM") #.. or with the formula method u.form<-uncert(~a+b*2+c*3+d/2, x, u, method="NUM") Examples (cont.) Uncertainty evaluation Call: uncert.expression(expr = expr, x = x, u = u, method = "NUM") Expression: a + b * 2 + c * 3 + d/2 Evaluation method: NUM y: 18.5 Uncertainty budget: u(y): 1.01612 x u c u.c a 1 0.1 1.0 0.10 b 3 0.3 2.0 0.60 c 2 0.2 3.0 0.60 d 11 1.1 0.5 0.55 Eurachem MU workshop Nov 2019 5 A more interesting Monte carlo case expr <- expression(a/(b-c)) x <- list(a=1, b=3, c=2) uExpression: <- lapply(x, a/(b function(x) - c) x/20) set.seed(403)y: 1 Evaluation method: MC Note the distribution u.invexpr<-u(y): 0.2187031 parameters Budget:uncertMC(expr, x, u, distrib=rep("norm", 3), B=999, x u c u.c distrib distrib.pars keep.x=TRUEMonte Carlo ) evaluation using 999 replicates: a 1 0.05 1.025770 0.0512885 norm mean=1, sd=0.05 u.invexpry: These are b 3 0.15 -1.099368 -0.1649052 norm ESTIMATEDmean=3, sd=0.15 Min. 1st Qu. Median Mean 3rd Qu. Max. c 2 0.10 1.081860 0.1081860 norm mean=2,LINEAR sd=0.1 0.6047 0.8845 1.0020 1.0410 1.1630coefficients 1.9540 A more interesting Monte carlo case > par(mfrow=c(2,2)) > plot(u.invexpr, which=1:4, pch=20, method="k") # method="k" gives Kendall correlation HistogramDensity KendallQ-Q Correlation plot x-y Density Frequency TheoreticalQuantiles -3 -2 -1 0 1 2 3 0 50 100 150 200 0.0 0.5 1.0 1.5 2.0 -0.6 -0.4 -0.2 0.0 0.2 0.60.5 0.8 1.0 1.0 1.2 1.4 1.5 1.6 1.8 2.0 2.0 0.6 0.8a 1.0 1.2 b 1.4 1.6 c1.8 2.0 N = 999 Bandwidthu.invexpr$y = 0.04697 Sample Quantiles Eurachem MU workshop Nov 2019 6 Other MU diagnostics and utilities #An example with correlation > u.cor<-diag(1,4) Builds a > u.cor[3,4]<-u.cor[4,3]<-0.5 correlation matrix > u.formc<-uncert(~a+b*2+c*3+d/2, x, u, method="NUM", + #Which uncertainties cor=u.cor) matter most? Runs uncert() > > u.formcpar(mfrow=c(2,2) Plots for exploring > plot(u.formc) uncertainty budgets Other MU diagnostics and utilities: plot.uncert Significant covariance Sum of all relevant included automatically covariance terms Eurachem MU workshop Nov 2019 7 Other MU diagnostics and utilities #An example with correlation > u.cor<-diag(1,4) > u.cor[3,4]<-u.cor[4,3]<-0.5 > u.formc<-uncert(~a+b*2+c*3+d/2, x, u, method="NUM", + #Which uncertainties cor=u.cor) matter most? > > u.formcpar(mfrow=c(2,2) > plot(u.formc) #What happens if we reduce one uncertainty? Drop each > barplot( drop1(u.formc) ) term successively Other MU diagnostics and utilities: drop1 % Change in combined uncertainty 0 -5 -10 -15 -20 -25 a b c d Eurachem MU workshop Nov 2019 8 Other MU diagnostics and utilities • update – Modifies uncertainty budgets (for example, changing an individual uncertainty or the method of evaluation) • w.s, welch.satterthwaite – Welch-Satterthwaite effective degrees of freedom • buildCov, buildCor – simplifies assembly of correlation or covariance matrices by taking a short list of labelled off-diagonal terms Philosophy: Who owns metRology? • metRology is an open source project • No single ‘owner’ • Contributions invited • Licence is GPL – Copyright is held by code contributor – Contribution is conditional on granting full permissions under the GPL: • right to distribute and modify under the same terms Eurachem MU workshop Nov 2019 9 Location: Where is metRology? • CRAN: install.packages(“metRology”) • R-Forge: metRology https://r-forge.r-project.org/projects/metrology/ • Code access via SubVersion (svn) – Tortoise SVN for Windows Acknowledgements • NIST Statistical Engineering Division – Support and code contribution Eurachem MU workshop Nov 2019 10.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    10 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us