U2A6: CADENAS DE MARKOV (MARKOV CHAINS)

-> Introducción a la relación entre eventos con análisis de cadenas de markov y análisis montecarlo

En la teoría de la probabilidad, un proceso estocástico es un concepto matemático que sirve para usar magnitudes aleatorias que varían con el tiempo o para caracterizar una sucesión de variables aleatorias (estocásticas) que evolucionan en función de otra variable, generalmente el tiempo. Cada una de las variables aleatorias del proceso tiene su propia función de distribución de probabilidad y pueden o no estar correlacionadas entre sí.

Cada variable o conjunto de variables sometidas a influencias o efectos aleatorios constituye un proceso estocástico. Un proceso estocástico xt puede entenderse como una familia uniparamétrica de variables aleatorias indexadas mediante el tiempo t. Los procesos estocásticos permiten tratar procesos dinámicos en los que hay cierta aleatoriedad.

Los siguientes son ejemplos dentro del amplio grupo de las series temporales: • señales de telecomunicación; • señales biomédicas (electrocardiograma, encefalograma, etc.); • señales sísmicas; • el número de manchas solares año tras año; • el índice de la bolsa segundo a segundo; • la evolución de la población de un municipio año tras año; • el tiempo de espera en la cola de cada uno de los usuarios que van llegando a una ventanilla; • el clima, un gigantesco conjunto de procesos estocásticos interrelacionados (velocidad del viento, humedad del aire, etcétera) que evolucionan en el espacio y en el tiempo; • los procesos estocásticos de orden mayor a uno, como el caso de una serie de tiempo de orden 2 y una correlación de cero con las demás observaciones.

Cadenas de markov

Una cadena de Markov es una serie de eventos, en la cual la probabilidad de que ocurra un evento depende del evento inmediato anterior. En efecto, las cadenas de este tipo tienen memoria, “Recuerdan” el último evento y esto condiciona las posibilidades de los eventos futuros.

Esta dependencia del evento anterior distingue a las cadenas de Markov de las series de eventos independientes, como tirar una moneda al aire o un dado. En los negocios, las cadenas de Markov se han utilizado para analizar los patrones de compra,los deudores morosos, para planear las necesidades de personal y para analizar el reemplazo de equipo.

El anáisis de Markov, llamado así en honor de un matemático ruso que desarrollo el m�todo en 1907, permite encontrar la probabilidad de que un sistema se encuentre en un estado en particular en un momento dado. Algo m�s importante a�n, es que permite encontrar el promedio a la larga o las probabilidades de estado estable para cada estado. Con esta informaci�n se puede predecir el comportamiento del sistema a trav�s del tiempo. La tarea m�s dif�cil es reconocer cu�ndo puede aplicarse. La caracteristica m�s importante que hay que buscar en la memoria de un evento a otro. ## Cadenas de markov implementadas en R

-> instalar el paquete markovchain

-> Activar el paquete markov chain

library(markovchain)
## Package:  markovchain
## Version:  0.8.5-2
## Date:     2020-09-07
## BugReport: https://github.com/spedygiorgio/markovchain/issues

documentación: https://cran.r-project.org/web/packages/markovchain/markovchain.pdf

Esta libreria pretende proveer objetos para realizar analisis estadísticos de cadenas de markov a tiempos discretos. Asumamos que tenemos una cadena de markov X={X1,X2,…} definida en el espacio de estados S={a,b,c} y cuya matriz de transición es:

\[ P = \left( {\begin{array}{ccc} 0 & 0.5 & 0.5 \\ 0.5 & 0 & 0.5 \\ 0.5 & 0.5 & 0 \\ \end{array} } \right) \]

  1. Crear la matriz de transicion P:
P = matrix(c(0,0.5,0.5,.5,0,.5,.5,.5,0),nrow = 3,byrow=TRUE      )
P
##      [,1] [,2] [,3]
## [1,]  0.0  0.5  0.5
## [2,]  0.5  0.0  0.5
## [3,]  0.5  0.5  0.0

El argumento “nrows” de la funcion matrix es para declarar el numero de filas que deseamos que nuestra matriz P posea, y el argumento “byrows” es para que almacene los elementos de la matriz almacenados en c(), fila por fila.

Crear la matriz de transición creamos el objeto “markovchain” de la siguiente forma:

mc <- new("markovchain", transitionMatrix=P, states=c("a","b","c"), name="Cadena 1")

Una revisión previa al análisis de nuestra cadena se puede realizar mediante los comandos “str()” y “summary”, que devuelven la estructura del objeto y el resumen general de los resultados respectivamente. Para mayor informacion revisar los comandos mediante la función help().

La estructura del objeto mc es:

str(mc)
## Formal class 'markovchain' [package "markovchain"] with 4 slots
##   ..@ states          : chr [1:3] "a" "b" "c"
##   ..@ byrow           : logi TRUE
##   ..@ transitionMatrix: num [1:3, 1:3] 0 0.5 0.5 0.5 0 0.5 0.5 0.5 0
##   .. ..- attr(*, "dimnames")=List of 2
##   .. .. ..$ : chr [1:3] "a" "b" "c"
##   .. .. ..$ : chr [1:3] "a" "b" "c"
##   ..@ name            : chr "Cadena 1"

sumario de mc

summary(mc)
## Cadena 1  Markov chain that is composed by: 
## Closed classes: 
## a b c 
## Recurrent classes: 
## {a,b,c}
## Transient classes: 
## NONE 
## The Markov chain is irreducible 
## The absorbing states are: NONE

Visualizar de manera grafica esta cadena de markov

plot(mc)

Asignacion:

Investigar aplicaciones de las cm en su area del conocimento

Aplicacion de Cadenas de Markov en un proceso de produccion de plantas in vitro

La aplicación de la biotecnología incluye una serie de procesos industriales que involucran organismos vivos o partes de ellos. La interacción del genotipo con los demás factores de manipulación industrial, aunque controlables, provoca que el sistema sea estocástico o no determinista, caracterizado por acciones predecibles y con elementos aleatorios. La producción masiva de plantas in vitro es un ejemplo de este tipo de industrias biotecnológicas, en el que se cultivan plantas seleccionadas bajo condiciones controladas de incubación y en medios nutritivos. Durante el proceso se producen pérdidas por contaminación o muerte del material y reprocesos, cuando las plantas se oxidan o deforman, pero una parte de ellas se puede rescatar y reintegrar a la etapa anterior. Tomando como modelo el proceso de producción de vitroplantas de papa (Solanum tuberosum) en la empresa VitroPlant S.A., se aplicó el método de Cadenas de Markov para determinar los requerimientos de material vegetal para cumplir con una demanda determinada de acuerdo con la etapa del proceso de la que se inicia, incluyendo en ese cálculo las pérdidas y reprocesos. Así, el método de Markov es una opción viable en los procesos biológicos productivos que podría aplicarse a otras especies vegetales e incluso a otros sistemas que utilicen diferentes organismos vivos, tales como hongos, bacterias, insectos y microalgas, todos comunes en la industria.

MODELO DE CADENA DE MARKOV PARA MINIMIZAR COSTOS DE INVENTARIO DE DEMANDA PROBABILÍSTICA EN LA EMPRESA DE TRANSPORTE FABIÁN EXPRESS S.A.C.

El presente trabajo tuvo como objetivo general Minimizar los costos de inventario de la empresa de transporte de carga Fabián Express S.A.C. para esto se desarrolló un modelo de la Cadena de Markov, que es un modelo nuevo y desconocido en nuestro medio, para hacer pronósticos de la demanda probabilística de los repuestos y así tener una mejor gestión de requerimiento de los mismos.

El presente trabajo aplicativo detalla además las propuestas de mejora como son: Un modelo de Cadena de Markov y el Kardex que fueron evaluadas económica y financieramente. La propuesta de implementación que se pretende diseñar contiene procedimientos de desarrollo, formatos normalizados que permiten controlar los procesos de servicio de transporte y la gestión adecuada de almacenes e inventarios.