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: emi...@lcano.com To: c...@qualityexcellence.es CC: j.para.fernan...@hotmail.com; r-help-es@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 <c...@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.fernan...@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: c...@qualityexcellence.es To: j.para.fernan...@hotmail.com CC: r-help-es@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.fernan...@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: c...@qualityexcellence.es To: j.para.fernan...@hotmail.com CC: r-help-es@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.fernan...@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: c...@qualityexcellence.es To: j.para.fernan...@hotmail.com CC: r-help-es@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 <c...@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.fernan...@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@r-project.org From: antonio.pun...@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.pun...@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.fernan...@hotmail.com To: gri...@yandex.com; r-help-es@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: gri...@yandex.com To: j.para.fernan...@hotmail.com; r-help-es@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.fernan...@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: gri...@yandex.com To: j.para.fernan...@hotmail.com CC: r-help-es@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.fernan...@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@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@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@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es