stringtranslate.com

Simulación estocástica

Una simulación estocástica es una simulación de un sistema que tiene variables que pueden cambiar estocásticamente (aleatoriamente) con probabilidades individuales. [1]

Se generan realizaciones de estas variables aleatorias y se insertan en un modelo del sistema. Se registran los resultados del modelo y luego se repite el proceso con un nuevo conjunto de valores aleatorios. Estos pasos se repiten hasta que se recopila una cantidad suficiente de datos. Al final, la distribución de los resultados muestra las estimaciones más probables, así como un marco de expectativas sobre en qué rangos de valores es más o menos probable que se encuentren las variables. [1]

A menudo, las variables aleatorias insertadas en el modelo se crean en una computadora con un generador de números aleatorios (RNG). Las salidas de distribución uniforme U(0,1) del generador de números aleatorios se transforman luego en variables aleatorias con distribuciones de probabilidad que se utilizan en el modelo del sistema. [2]

Etimología

Estocástico originalmente significaba "relativo a la conjetura"; del griego stokhastikos "capaz de adivinar, conjeturar"; de stokhazesthai "adivinar"; de stokhos "una suposición, objetivo, blanco, marca". El sentido de "determinado aleatoriamente" fue registrado por primera vez en 1934, del alemán Stochastik. [3]

Simulación de eventos discretos

Para determinar el próximo evento en una simulación estocástica, se calculan las tasas de todos los cambios posibles en el estado del modelo y luego se ordenan en una matriz. A continuación, se toma la suma acumulativa de la matriz y la celda final contiene el número R, donde R es la tasa total de eventos. Esta matriz acumulativa es ahora una distribución acumulativa discreta y se puede utilizar para elegir el próximo evento eligiendo un número aleatorio z~U(0,R) y eligiendo el primer evento, de modo que z sea menor que la tasa asociada con ese evento.

Distribuciones de probabilidad

Una distribución de probabilidad se utiliza para describir el resultado potencial de una variable aleatoria.

Limita los resultados donde la variable sólo puede tomar valores discretos. [4]

Distribución de Bernoulli

Una variable aleatoria X tiene una distribución de Bernoulli con el parámetro p si tiene dos resultados posibles, generalmente codificados como 1 (éxito o incumplimiento) o 0 (fracaso o supervivencia) [5], donde las probabilidades de éxito y fracaso son y donde .

Para producir una variable aleatoria X con una distribución de Bernoulli a partir de una distribución uniforme U(0,1) hecha por un generador de números aleatorios, definimos tal que la probabilidad para y . [2]

Ejemplo: Lanzamiento de moneda

Definir Para una moneda justa, ambas realizaciones son igualmente probables. Podemos generar realizaciones de esta variable aleatoria X a partir de una distribución uniforme proporcionada por un generador de números aleatorios (RNG) al tener si el RNG genera un valor entre 0 y 0,5 y si el RNG genera un valor entre 0,5 y 1. Por supuesto, los dos resultados pueden no ser igualmente probables (por ejemplo, el éxito de un tratamiento médico). [6]

Distribución binomial

Una variable aleatoria distribuida binomialmente Y con parámetros n y p se obtiene como la suma de n variables aleatorias independientes e idénticamente distribuidas según Bernoulli X 1 , X 2 , ..., X n [4]

Ejemplo: Se lanza una moneda tres veces. Halla la probabilidad de obtener exactamente dos caras. Este problema se puede resolver observando el espacio muestral. Hay tres formas de obtener dos caras.

HHH, HHT, HTH, THH , TTH, THT, HTT, TTT

La respuesta es 3/8 (= 0,375). [7]

Distribución de Poisson

Un proceso de Poisson es un proceso en el que los eventos ocurren aleatoriamente en un intervalo de tiempo o espacio. [2] [8] La distribución de probabilidad para los procesos de Poisson con tasa constante λ por intervalo de tiempo está dada por la siguiente ecuación. [4]

Se define como el número de eventos que ocurren en el intervalo de tiempo.

Se puede demostrar que los tiempos entre llegadas de eventos se distribuyen exponencialmente con una función de distribución acumulativa (CDF) de . La inversa de la CDF exponencial está dada por donde es una variable aleatoria distribuida uniformemente. [2]

La simulación de un proceso de Poisson con una tasa constante para el número de eventos que ocurren en el intervalo se puede realizar con el siguiente algoritmo. [9]

  1. Empezar con y
  2. Generar variable aleatoria a partir de distribución uniforme
  3. Actualiza la hora con
  4. Si es así, deténgase. De lo contrario, continúe con el paso 5.
  5. Continúe con el paso 2

Métodos

Métodos directos y de primera reacción

Publicado por Dan Gillespie en 1977, es una búsqueda lineal en la matriz acumulativa. Véase algoritmo de Gillespie .

El algoritmo de simulación estocástica (SSA) de Gillespie es esencialmente un procedimiento exacto para simular numéricamente la evolución temporal de un sistema de reacción química bien agitado, teniendo en cuenta adecuadamente la aleatoriedad inherente a dicho sistema. [10]

Se basa rigurosamente en la misma premisa microfísica que subyace a la ecuación maestra química y proporciona una representación más realista de la evolución de un sistema que la ecuación de velocidad de reacción determinista (RRE) representada matemáticamente por EDO. [10]

Al igual que la ecuación maestra química, la SSA converge, en el límite de grandes números de reactivos, a la misma solución que la ley de acción de masas.

Siguiente método de reacción

Publicado en 2000 por Gibson y Bruck [11], el método de la siguiente reacción mejora el método de la primera reacción al reducir la cantidad de números aleatorios que se deben generar. Para que el muestreo de reacciones sea más eficiente, se utiliza una [cola de prioridad] indexada para almacenar los tiempos de reacción. Para que el cálculo de las propensiones de reacción sea más eficiente, también se utiliza un gráfico de dependencia. Este gráfico de dependencia indica qué propensiones de reacción se deben actualizar después de que se haya desencadenado una reacción particular. Si bien es más eficiente, el método de la siguiente reacción requiere estructuras de datos más complejas que la simulación directa o el método de la primera reacción.

Métodos directos optimizados y de clasificación

Publicado en 2004 [12] y 2005. Estos métodos ordenan la matriz acumulativa para reducir la profundidad de búsqueda promedio del algoritmo. El primero ejecuta una presimulación para estimar la frecuencia de activación de las reacciones, mientras que el segundo ordena la matriz acumulativa sobre la marcha.

Método directo logarítmico

Publicado en 2006. Se trata de una búsqueda binaria en la matriz acumulativa, reduciendo así la complejidad temporal del peor caso del muestreo de reacción a O (log M).

Métodos de propensión parcial

Publicado en 2009, 2010 y 2011 (Ramaswamy 2009, 2010, 2011). Utiliza propensiones de reacción parciales factorizadas para reducir el costo computacional y escalar con la cantidad de especies en la red, en lugar de la cantidad (mayor) de reacciones. Existen cuatro variantes:

El uso de los métodos de propensión parcial se limita a las reacciones químicas elementales, es decir, reacciones con dos reactivos diferentes como máximo. Toda reacción química no elemental se puede descomponer de forma equivalente en un conjunto de reacciones elementales, a expensas de un aumento lineal (en el orden de la reacción) del tamaño de la red.

Métodos aproximados

Una desventaja general de las simulaciones estocásticas es que, en el caso de sistemas grandes, ocurren demasiados eventos que no se pueden tener en cuenta en una simulación. Los siguientes métodos pueden mejorar drásticamente la velocidad de la simulación mediante algunas aproximaciones.

Método de salto τ

Dado que el método SSA realiza un seguimiento de cada transición, sería poco práctico implementarlo para ciertas aplicaciones debido a la alta complejidad temporal. Gillespie propuso un procedimiento de aproximación, el método de salto tau que disminuye el tiempo computacional con una pérdida mínima de precisión. [13] En lugar de tomar pasos incrementales en el tiempo, realizando un seguimiento de X ( t ) en cada paso de tiempo como en el método SSA, el método de salto tau salta de un subintervalo al siguiente, aproximando cuántas transiciones tienen lugar durante un subintervalo dado. Se supone que el valor del salto, τ, es lo suficientemente pequeño como para que no haya un cambio significativo en el valor de las tasas de transición a lo largo del subintervalo [ t , t + τ ]. Esta condición se conoce como la condición de salto. El método de salto tau tiene, por lo tanto, la ventaja de simular muchas transiciones en un salto sin perder precisión significativa, lo que resulta en una aceleración en el tiempo computacional. [14]

Método de la diferencia condicional

Este método aproxima los procesos reversibles (que incluyen los procesos de difusión/caminata aleatoria) tomando en cuenta únicamente las tasas netas de los eventos opuestos de un proceso reversible. La principal ventaja de este método es que se puede implementar con una simple declaración if que reemplaza las tasas de transición anteriores del modelo con nuevas tasas efectivas. El modelo con las tasas de transición reemplazadas se puede resolver, por ejemplo, con el SSA convencional. [15]

Simulación continua

Mientras que en el espacio de estados discretos se distingue claramente entre estados particulares (valores), en el espacio continuo esto no es posible debido a cierta continuidad. El sistema suele cambiar con el tiempo, las variables del modelo también cambian continuamente. La simulación continua simula el sistema a lo largo del tiempo, dadas las ecuaciones diferenciales que determinan las tasas de cambio de las variables de estado. [16] Un ejemplo de sistema continuo es el modelo depredador/presa [17] o el equilibrio de carros con postes [18].

Distribuciones de probabilidad

Distribución normal

Se dice que la variable aleatoria X se distribuye normalmente con parámetros μ y σ , abreviado por XN ( μ , σ 2 ) , si la densidad de la variable aleatoria viene dada por la fórmula [4]

En realidad, muchas cosas tienen una distribución normal o muy cercana a ella. Por ejemplo, la altura y la inteligencia tienen una distribución aproximadamente normal ; los errores de medición también suelen tener una distribución normal . [19]

Distribución exponencial

La distribución exponencial describe el tiempo entre eventos en un proceso de Poisson , es decir, un proceso en el que los eventos ocurren de forma continua e independiente a una tasa promedio constante.

La distribución exponencial es popular, por ejemplo, en la teoría de colas cuando queremos modelar el tiempo que tenemos que esperar hasta que se produzca un determinado acontecimiento. Algunos ejemplos son el tiempo que transcurre hasta que el siguiente cliente entra en la tienda, el tiempo que transcurre hasta que una determinada empresa deja de pagar o el tiempo que transcurre hasta que una máquina presenta un defecto. [4]

Distribución t de Student

Las distribuciones t de Student se utilizan en finanzas como modelos probabilísticos de rendimientos de activos. La función de densidad de la distribución t viene dada por la siguiente ecuación: [4] donde es el número de grados de libertad y es la función gamma .

Para valores grandes de n , la distribución t no difiere significativamente de una distribución normal estándar . Por lo general, para valores n > 30, la distribución t se considera igual a la distribución normal estándar .

Otras distribuciones

Simulación combinada

A menudo es posible modelar un mismo sistema mediante el uso de visiones del mundo completamente diferentes. La simulación de eventos discretos de un problema, así como la simulación de eventos continuos del mismo (simulación continua con los eventos discretos que interrumpen el flujo continuo) pueden conducir eventualmente a las mismas respuestas. Sin embargo, a veces, las técnicas pueden responder diferentes preguntas sobre un sistema. Si necesariamente necesitamos responder a todas las preguntas, o si no sabemos para qué propósitos se utilizará el modelo, es conveniente aplicar una metodología continua/discreta combinada . [20] Técnicas similares pueden cambiar de una descripción discreta y estocástica a una descripción determinista y continua de una manera dependiente del tiempo y el espacio. [21] El uso de esta técnica permite la captura de ruido debido a pequeños números de copias, al mismo tiempo que es mucho más rápido de simular que el algoritmo Gillespie convencional. Además, el uso de la descripción determinista continua permite las simulaciones de sistemas arbitrariamente grandes.

Simulación de Monte Carlo

Monte Carlo es un procedimiento de estimación. La idea principal es que si es necesario conocer el valor promedio de alguna variable aleatoria y no se puede determinar su distribución, y si es posible tomar muestras de la distribución, podemos estimarla tomando las muestras, de forma independiente, y promediándolas. Si hay suficientes muestras, entonces la ley de los grandes números dice que el promedio debe estar cerca del valor verdadero. El teorema del límite central dice que el promedio tiene una distribución gaussiana alrededor del valor verdadero. [22]

Como ejemplo simple, supongamos que necesitamos medir el área de una forma con un contorno complicado e irregular. El método de Monte Carlo consiste en dibujar un cuadrado alrededor de la forma y medirlo. Luego, lanzamos dardos al cuadrado, de la manera más uniforme posible. La fracción de dardos que caen sobre la forma da la relación entre el área de la forma y el área del cuadrado. De hecho, es posible formular casi cualquier problema integral, o cualquier problema de promedio, en esta forma. Es necesario tener una buena manera de saber si estás dentro del contorno y una buena manera de calcular cuántos dardos lanzar. Por último, pero no menos importante, necesitamos lanzar los dardos de manera uniforme, es decir, utilizando un buen generador de números aleatorios . [22]

Solicitud

Existen amplias posibilidades de uso del método de Monte Carlo: [1]

Generadores de números aleatorios

Para los experimentos de simulación (incluido el de Monte Carlo) es necesario generar números aleatorios (como valores de variables). El problema es que la computadora es una máquina altamente determinista : básicamente, detrás de cada proceso siempre hay un algoritmo, un cálculo determinista que cambia las entradas por salidas; por lo tanto, no es fácil generar números aleatorios distribuidos uniformemente sobre un intervalo o conjunto definido. [1]

Un generador de números aleatorios es un dispositivo capaz de producir una secuencia de números que no se pueden identificar "fácilmente" con propiedades deterministas . Esta secuencia se denomina entonces secuencia de números estocásticos . [23]

Los algoritmos generalmente se basan en números pseudoaleatorios , números generados por computadora que imitan números aleatorios verdaderos, para generar una realización, un posible resultado de un proceso. [24]

Los métodos para obtener números aleatorios existen desde hace mucho tiempo y se utilizan en muchos campos diferentes (como los juegos ). Sin embargo, estos números sufren un cierto sesgo. Actualmente, los mejores métodos que se espera que produzcan secuencias verdaderamente aleatorias son los métodos naturales que aprovechan la naturaleza aleatoria de los fenómenos cuánticos . [23]

Véase también

Referencias

  1. ^ abcd DLOUHÝ, M.; FABRY, J.; KUNCOVÁ, M.. Simulacio pro economía. Praga: VŠE, 2005.
  2. ^ abcd Dekking, Frederik Michel (2005). Una introducción moderna a la probabilidad y la estadística: comprender por qué y cómo . Springer. ISBN 1-85233-896-2.OCLC 783259968  .
  3. ^ estocástico. (sin fecha). Diccionario etimológico en línea. Recuperado el 23 de enero de 2014 del sitio web Dictionary.com: http://dictionary.reference.com/browse/stochastic
  4. ^ abcdef Rachev, Svetlozar T. Stoyanov, Stoyan V. Fabozzi, Frank J., "Capítulo 1 Conceptos de probabilidad" en Modelos estocásticos avanzados, evaluación de riesgos y optimización de carteras: las medidas ideales de riesgo, incertidumbre y rendimiento, Hoboken, NJ, EE. UU.: Wiley, 2008
  5. ^ Rachev, Svetlozar T.; Stoyanov, Stoyan V.; Fabozzi, Frank J. (14 de abril de 2011). Un enfoque de métricas de probabilidad para las medidas de riesgo financiero . doi :10.1002/9781444392715. ISBN 9781444392715.
  6. ^ Distribución de Bernoulli, Universidad de Chicago - Departamento de Estadística, [en línea] disponible en http://galton.uchicago.edu/~eichler/stat22000/Handouts/l12.pdf
  7. ^ "La distribución binomial". Archivado desde el original el 26 de febrero de 2014. Consultado el 25 de enero de 2014 .
  8. ^ Haight, Frank A. (1967). Manual de la distribución de Poisson . Wiley. OCLC  422367440.
  9. ^ Sigman, Karl. "Procesos de Poisson y procesos de Poisson compuestos (por lotes)" (PDF) .
  10. ^ de Stephen Gilmore, Introducción a la simulación estocástica - Algoritmos de simulación estocástica, Universidad de Edimburgo, [en línea] disponible en http://www.doc.ic.ac.uk/~jb/conferences/pasta2006/slides/stochastic-simulation-introduction.pdf
  11. ^ Michael A. Gibson y Jehoshua Bruck, Simulación estocástica exacta y eficiente de sistemas químicos con muchas especies y muchos canales , J. Phys. Chem. A, 104:1876–1899, 2000.
  12. ^ Y. Cao, H. Li y L. Petzold. Formulación eficiente del algoritmo de simulación estocástica para sistemas que reaccionan químicamente , J. Chem. Phys, 121(9):4059–4067, 2004.
  13. ^ Gillespie, DT (1976). "Un método general para simular numéricamente la evolución temporal estocástica de reacciones químicas acopladas". Journal of Computational Physics . 22 (4): 403–434. Bibcode :1976JCoPh..22..403G. doi :10.1016/0021-9991(76)90041-3.
  14. ^ HT Banks, Anna Broido, Brandi Canter, Kaitlyn Gayvert, Shuhua Hu, Michele Joyner, Kathryn Link, Algoritmos de simulación para modelos de cadenas de Markov de tiempo continuo, [en línea] disponible en http://www.ncsu.edu/crsc/reports/ftp/pdf/crsc-tr11-17.pdf
  15. ^ Spill, F; Maini, PK; Byrne, HM (2016). "Optimización de simulaciones de procesos estocásticos mediante la eliminación de reacciones opuestas". Journal of Chemical Physics . 144 (8): 084105. arXiv : 1602.02655 . Bibcode :2016JChPh.144h4105S. doi :10.1063/1.4942413. PMID  26931679. S2CID  13334842.
  16. ^ Crespo-Márquez, A., RR Usano y RD Aznar, 1993, "Simulación continua y discreta en un sistema de planificación de la producción. Un estudio comparativo"
  17. ^ Louis G. Birta, Gilbert Arbez (2007). Modelado y simulación, pág. 255. Springer.
  18. ^ "Tutorial de equilibrio de postes".
  19. ^ Universidad de Notre Dame, Distribución normal, [en línea] disponible en http://www3.nd.edu/~rwilliam/stats1/x21.pdf
  20. ^ Francois E. Cellier, Aplicaciones, técnicas y herramientas de simulación continua/discreta combinada
  21. ^ Spill, F.; et al. (2015). "Enfoques híbridos para modelos de reacción-difusión estocástica de múltiples especies". Journal of Computational Physics . 299 : 429–445. arXiv : 1507.07992 . Bibcode :2015JCoPh.299..429S. doi :10.1016/j.jcp.2015.07.002. PMC 4554296 . PMID  26478601. 
  22. ^ ab Cosma Rohilla Shalizi, Monte Carlo y otros tipos de simulación estocástica, [en línea] disponible en http://bactra.org/notebooks/monte-carlo.html
  23. ^ de Donald E. Knuth, El arte de la programación informática, volumen 2: Algoritmos seminuméricos - capítulo 3: Números aleatorios (Addison-Wesley, Boston, 1998).
  24. ^ Andreas hellander, Simulación estocástica y métodos de Monte Carlo, [en línea] disponible en http://www.it.uu.se/edu/course/homepage/bervet2/MCkompendium/mc.pdf

Enlaces externos

Software