Análisis de sensibilidad Es muy común en los ejercicios o problemas que los cálculos se efectúen de una manera determinista, es decir, tratando a la totalidad de las variables como constantes conocidas. Sin embargo, la realidad es que pocas veces se conocen los valores exactos de las variables: en la mayoría de las situaciones, se trabaja con estimaciones de las condiciones medias o conservadoras, e inclusive, del peor de los casos. Cuando se mide repetidamente un parámetro físico o químico, o cuando se efectúan estudios de campo sobre fenómenos de naturaleza económica o social, lo que en realidad se obtiene es un conjunto de valores más o menos parecidos, con un rango de variación que depende de muchos factores, tales como la precisión del instrumental, la pericia del analista, el tamaño de la muestra etc. De este modo, el valor obtenido se convierte en un evento fortuito o aleatorio. Así que en rigor, al repetir la medición o el ensayo, más que el valor exacto de una variable se obtiene un conjunto de valores que puede adoptar esa variable, cada uno de ellos con una probabilidad asociada, la cual indica cuan posible es que ese valor se obtenga si se repiten las mediciones. Decimos entonces que se trata de una variable aleatoria. Es posible construir tablas o gráficas donde se coloquen los distintos valores de “x” y sus probabilidades asociadas, e inclusive construir fórmulas que permitan vincular el valor y su probabilidad. Esas tablas, gráficas o fórmulas se conocen como distribuciones de probabilidad. No por simple y conocido deja de ser útil el ejemplo de la moneda: si arrojo al aire una moneda legal y descarto que caiga de canto, tendré un 50% de probabilidades de caiga cara o cruz. Así que tengo dos resultados posibles para el experimento, cada uno con su probabilidad asociada. Lamentablemente, los acontecimientos reales son mucho más complejos y difíciles de representar a través de modelos teóricos con simples cálculos de probabilidad. El estadístico razona desde la población conocida a la muestra desconocida. En cambio, quien intenta representar el mundo real parte normalmente de muestras, e intenta sacar conclusiones acerca de la población. Por ejemplo se hace una muestra de la intención de voto con la idea de predecir los resultados de las elecciones. La extrapolación desde una pequeña realidad conocida a un mundo desconocido debe fundamentarse de alguna manera que supere a la mera intuición, y es ahí donde se hace necesaria la intervención de la Estadística, una ciencia que suele resultar de difícil abordaje y más bien antipática a menos que se realice un decidido esfuerzo por entender el significado de las herramientas de análisis que brinda. Ante todo es importante tener en claro para que se la emplea, evitando caer en el error de aplicar mecánicamente fórmulas o “recetas” que validen el resultado de experiencias o ensayos sin saber muy bien que se está haciendo. Si se acumula un gran número de datos que luego se utilizan para describir y extraer información, estamos frente a la estadística descriptiva, relativamente sencilla de 84 Juan Martín García – Ejercicios avanzados en Dinámica de Sistemas utilizar y comprender. Pero si se usan las herramientas que permiten formular inferencias acerca de una población partiendo de una muestra estamos frente a la estadística inferencial que es la que suele generar mayores problemas de comprensión. Sin embargo su utilidad es enorme y permite que innumerables decisiones se tomen sobre bases más sólidas que la sola experiencia práctica. Una herramienta de uso casi permanente en la estadística inferencial son las distribuciones de probabilidad teóricas las cuales son en definitiva funciones matemáticas presentadas en forma de gráficos o tablas que establecen una relación entre un valor x y su probabilidad f(x) de producirse. Estas distribuciones, aunque teóricas, no son caprichosas. No se desarrollaron porque sí, ni se las elige sin análisis previo. Tienen que ver con el patrón de comportamiento que quieren representar. Antes que nada debemos tener claro el tipo de variable a utilizar: si el número de valores que puede tomar es contable, se trata de una variable discreta; en cambio, si la variable puede tomar un infinito número de valores dentro de un cierto rango, es una variable continua. El número de personas dentro de un avión o el número de pedidos nuevos recibidos en una fábrica son ejemplo de variables discretas. Por el contrario, los tiempos de espera en la caja de un supermercado o en el peaje de una autopista, así como la altura o el peso de una persona son variables continuas porque tienen infinitos decimales. En cuanto a la naturaleza del evento analizado, también hay diferencias. Supongamos que al realizar una encuesta de mercado, buscando determinar las preferencias de la población por la bebida A en competencia con la B, obtendremos como resultado un cierto número de personas que optan por A, y el resto optan por B. Se parece al caso de tirar la moneda. Hay muchos sondeos a nivel social, industrial y en educación que presentan este comportamiento. O sea: n ensayos con dos posibles resultados: éxito (favorable a mis intereses), fracaso (desfavorable). En este caso la distribución teórica aplicable es la Binomial. Consideremos ahora el caso de medir la estatura de todos los empleados de una empresa. Dependiendo de la precisión con que se lo haga, la distribución de valores obtenidas se acercará a una variable continua, que presenta una tendencia central, y cierta dispersión en los resultados obtenidos, ya que son menos frecuentes las personas muy bajas o muy altas. Lo mismo ocurre con los resultados de los análisis de laboratorio, las mediciones de rendimiento o calidad de equipos, los ingresos medios de la población etc. Para estos casos, la más conocida y utilizada es la Distribución de Probabilidad Normal, cuyo gráfico es una curva en forma de campana, simétrico a ambos lados del valor central. Muchos acontecimientos de la vida real se comportan aproximadamente en forma “normal”. La forma más común de medir el valor central es la media (promedio de todos los datos), y la dispersión a través de la desviación estándar, cuyas formas de cálculo figuran en cualquier texto de estadística. Estos datos son los necesarios para calcular los límites de confianza del valor estimado, que serán más distantes cuanto mayor sea el grado de certidumbre que pretendo tener. Juan Martín García – Ejercicios avanzados en Dinámica de Sistemas 85 Hasta aquí se han desarrollado conceptos estadísticos básicos que luego aparecerán en la aplicación de algunas herramientas del software utilizado. Pero no nos olvidemos que los parámetros que se utilizan en un modelo de simulación dinámica constituyen las mejores estimaciones de sus valores reales. Por ejemplo, el margen de rentabilidad de un producto puede estar basado en las mejores estimaciones del precio de venta y del costo variable por unidad, lo cual supone ciertos costes salariales, tiempos esperados de proceso y costos de materiales. Por otra parte, la calidad de la información tiene un costo que, lógicamente, es mayor cuanto más exactitud se pretenda. Y las empresas tienen límites a veces bastante modestos en cuanto a lo que quieren invertir en estudios de mercado, sondeos o recopilación de datos históricos. Nuestro problema es que tenemos un modelo construido, probado e incluso calibrado. Ahora bien, ¿cómo responde ante cambios en los parámetros utilizados? Es decir ¿cuán sensibles resultan los resultados del modelo a los cambios en esos parámetros sobre los cuales tenemos dudas?. Este análisis posterior a la construcción y ajuste del modelo se conoce como Análisis de Sensibilidad. Si tenemos un modelo con parámetros que son variables continuas distribuidas en forma normal, podemos preguntarnos si será necesario ejecutar el programa un número infinito de veces, cambiando cada vez los valores. Esto es imposible de llevar a la práctica. Por suerte la respuesta a esa pregunta es negativa. Lo que si se puede hacer, con menos costo y en tiempos razonables es simular el proceso un gran número de veces (aunque finito) adoptando cada vez valores diferentes en los parámetros. A la técnica de simular un proceso que contiene elementos aleatorios repitiendo el proceso una y otra vez para ver cómo se comporta se le llama Método de Montecarlo y es de aplicación usual en estudios empresariales y científicos. En el caso concreto de los modelos de simulación dinámica, el análisis de sensibilidad por el Método de Montecarlo está incorporado como una herramienta del software, de modo que lo importante es saber que datos alimentar a la simulación y cómo interpretar los resultados. Consideremos la siguiente situación: un fabricante de cervezas se encuentra con problemas para programar su producción. No conoce su participación exacta en el mercado, lo afecta la estacionalidad del consumo, desconoce la capacidad máxima de consumo del mercado al cual dirige su producto. Encarga un estudio, y le informan que el máximo consumo ronda el 1.000.000 de litros diarios, y que un estudio sobre 500 personas que probaron la bebida comparando con su principal competidor, 350 han elegido su producto. Sus asesores le dicen que sería adecuado formular un modelo de simulación sobre el cual se haga un análisis de sensibilidad considerando que la variable “consumo” se comporta según una Distribución Binomial. Así que un muy sencillo modelo de simulación dinámica, que considere una producción, un nivel de stock y un consumo le darán una primera aproximación rápida de cómo programar su producción. Este mismo modelo podrá luego ir completándose a efectos de considerar otras variables que afecten el consumo (estacionalidad, poder adquisitivo, aparición de nuevos productos, búsqueda de nuevos mercados...). 86 Juan Martín García – Ejercicios avanzados en Dinámica de Sistemas Una vez que se ha construido y probado el modelo, la elección de la herramienta de Análisis de Sensibilidad abre un cuadro que requiere definir algunos datos, dependiendo de la distribución que se elija. Las opciones son varias, si bien las más comunes son la distribución uniforme, que asigna a todos los valores igual probabilidad, y la distribución normal. En este ejemplo hemos elegido la binomial. Seleccionamos como variables aleatorias las que creemos que influyen de forma más decisiva en el comportamiento del sistema. Donde debemos poner mayor cuidado es cuando elegimos la distribución. En el caso de la binomial hemos de definir 6 parámetros. Se nos pide un valor mínimo, uno máximo, una probabilidad, el número de simulaciones, la media y la desviación estándar. Los dos primeros tienen que ver con la situación real, y pueden elegirse aprovechando los datos del ensayo. Los cuatro últimos tienen que ver con la distribución y para nuestro ejemplo del fabricante de cerveza serían 0.7, 500, 350 y 10.25. Así que completados los datos y ejecutado el análisis, veremos un gráfico que cubre una superficie y además presenta en su parte superior una referencia que dice 50%, 75%, 95% y 100%. 25% 50% 75% 100% Estos son los límites de confianza. Sin entrar en detalles estadísticos, estos límites nos dan idea de la probabilidad de acertar en el análisis, razón por la cual el gráfico correspondiente a un 50% es más estrecho que el de 75%, y éste que el de 95%. Es decir, con un menor porcentaje obtenemos una predicción más centrada y precisa, pero tenemos mayor riesgo de equivocarnos. Más allá de la exactitud de las estimaciones, un análisis de sensibilidad, que podría también efectuarse simplemente cambiando varias veces el valor de un parámetro y observando lo que ocurre, nos muestra aquellas variables cuyos cambios afectan más el comportamiento del sistema, razón por la cual serán las que reciban mayor atención. Juan Martín García – Ejercicios avanzados en Dinámica de Sistemas 87 Caso. El equipo de ventas El modelo de ventas que se comenta a continuación contiene un ciclo de realimentación positivo principal, en el que un mayor número de vendedores pueden generar más ventas, incrementando el beneficio y permitiendo contratar más vendedores. Existe además un ciclo de realimentación negativo que ajusta la fuerza de ventas mediante la contratación o los despidos. Crear el modelo ventas.mdl . 88 Juan Martín García – Ejercicios avanzados en Dinámica de Sistemas Para dibujar el signo + del ciclo, pulsar en el icono Comment y en la ventana que se abre desplegar el menú a la derecha de Image (en blanco) y seleccionar el símbolo +. Después marcar la opción de Loop Clkwse. Para dibujar un flujo de doble sentido, activar el icono de la mano, pulsar en el pequeño círculo del flujo con el botón derecho del ratón y marcar la opción Arrowhead Ecuaciones del modelo Los parámetros temporales se pueden definir al hacer File – New Model o bien desde Model – Settings, son: INITIAL TIME = 0 FINAL TIME = 60 TIME STEP = 0.25 Unidades de Tiempo: Mes contratación neta= (vendedores deseados - Vendedores) / plazo de ajuste Units: personas/Mes pedidos= Vendedores * productividad de vendedores Units: unidad/Mes Facturación= pedidos * precio del artículo Units: $/Mes plazo de ajuste= 6 Units: Mes precio del artículo=100+step(10,20) Units: $/unidad presupuesto de ventas= Facturación * % a ventas Units: $/Mes productividad de vendedores = WITH LOOKUP ( Vendedores ((10,200),(50,200),(100,120) )) Units: unidad/(personas*Mes) salarios= 2000 Units: $/(personas*Mes) Juan Martín García – Ejercicios avanzados en Dinámica de Sistemas 89 Vendedores= contratación neta initial value = 50 Units: personas vendedores deseados= presupuesto de ventas / salarios Units: personas % a ventas= 0.1 Units: Dmnl (Dmnl= sin dimensiones) Simulación base Primero simularemos el modelo que se comporta de forma estable hasta el periodo 20 en el que incrementamos el precio del artículo de 100 a 110 para observar su comportamiento. - En la caja de edición del nombre de la simulación escribir baserun y pulsar Intro. - Pulsar en el icono Simulate. - Pulsar dos veces en Vendedores y pulsar después en el icono de Gráfico. Repetir esta operación para la variable Facturación . Se observa que ambas variables crecen a partir del periodo 20 y luego se estabilizan. 90 Juan Martín García – Ejercicios avanzados en Dinámica de Sistemas - Pulsar alternativamente en los iconos bien las dos salidas graficas. para ver el diagrama del modelo o - Seleccionar en el Panel de Control el icono de Datasets y pulsar dos veces en baserun para dejarlo inactivo. Incertidumbre en múltiples parámetros Este modelo contiene cuatro constantes que podemos variar para examinar su efecto en la salida de la simulación. Son: precio del artículo, plazo de ajuste, salarios, y el % a ventas. Supongamos que conocemos los valores exactos para dos constantes: precio del artículo y % a ventas, porque son decisiones políticas que los gerentes pueden realmente definir. Los parámetros inciertos son plazo de ajuste y salarios. Seleccionaremos estos dos últimos elementos y les asignaremos los valores máximos y mínimos que creemos pueden tener, y también la distribución de probabilidad que pueden tener, para finalmente observar su impacto en el comportamiento del modelo. Observe que podríamos seleccionar sólo un parámetro si quisiéramos observar la sensibilidad del comportamiento del modelo a ese parámetro en especial. Inicio del análisis de sensibilidad - En la caja de nombre de la simulación teclear sensibilidad como el nombre de la nueva simulación (actualmente es baserun). - Pulsar en el icono Monte Carlo para que se abra el menú: Juan Martín García – Ejercicios avanzados en Dinámica de Sistemas 91 - Asegúrese que está señalada la opción de Multivariate y que el número de simulaciones (Number of Simulations) esté en 200. El Método de Montecarlo trabaja probando un conjunto de números dentro de un cierto rango. Para realizar un análisis multivariable hace una muestra aleatoria de valores de la distribución para cada elemento especificado y los valores resultantes son el resultado de una simulación. Cuando el Número de Simulaciones es 200 este proceso se repetirá 200 veces. - Pulsar en el botón Parameter y se abrirá una caja de diálogo que mostrará todos los parámetros (elementos que son constantes) del modelo, que son los elementos que pueden seleccionarse para el análisis. Pulsar en plazo de ajuste y después en OK. Distribuciones estadísticas Distribución Uniforme Aleatoria Para hacer un análisis de sensibilidad es necesario definir qué tipo de distribución de probabilidad se elije para cada parámetro. La distribución más simple es la Distribución Uniforme Aleatoria, en la que existe la misma probabilidad de que ocurra cualquier número entre el valor mínimo y máximo. Esta distribución es aplicable para la mayoría de los análisis de sensibilidad y se selecciona por omisión. Otra distribución comúnmente usada es la Distribución Normal (Campana de Gauss) en la que los valores cercanos a la media son más probables que ocurran que los valores lejos de la media. 92 Juan Martín García – Ejercicios avanzados en Dinámica de Sistemas Las distribuciones normalmente usadas son Uniforme, Normal y las distribuciones Triangulares. Si no tiene ningún motivo para seleccionar una distribución determinada, es conveniente elegir una Distribución Uniforme. Los valores mínimo y máximo se escogen para limitar el rango de cada parámetro. Observe que el valor real del esta variable en el modelo, que es 6, se indica debajo del botón Parameter – Model Value. - Pulsar en la caja Minimum Value (Valor Mínimo) y teclear 3. Pulsar en la caja Maximum Value (Valor Máximo) y teclear 12. Estos números son asimétricos alrededor del valor 6 del modelo; creemos que el valor podría ser un poco más bajo o mucho más grande. Pulsar en el icono Add Editing (Añadir Edición). - Pulsar en el icono Parameter (Parámetro), escoger salarios y pulsar en OK. Distribución Aleatoria Normal Para salarios escogeremos una distribución RANDOM NORMAL cuyos valores se obtienen según una Distribución Normal y se han de indicar los límites máximo y mínimo, así como una media y desviación estándar. - En la caja de Distribution seleccionar la opción RANDOM NORMAL de la lista. - Pulsar en la caja del Minimum Value (Valor Mínimo) y teclear 1800. Pulsar en la caja de Maximum Value (Valor Máximo) y teclear 2200. Pulsar en la caja Mean (Media) y teclear 2000. Pulsar en la caja Standard Deviation (Desviación Estándar) y teclear 100. Pulsar en la caja Add Editing (Añadir Edición). La pantalla debe aparecer similar a la imagen siguiente. - Pulsar en el icono Next (Siguiente). Juan Martín García – Ejercicios avanzados en Dinámica de Sistemas 93 Resultados. Variables de especial interés Los análisis de sensibilidad generan una cantidad muy grande de datos, por lo que es necesario limitar los datos guardados a esas variables en las que estamos muy interesados. Debemos guardar sólo valores para las variables que son de interés real; intentar guardar los valores del análisis sensibilidad para todas las variables en el modelo consume mucho tiempo y una gran cantidad de espacio en disco. - Pulsar en el botón Select (Seleccionar), se abrirá un menú mostrando todas las variables del modelo. Escoja Facturación y pulse en OK. Pulsar en el botón Add Editing (Añadir Edición). - Pulse en el icono Select (Seleccionar) y escoger Vendedores luego pulse en el icono de OK. Pulse en el icono Add Editing (Añadir Edición). NOTA podríamos simplemente teclear estos nombres individualmente en la caja de edición y pulsar en el icono Add Editing (Añadir Edición). El resultado debe ser como el siguiente: - Pulsar en el icono de Finish (Terminar). 94 Juan Martín García – Ejercicios avanzados en Dinámica de Sistemas Análisis de sensibilidad El modelo se simulará y luego realizará 200 simulaciones adicionales mientras cambia automáticamente los parámetros plazo de ajuste y salarios. La simulación contiene el comportamiento estándar para todas las variables con los valores de las constantes originales del modelo, y un rango de valores para las variables Facturación y Vendedores generada por las 200 simulaciones. - Pulsar dos veces en la variable Facturación en la pantalla para seleccionarla. Límites de confianza - Pulsar en el icono Sensitivity Graph (Gráfico de Sensibilidad). Se genera un gráfico que muestra los límites de confianza para todos los valores de Facturación que se generaron cuando los dos parámetros se modificaron al azar alrededor de sus distribuciones estadísticas. Los límites exteriores de incertidumbre (100%) muestran los valores máximos de aproximadamente 1,2 millones y un valor del mínimo de aproximadamente 750.000 al final de la simulación. Observe la posibilidad de una disminución en el Facturación. La simulación original (con los valores de las constantes definidos en el modelo) se dibuja como una línea azul indicada en la parte superior con el nombre de baserun. Juan Martín García – Ejercicios avanzados en Dinámica de Sistemas 95 Escalas de los gráficos Se puede ajustar la escala para mostrar con más detalle el rango inferior de los valores de la incertidumbre. Vamos a ver ampliada la zona de Facturación entre 500.000 y 1.5 M. - Poner el puntero en la línea horizontal del gráfico que muestra el Facturación en 1.5 M. Mantenga apretada la tecla Ctrl y luego pulse con el botón del ratón. Arrastre el ratón para que el cursor se mueva a la línea que muestra el Facturación igual a 500.000. Suelte el botón del ratón. No se observa ningún cambio en la pantalla hasta que pulsa en el icono Sensitivity Graph Percentiles. Obtenemos una gráfica con la zona 500.000 a 1.500.000 ampliada. - Poner el puntero en la línea vertical del gráfico que muestra el periodo 15. Mantener apretada la tecla Mayúsculas y luego pulsar con el botón del ratón. Arrastrar el ratón para que el cursor se mueva a la línea del periodo 24. Soltar el botón del ratón. No se observa ningún cambio en la pantalla hasta que pulsa el icono Sensitivity Graph Percentiles. Obtenemos una grafica similar a la siguiente en función de los puntos exactos donde hayamos pulsado en la gráfica y donde hayamos soltado el ratón. Pulsando el icono Sensitivity 200 trayectorias que se han simulado. 96 podemos ver una representación de las Juan Martín García – Ejercicios avanzados en Dinámica de Sistemas Los resultados del análisis de sensibilidad pueden mostrarse en forma de histograma. Éstos proporcionan una sección transversal de valores en un periodo de tiempo en particular. Los histogramas muestran el número de simulaciones para los que la variable estaba en un rango dado en el momento determinado. Los histogramas proporcionan un mecanismo para observar la distribución de los valores de una variable sobre todas las simulaciones realizadas y en un momento determinado. En Vensim PLE Plus el gráfico de barras está configurado para mostrar la sensibilidad en un periodo determinado. En otras versiones es posible definir los parámetros de la gráfica. Juan Martín García – Ejercicios avanzados en Dinámica de Sistemas 97 Ejercicio práctico. Kaibab El de modelo de los ciervos de la reserva del Kaibab (*) se presta a realizar un análisis de sensibilidad centrado en la evolución del número de ciervos. Tómelo para realizar un análisis de sensibilidad con total libertad en la selección de parámetros y en el tipo de distribución estadística. Considere que podemos modificar el área de la Reserva entre 500.000 y 1.200.000 acres, dividiéndola en dos y confinando los ciervos en una parte, o bien ampliando el parque con una zona adyacente. Considere una distribución Random Uniform. Realice ambas simulaciones por separado. En una de ellas, tomando entre 500.000 y 1.000.000 acres, que es el valor inicial, ha de obtener este resultado. Comente los resultados obtenidos, y analice el impacto de utilizar otras distribuciones estadísticas. (*) Libro “Teoría y ejercicios Prácticos de Dinámica de Sistemas” ISBN 84-607-9304-4 Capitulo 5.2 98 Juan Martín García – Ejercicios avanzados en Dinámica de Sistemas