Documentos de Académico
Documentos de Profesional
Documentos de Cultura
9:19
ISO 13528 evalúa estadísticamente. El único software que tiene todos los análisis de esta norma
es R. El único que permite analizar con menos de 12 es el software R. Esta norma promueve el
criterio experto.
Ir a rstudio
File
New proyect
Nuevo directorio
Nuevo proyecto
Nombre proyecto
Crear
Debo crear un archivo excel en el directorio que cree (en escritorio)
Para asignar un valor a una variable, basta <-
X<-5 significa que x vale 5
# es para escribir comentarios
Hay que crear un script, para crear la rutina, si dejo todo en R, al cerrar R se pierden los datos, por
eso hay que crear Rscript que será un archivo recuperable.
Ir a file, new file, rscript y luego guardar (debe quedar un archivo con extensión R)
Una función quedaría nombre_función(argumento 1, argumento 2)
Por ejemplo:
Round (x, digits)
Donde x es vector de datos y digits es el número de decimales que se redondea el vector
En el script debo seleccionar la linea que ejecutaré y luego presionar RUN, sólo así se ejecutará
Si quiero guardar el valor obtenido en una variable, debo asignarle valor, por ejemplo:
Y<-round(x,digits=2)
Concatenación c()
concentracion <-(0,10,20,30,40,50)
Concentracion (al escribir esto la muestra)
El resultado es 0 10 20 30 40 50 (coloca los valores cada uno en una columna
También puedo guardar texto con ""
Para calcular la media y la desviación estandar de un vector, basta:
X<-c(1,2,3,4) a x le asigné todos los datos 1, 2, 3, 4
Luego mean(x)
Sd(x)
Ahora instalaremos paquetes de aplicaciones, por ejemplo, instalaremos un paquete para detectar
valores anómalos; outliers
Install.packages('outliers') con esto se instalará el paquete outliers.
La herramienta de outliers que usaremos es dixon.test y en nuestro caso, para EA, basta
dixon.test(x)
Para cargar la herramienta outliers, debo escribir:
library(outliers)
Como es valor p-value es mucho menor que 0,05, implica que debería ser un valor anómalo. No se
debería eliminar el dato supuestamente errado, no debo eliminarlo de la evaluación, porque estoy
usando estadístico robusto, no promedio; si usara promedio, me hace pedazos el resultado,
porque lo corre. Este es un valor aberrante (blunder), 28,95 no debe usarse para el análisis
estadístico, pero sí debe evaluarse.
El promedio es el que tiene menor varianza, con el se comparan todos los estimadores.
Rnorm trabaja considerando que todos los datos son correctos. Si el resultado es NO (que no son
normales), no puedo usar promedio porque los datos no son normales y debo recurrir a
algoritmos robustos. De hecho, no existen datos normales en la realidad, por lo que basta que
sean simétricos.
La estadística robusta no elimina los datos, salvo los blunders, sino que los acomoda y da menos
pesos a los más alejados.
El promedio es el valor que minimiza la expresión
minμ∑(xi−μ)2
Boxplot marcará los datos anómalos como círculos, no deberían eliminarse a primera vista.
Plot(density(X)) dibujará los datos simulando una distribución normal.
Para usar promedio, en boxplot la linea negra debe estar al centro y los bigotes deben ser
simétricos, por lo que no puedo usar promedio:
Luego, el gráfico plot density, muestra claramente que no hay una distribución normal, por lo que
tampoco puedo usar el promedio.
En plot está la opción de save as image
Actualmente se estan realizando las presentación en formato de página web, no como ppt.
Otro gráfico util es
stripchart(x, method = 'stack')
El p-value me da 0,6671 que es mayor a 0.5, lo que supondría normalidad, pero hay que analizar
junto al qqplot, que no muestra normalidad. También hay tres datos que concentran y definen la
tendencia, todo lo anterior me obliga a aplicar estadística robusta.
Si el 50% o más de los datos son iguales, entonces elMADe=0MAD =0. En ese
caso, use nIQR, calcule la s sin outliers o use estimadores Q/Qn
Eso no puede ser, significa que todos los datos se concentraron. Si el MADe es cero, no es bueno,
no hay dispersión.
algA(Pb$x)
$mu
[1] 2.99
$s
[1] 0.113122
Entrega el valor de referencia y la desviación estandar de todos los labs. En el peor de los casos, la
puedo usar como sigma.
Si tengo muchos mensurando puedo hacer un análisis de precisión de todos los labs.
Si quiero comparar entre labs, uso gráfico. Si color es blanco, son compatibles:
Los labs que están en el centro del primer círculo tienen buena precisión y buena dispersión:
Otro gráfico que compara muestra 1 con muestra 2; los buenos labs permanecen dentro de la
elipsoide:
Corramos el algoritmo A:
El preferido por la Norma 13528 es:
Método Q/Hampel
Ventajas:
Alta eficiencia (96 % bajo normalidad)
Alto punto de quiebre (breakpoint 50 %)
Desventaja:
El algoritmo propuesto en ISO 13528 puede que no tenga solución única. Como criterio de
solución óptima se compara con la mediana
Pero no tiene una librería, pero alguien hizo su script. Para cargarlo se escribe
Source('Qhampel.r')
Para justificar su uso en el informe, basta decir que se realizó según el punto x de la norma 13528.
La norma ISO 13528 dice que cuando son pocos datos, lo ideal es asignar el valor de referencia,
pero cuando sólo se necesita analizar la dispersión, se puede ir a la referencia (27) asociada al
análisis de muestras muy pequeñas. Donde se usa el algoritmo B. (Para 3, 4 datos sólo para la
dispersión, no para estimar el valor asignado). El package se llama revss.
Instalarlo:
Calculo Robloc y RobScale (desviación), pero el que sirve realmente es RobScale. Sólo ocuparé
algoritmo B para muestras muy pequeñas, menores a 12, ideal para casos de 3 y 4 datos, pero
donde calcularé sólo desviación estandar.
Para el criterio experto, no tiene mucho sentido analizar estadísticamente con pocos datos,
porque matemáticamente cumplirá, pero los pocos datos aumentarán la incertidumbre
estadística, disminuyendo zscore, permitiendo que todos cumplan.
La ISO 13528 demuestra que no existe un método estadístico ideal para todos los casos.
Revisar tablas D.1 y D.2 para escoger el mejor método estadístico, con más de 12 datos, voy
seguro con Hampel.
En este ejemplo cada columna es un laboratorio y cada fila es un ensayo. Si aplico Hampel, debo
aplicarlo a cada fila, para poder comparar.
Library(metRology)
x.A <- numeric(m)
for(i in1:m){x.A[i] <- algA(sim[i, ])$mu}
ARE <- var.promedio/var(x.A)*100
ARE
[1] 3050.593
Comencemos el análisis:
El test de shapiro dice que puede haber normalidad, pero el gráfico muestra colusión:
La norma me sugiere calcular:
Evaluación del valor asignado y su incertidumbre
Valor asignado por consenso:
promedio <- mean(datos.ronda$DENSIDAD_REAL_ARIDO_SATURADO)
mediana <- median(datos.ronda$DENSIDAD_REAL_ARIDO_SATURADO)
algA.mu <- algA(datos.ronda$DENSIDAD_REAL_ARIDO_SATURADO)$mu
QHampel.mu <- QHampel(datos.ronda$DENSIDAD_REAL_ARIDO_SATURADO,
1:length(datos.ronda$DENSIDAD_REAL_ARIDO_SATURADO))$x.star
s <- sd(datos.ronda$DENSIDAD_REAL_ARIDO_SATURADO)
s.mad <- mad(datos.ronda$DENSIDAD_REAL_ARIDO_SATURADO)
algA.s <- algA(datos.ronda$DENSIDAD_REAL_ARIDO_SATURADO)$s
nIQR <- 0.7413*IQR(datos.ronda$DENSIDAD_REAL_ARIDO_SATURADO)
QHampel.s <- QHampel(datos.ronda$DENSIDAD_REAL_ARIDO_SATURADO,
1:length(datos.ronda$DENSIDAD_REAL_ARIDO_SATURADO))$s.star
Qn.s <- Qn(datos.ronda$DENSIDAD_REAL_ARIDO_SATURADO)
algB.s <- robScale(datos.ronda$DENSIDAD_REAL_ARIDO_SATURADO)
Desde <https://usach-taller-2023.netlify.app/#171>
Trabajar en qmd
Html cambia el formato del informe, por ejemplo, docx y lo entregará en word.
Luego guardar.
Render, se presiona al final.
En la página quarto.org están todas las opciones para automatizar el informe.