[R-es] Tiempo de vida

Jesús Para Fernández j.para.fernandez en hotmail.com
Vie Dic 11 01:16:47 CET 2015


Un placer leer la solución aportada por Carlos. Tb he creado una tabla de frecuencias para valorar los riesgos que se corren, pues mucha sveces podemos asumir riesgos de un 10% o un 15% dependiendo de la pieza...

Respecto al libro de Emilio, ya lo tenía en mi poder. Merece la pena la reflexión sobre si el 6sigma tuvo mucho de moda o no, pues no dejaba de ser un PDCA pero añadiendo al potencia de la estadística. Yo me quedo con eso. 

Gracias por todo chicos!!!
Jesús

Date: Fri, 11 Dec 2015 00:13:36 +0100
Subject: Re: [R-es] Tiempo de vida
From: emilio en lcano.com
To: cof en qualityexcellence.es
CC: j.para.fernandez en hotmail.com; r-help-es en r-project.org

Hola, 
Genial la respuesta de Carlos, "as usual"...
... y ¡Gracias por la cita! Aprovecho para decir que se acaba de publicar nuestro nuevo libro (Quality Control with R: An ISO Standards Approach), donde el tema de los gráficos de control lo tratamos un poco más extensamente que en el de Six Sigma:
http://www.amazon.es/dp/3319240447/ref=wl_it_dp_o_pC_nS_ttl?_encoding=UTF8&colid=2XED50UJY9ZK0&coliid=I2K9YJO7VX859P

Saludos a toda la lista,
Emilio

Dr. Emilio López CanoData Scientist
Mobile: +34 665 676 225
skype: emilopezcano
twitter: @emilopezcano
http://emilio.lcano.com
Affiliations / Collaborations:Rey Juan Carlos UniversityUniversity of Castilla-La ManchaComunidad R-HispanoAEC - AENOR - SKITES - talentyon


El 10 de diciembre de 2015, 23:52, Carlos Ortega <cof en qualityexcellence.es> escribió:
Hola,

OK. Gracias.

Pues para empezar, haría un gráfico de control.

Que aunque inventados en el siglo pasado, brillan por su ausencia en las PYMES españolas, cuando siendo rigurosos en su uso, seguimiento, etc, ofrecen casi una garantía de éxito en la mejora de la calidad de un proceso industrial. "Caballo ganador" sin duda.

Utilizando la referencia como un grupo de muestreo (adjunto tu Excel en .csv). 
Puedes hacer esto:

#----------------------------------
datIn <- read.table("pedido.csv",header=TRUE, as.is=TRUE, sep=";", dec=",")
#datIn$Qty <- as.numeric(datIn$Qty)
datIn$newdipe <- ifelse(datIn$dipean==0,NA,datIn$dipean)
datIn$qtydi <- datIn$Qty/datIn$newdipe
datIn$sample <- datIn$Ref

library(qicharts)
qic(datIn$qtydi, x=datIn$Ref, chart="xbar" , main="Avg Pedido per day", xlab="Group", ylab="Qty")
#----------------------------------

Es un gráfico "Media-Sigma" que es el que se suele utiizar para datos continuos agrupados como los que tienes. Y lo que represento es la variable "Pedido/Días". 

Verás que el límite de control (CL) es de 0.51 y el límie de control superior (UCL) es de 4.6. 
Es decir, debieras de pedir 4.6 cuchillas al día para estar casi seguro de no romper el stock. Con este límite, ves que en tu histórico tan sólo hay un punto fuera de control. A partir de este valor, puedes ir a valores más pequeños, asumiendo cada vez mayor riesgo.

Como prácticas adicionales:
 iría generando este gráfico de forma regular y lo monitorizaríaMonitorizaría por separado varios tipos de cuchilla, el criterio de monitorización que utilizaría sería el económico: las más caras, o en las que más gastas por volumen de cambio.Y comenzaría a recopilar más información asociada a las cuchillas: cantidad de producto que procesan/cortan, momento en el que se cambian para con el tiempo, empezar a analizar la fiabilidad de los diferentes lotes de cuchillas...
Y ya puestos, me leería y tendría muy a mano el libro de Emilio:

http://www.amazon.es/Six-SIGMA-Statistical-Engineering-Improvement/dp/B013ILHXN4/ref=sr_1_1?s=books&ie=UTF8&qid=1449787862&sr=1-1&keywords=six+sigma+R+cano

Saludos,
Carlos Ortega
www.qualityexcellence.es


El 10 de diciembre de 2015, 23:23, Jesús Para Fernández <j.para.fernandez en hotmail.com> escribió:



La referencia de las cuchillas, no son todas la misma 

Date: Thu, 10 Dec 2015 22:04:24 +0100
Subject: Re: [R-es] Tiempo de vida
From: cof en qualityexcellence.es
To: j.para.fernandez en hotmail.com
CC: r-help-es en r-project.org

Gracias.

¿Y qué es "Referencia"?...

Gracias,
Carlos Ortega
www.qualityexcellence.es

El 10 de diciembre de 2015, 21:48, Jesús Para Fernández <j.para.fernandez en hotmail.com> escribió:



Buenas, os adjunto el documento, en u nexcel.

Está estructurado de la siguiente manera:
Referencia, Días desde pedido anterior, Unidades pedidas, Diasdesde pedido anterior promedio

Dias de pedido anterior promedio no es más que dias desde pedido anterior / Unidades pedidas. 

Codifico las variables, para trabjaar en R de manera cómoda como:
Ref,dias.pedido,unidades,dias.prom

y lo meto en undata.frame que llamaré datos

Con ello y en R, creo los histogramas

histograma<-tapply(datos$dias.prom,datos$Ref,hist)

esto me crea los 392 histogramas, pero me los crea como listas, asi que me resulta luego imposible graficarlos...

Por otra parte tb creo un nuevo dataframe, con los cuantiles:
cuartil<-tapply(datos$dias.prom,datos$Ref,quantile)


dataframe<-as.data.frame(t(data.frame(cuartil[[1]])))
nuevo<-as.data.frame(t(data.frame(cuartil[[1]])))

for(i in 2:392){

dataframe<-as.data.frame(t(data.frame(cuartil[[i]])))
nuevo<-rbind(nuevo,dataframe)
}

Con esto tengo uan lista donde puedo ver para los cuartiles como están disttribuidos los datos. 

Se os ocurre algo mejor??


Date: Thu, 10 Dec 2015 20:38:32 +0100
Subject: Re: [R-es] Tiempo de vida
From: cof en qualityexcellence.es
To: j.para.fernandez en hotmail.com
CC: r-help-es en r-project.org

Hola,

Puedes adjuntar una parte o el conjunto "datos". Ahora no sé si los datos que quieres representar tienen que ver con el conjunto que nos comentabas de las cuchillas. ¿Hay diferentes tipos de cuchillas?... En cuanto al consumo, ¿calculaste el MTTR?...

Y por otro lado, respondiendo a la pregunta que planteas, si ves la ayuda de "hist()" verás que lo que acepta esta función, sólo acepta un vector como parámetro de entrada, no una lista.


Saludos,
Carlos Ortega
www.quallityexcellence.es



El 10 de diciembre de 2015, 19:04, Jesús Para Fernández <j.para.fernandez en hotmail.com> escribió:



Buenas

He creado los histogramas, y los he guardado en función de la referneica en una variable:

histograma<-tapply(datos$consumo,datos$Material,function(x)hist(x,col=8)

Pero ahora la variable histograma como array, donde estan las 300 referencias. 

Si entor en una, por ejemplo, histograma[1], veo como es un tipo list con los siguientes campos:

$breaks
[1] 0.0 0.2 0.4 0.6 0.8 1.0

$counts
[1] 18  2  0  0  1

$density
[1] 4.2857143 0.4761905 0.0000000 0.0000000 0.2380952

$mids
[1] 0.1 0.3 0.5 0.7 0.9

$xname
[1] "X[[i]]"

$equidist
[1] TRUE

attr(,"class")
[1] "histogram"


Con esta información, cómo podría crear el histograma para esta referencia o la que elija????

Yo pensaba que iba a quedar los datos de tal manera que con poner:

hist(histograma[1]) me haría el histograma. 

Gracias
Jesús




Date: Thu, 10 Dec 2015 16:29:11 +0100
Subject: Re: [R-es] Tiempo de vida
From: cof en qualityexcellence.es
To: j.para.fernandez en hotmail.com
CC: r-help-es en r-project.org

Hola,

Lo tenía en mente, pero no me acordaba del nombre de la autora y el libro no lo tenía a mano...
Esta referencia es de lo mejorcito que he visto/leído para la mejora de procesos industriales desde el punto de vista estadístico:

http://www.amazon.com/gp/product/0898713943?keywords=veronica%20czitrom&qid=1449761180&ref_=sr_1_1&s=books&sr=1-1

Saludos,
Carlos Ortega
www.qualityexcellence.es

El 10 de diciembre de 2015, 11:00, Carlos Ortega <cof en qualityexcellence.es> escribió:
Hola Jesús,

La respuesta, desde mi punto de vista, es un poco off-topic de lo que se trata en esta lista, pero comento como lo veo yo.

Con el nivel de detalle que tienes, puedes hacer varias cosas:
Simplemente mantén en tu almacén un número de cuchillas mayor que la última vez que tuviste que pedirlas con urgencia. En los entornos de Producción, efectivamente el que rompas el stock es una situación grave, porque paras la línea. Pero como bien, dices por otro lado no puedes mantener en tu almacén muchas cuchillas. Aunque también hay que comentar que en el análisis tendrías que meter el coste de reposición. No veo que las cuchillas sean un producto que se quede obsoleto, así que comprar un número mayor de "1" te sea hasta económicamente más rentable. Seguramente puedas negociar mejores precios comprando "10" que "1".Entonces por este lado, tener en tu almacén un número constante de "3". Y que ese sea tu punto de pedido no parece descabellado.
Otra forma de analizarlo teniendo en cuenta los datos que ya has acumulado es ver cuál es tu "MTTR" (Mean Time To Repair). Considera la rotura/desgaste de la cuchilla como una "reparación". Y con este concepto calcula el tiempo medio que pasa hasta que sustituyes una cuchilla. Esto lo puedes calcular con los datos que tienes, simplemente calculando las diferencias entre las fechas en las que cambias las cuchillas. De esta forma, obtendrás que si cambias cuchillas cada 2 semanas (en media), tendrás que tener en media, una cuchilla disponible en tu almacén. 
Claro, si te ajustas al valor medio, pierdes toda la información que te da el MTTR de su sigma. Al calcular el MTTR, representa esas diferencias en un histograma o simplemente calcula su sigma y tu stock óptimo (conservador) sería "Media + 3 Sigmas". Es una aproximación de tirar por la calle del medio (suponiendo una distribución normal de los datos de MTTR).En cualquier caso, cuando tengas los datos de MTTR, mira el histograma por si se puede hacer un análisis más fino.

Gracias,
Carlos Ortega
www.qualityexcellence.es

El 10 de diciembre de 2015, 9:57, Jesús Para Fernández <j.para.fernandez en hotmail.com> escribió:
Buenas Antonio,



No termino de entender lo que dices, la verdad.



Para ponernos en situación, lo que quiero es llegar al punto de pedido optimo, es decir, no desabastecer el almacen, pero tampcoo tener cuchillas para 100 años...



Por ello, a mi me llega cuando necesitan una cuchilla, entonces se le da salida en el almacen, pero esa cuchilla nunca retorna a nosotros, es colocada en la maquina y hasta que parta.



Es por eso por lo que habia pensado en un tiempoo de vida o en frecuencias. No me asusta meterme en "fregados" si la solución es robusta. Entiendo que el tema de frecuencias podría valer, ya que al final no es más que la frecuencia de pedido, pero lo que no me vale es usar medias, ya que la media de 0 y 2 es la misma que la de 1 y 1, pero las situaciones no tienen nada que ver. Pongo un ejemplo.



Si hoy me piden 1 y dentro de una semana me piden 1, entonces con tener 1 en el almacen me vale. La media de pedido sería 1 y el punto de pedido optimo seria 1.



Sin embargo, si esta seman me piden 0 y la semana siguiente me piden 2, el punto de pedido optimo es 2, aunque la media de consumo es 1...



Por eso habia pensado en tiempo de vida que creoq ue se puede ajustar mejor, pero no se como meter los datos para hacer correctamente el análisis.



To: r-help-es en r-project.org

From: antonio.punzon en st.ieo.es

Date: Thu, 10 Dec 2015 09:36:25 +0100

Subject: Re: [R-es] Tiempo de vida













    Si no tienes la fecha de venta o cuando se comenzó a usar lo tienes

    realmente difícil.



    Puedes hacer una aproximación si tuvieras cuantas se vendieron,

    identificando modas de venta y de devolución podrías estimar el

    tiempo de vida.



    Si solo tienes devolución puedes trabajar con modas/ frecuencias, el

    proceso es más complejo, bastante más. Sería algo parecido a

    averiguar la edad de un pez solo sabiendo cuando lo has cogido, sin

    saber fecha de nacimiento (pongo este ejemplo porque trabajo en

    biología marina). Y aunque no soy un experto en el tema (nada), el

    proceso de averiguar la "edad" es más complejo. Te diré que hay

    diversos métodos, y yo creo que el que más se ajusta sería con

    análisis de frecuencias. Pero no creo que te vayas a meter en ese

    "jardín"











    Pero, creo que estás haciendo mal la pregunta. Yo interpreto que lo

    que quieres saber es cuando debes hacer un pedid, para tener stock o

    previsiones de gasto. Esto solo depende de cuando se compraron. Pero

    esto te da lo mismo, incluso el tiempo de vida, ya que si es un

    producto estandarizado, será similar. Por lo tanto, solo tienes que

    hacer análisis de cuando te las traen de vuelta. Con cualquier

    análisis exploratorio por la unidad temporal que tu desees (Semana,

    mes, etc) te valdría. Por ejemplo unos boxplot







    El data frame sería muy simple







    kk<-

    data.frame(año=as.numeric(0),dia=as.numeric(0),mes=as.numeric(0))



    aquí meterías cada cuchilla que te devuelven



    o







    kk<-

data.frame(año=as.numeric(0),dia=as.numeric(0),mes=as.numeric(0),numero.cuchillas=as.numeric(0))



    aquí meterías el numero de cuchillas por día







    Del primero mediante un aggregate se obtiene el segundo







    Y después solo analizar







    Si los pedidos los hicieras por semanas, con la unión de los tres

    campos "dia, año, y me"s con la libreria "chron" los transformas en

    un campo fecha (as.Date), y con la misma librería puedes sacar la

    semana de forma numérica. De esta forma tendrías las cuchillas por

    semana







    Poco más se me ocurre







    Espero que te sirva







    Saludos







    __________________________________

Antonio Punzón Merino

Instituto Español de Oceanografía

CO Santander

Promontorio de San Martín s/n

PO BOX 240

39080-Santander (Spain)

Tel: +34 942 29 17 16 (Direct: 55)

Fax: +34 942 275 072

Email: antonio.punzon en st.ieo.es

Web: www.ieo.es

__________________________________



    El 10/12/2015 a las 9:05, Jesús Para

      Fernández escribió:







      Siento insistir en el tema, pero es de vital importancia.



Alguna idea???



Gracias

Jes�s



From: j.para.fernandez en hotmail.com

To: griera en yandex.com; r-help-es en r-project.org

Subject: RE: [R-es] Tiempo de vida

Date: Tue, 8 Dec 2015 09:18:11 +0100









Pero como har�a el data frame?? Porque las cuchillas son de la misma referencia. En realidad es para ver cada cuanto se gstan las cuchillas y ver que pedidos hay que hacer de las mismas.



La tabla que tengo es:



25 enero-> 1 cuchilla gastada

30 enero -> 1 cuchilla gastada

3 de febrero -> 2 cuchillas gastadas

5 de febrero -> 1 cuchilla gastada



Y as�....



No tiene necesariamente que ser gastada en la misma afeitadora, ya que hay 3 cortadoras y los datos de a que cortadora se cambian no son proporcionados y son imposibles de conseguir (ya que esa informaci�n es de un externo).



Gracias.

Jes�s







        Date: Mon, 7 Dec 2015 17:47:45 +0100

From: griera en yandex.com

To: j.para.fernandez en hotmail.com; r-help-es en r-project.org

Subject: Re: [R-es] Tiempo de vida



Hola:



On Mon, 7 Dec 2015 16:34:14 +0100

Jes�s Para Fern�ndez <j.para.fernandez en hotmail.com> wrote:







          Los datos no son de desgaste de cuchilla, sino de consumo de las mismas.



Por ello tengo los datos de la siguiente forma:



Unidades cambiadas    Fecha





En unidades cambiadas, suele ser una y en fecha el dia que se hizo el cmabio.





        No seria:



TIEMPO: Fecha que se coloca una cuchilla nueva hasta que se cambia.

ESTADO: Siempre 1 (siempre se cambia): no existen censuras.



y un registro para cada cuchilla.



Servir�a?



Saludos.







          Con eso no se muy bien como estructurar los datos para hacer el an�lisis.



Gracias

Jes�s











            Date: Mon, 7 Dec 2015 16:27:18 +0100

From: griera en yandex.com

To: j.para.fernandez en hotmail.com

CC: r-help-es en r-project.org

Subject: Re: [R-es] Tiempo de vida



Hola:



On Mon, 7 Dec 2015 15:12:24 +0100

Jes__s Para Fern__ndez <j.para.fernandez en hotmail.com> wrote:







              Buenas,



Como pudeo calcular el tiempo de vida? Os cuento, tengo una serie de cuchillas y quiero ver el consumo de las mismas y he pensado en hacer un estudio por tiempo de vida. No se como hacerlo con R





            Has una tabla de datos con 4 columnas:



1. Fecha que se empieza a utilizar la cuchilla

2. Fecha de la �ltima revisi�n de la cuchilla

3. TIEMPO: el tiempo transcurrido entre las dos fechas anteriores

4. ESTADO: estado de la cuchilla cuando se revis� la �ltima vez:

    0 = Buen estado

    1 = Para tirar



Y utiliza el m�todo kaplan-meier:



library(survival)

KM <- survfit(Surv(DATO$TIEMPO, DATOS$ESTADO) ~ 1)

summary(KM)

plot(KM)



Un ejemplo:







              library(survival)

AML.KM <- survfit(Surv(aml$time, aml$status) ~ 1)

summary(AML.KM)





            Call: survfit(formula = Surv(aml$time, aml$status) ~ 1)



 time n.risk n.event survival std.err lower 95% CI upper 95% CI

    5     23       2   0,9130  0,0588       0,8049        1,000

    8     21       2   0,8261  0,0790       0,6848        0,996

    9     19       1   0,7826  0,0860       0,6310        0,971

   12     18       1   0,7391  0,0916       0,5798        0,942

   13     17       1   0,6957  0,0959       0,5309        0,912

   18     14       1   0,6460  0,1011       0,4753        0,878

   23     13       2   0,5466  0,1073       0,3721        0,803

   27     11       1   0,4969  0,1084       0,3240        0,762

   30      9       1   0,4417  0,1095       0,2717        0,718

   31      8       1   0,3865  0,1089       0,2225        0,671

   33      7       1   0,3313  0,1064       0,1765        0,622

   34      6       1   0,2761  0,1020       0,1338        0,569

   43      5       1   0,2208  0,0954       0,0947        0,515

   45      4       1   0,1656  0,0860       0,0598        0,458

   48      2       1   0,0828  0,0727       0,0148        0,462





              plot(AML.KM)





            Dibuja la curva de supervivencia con el intervalo de confianza.



Espero que te sea �til.



Saludos.













              Gracias

Jes_s



        [[alternative HTML version deleted]]



















        [[alternative HTML version deleted]]















      _______________________________________________

R-help-es mailing list

R-help-es en r-project.org

https://stat.ethz.ch/mailman/listinfo/r-help-es















_______________________________________________

R-help-es mailing list

R-help-es en r-project.org

https://stat.ethz.ch/mailman/listinfo/r-help-es

        [[alternative HTML version deleted]]



_______________________________________________

R-help-es mailing list

R-help-es en r-project.org

https://stat.ethz.ch/mailman/listinfo/r-help-es

-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es



-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es
 		 	   		  


-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es
 		 	   		  


-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es

 		 	   		  


-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es


_______________________________________________

R-help-es mailing list

R-help-es en r-project.org

https://stat.ethz.ch/mailman/listinfo/r-help-es

 		 	   		  
	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es