Story Transcript
16/10/2012
Definición
Modelos Estocásticos Breve introducción
¿Por qué fenómenos estocásticos? • Las variables en sí son perturbadas o siguen comportamientos estocásticos • Los parámetros del sistema son perturbados de forma estocástica ¿Si tuviéramos conocimiento completo del sistema, seguirían existiendo variables aleatorias?. ¿El movimiento de una hormiga es aleatorio?
Simulación de fenómenos estocásticos • Agregar aleatoriedad a un modelo determinístico (parámetros y/o variables de estado).
• Se denomina estocástico (del latín stochasticus, "hábil en hacer conjeturas") a un sistema cuyo comportamiento es intrínsecamente no determinístico. • El comportamiento del sistema puede ser el resultado conjunto de la acción de elementos predecibles y elementos aleatorios.
Simulación de fenómenos estocásticos • Estimar las características de la respuesta de un modelo probabilístico. • Permite: – Estimar la dispersión de una distribución. – Estimar una tendencia central. – “Probar” hipótesis estadísticas. Sino está cargada genera números equiprobables
Métodos Monte Carlo • Una clase de algoritmos computacionales que se basan en: – repetir muestreo aleatorio – calcular los resultados AGs?
• Permiten simular sistemas físicos y/o matemáticos complejos: •
Generar el modelo determinístico del tiempo o un modelo probabilistico? – Modelo movimiento de la Hormiga
• Modelos de Markov: la dinámica del sistema puede darse sólo en determinados estados, la transición es probabilística.
– sistemas con muchos grados de libertad acoplados (fluidos) – estructuras celulares (canales de membrana)
1
16/10/2012
Monte Carlo: método de la fuerza bruta
Métodos Monte Carlo •
• Todos poseen el siguiente conjunto de pasos:
Ejemplo clásico: Área debajo de una curva.
y f(x)
Dada un área A fácil de medir, que contiene una curva f(x) difícil de integrar, se puede calcular el área debajo de la curva mediante la generación N veces de dos números aleatorios (x, y) que representen las coordenadas. Se cuentan los puntos por encima y por debajo de la curva.
1. Definir el dominio de las posibles entradas 2. Generar entradas de forma aleatoria usando una determinada distribución de probabilidades 3. Generar el cómputo determinístico de los resultados 4. Superponer los resultados de los cómputos individuales para obterner el resultado final
f ( x)dx A
x
•
Este argumento se puede aplicar también a volúmenes.
•
El error del cálculo es proporcional a: 1 / N
no de puntos bajo la curva no de puntos
Juego Guerra Naval
Monte Carlo: método de la fuerza bruta
Generación de Números Aleatorios
• Aplicado a modelización:
Xi+1 = (a Xi + c) mod m
– Múltiples objetos con dinámicas aleatorias Tabla de Nros. aleatorios
– Cuando necesitamos estimar las características probabilísticas de la respuesta del modelo (por ej. tendencia central y dispersión de distribución)
Fenómenos Físicos
Procedimientos Matemáticos
Números Aleatorios
Validación de Series de NA
Variables U(0,1) Variables Aleatorias
Nros. Aleatorios ideales
Generación de Números Aleatorios • Rol preponderante en el proceso de simulación.
1. Distribución Uniforme.
• Para simular necesitamos de números aleatorios como semillas para generar muestras de V.A.
Características de un generador : 1. Distribución Uniforme.
Cualquier número que pertenezca al rango de interés debe tener la misma probabilidad de resultar “sorteado”.
pdf
2. NO Correlación Serial.
2. NO Correlación Serial. v
Las computadoras son Sistemas Determinísticos
La aparición de un número en la secuencia, no afecta la probabilidad de que aparezca otro (o el mismo) número.
Variables pseudoaleatorias
2
16/10/2012
Ejemplo
Números aleatorios TOUR DE COMPUTABILIDAD
La sucesión 1,2,3,4,5,1,2,3,4,5,1,2,3,4,5... es uniforme pero está correlacionada.
Y ALLÍ TENEMOS NUESTRO GENERADOR DE NUMEROS ALEATORIOS
NUEVE NUEVE NUEVE NUEVE NUEVE NUEVE
¿ESTÁ SEGURO QUE SON ALEATORIOS?
ESE ES EL PROBLEMA CON LA ALEATORIEDAD: NUNCA SE PUEDE ESTAR SEGURO.
Si dos sucesiones están negativamente correlacionadas, entonces que xi y yi sean grandes es un evento poco probable
Existen Tests que verifican las condiciones de uniformidad y correlación serial...
Series de números aleatorios “número aleatorio”. “serie de números aleatorios” • “Una sucesión de números es aleatoria si no puede reproducirse eficientemente mediante un programa más corto que la propia serie”
Colección DIEHARD de tests de aleatoriedad (George Marsaglia, http://www.stat.fsu.edu/pub/diehard/) Otros tests de aleatoriedad y generadores alternativos de números aleatorios (http://burtleburtle.net/bob/rand/testsfor.html)
Serie de Números Aleatorios • Son números que deben cumplir los requisitos de espacio equiprobable, es decir, que todo elemento tenga la misma probabilidad de ser elegido y que la elección de uno no dependa de la elección del otro.
• “Una sucesión de números es aleatoria si nadie que utilice recursos computacionales razonables en tiempo razonable puede distinguir entre la serie y una sucesión verdaderamente aleatoria de una forma mejor que tirando una moneda fiel para decidir cuál es cuál”
Propiedades deseables 1. Uniformemente distribuidos. 2. Estadísticamente independientes (no correlación).
3. Periodo largo (sin repetición). 4. Reproducibles y mutables. 5. Sencillo en su implementación. 6. Portabilidad. 7. Método rápido de generación. 8. Poca memoria para la generación.
Mecanismos de generación • Tablas de números aleatorios – RAND (1955), 100,000 números aleatorios (ruido electrónico)
• Fenómenos físicos – Ruido blanco producido por circuitos electrónicos – Recuento de partículas emitidas – Lanzamiento de monedas – Rueda de la fortuna
• Procedimientos matemáticos – Se usan algoritmos para la generación de números aparentemente aleatorios, se entrega una semilla y se generan los sucesores mediante una función
1. Uniformemente distribuidos. 2. Estadísticamente independientes. 1. Periodo largo (sin repetición). 1. Reproducibles y mutables. 2. Sencillo en su implementación. 3. Portabilidad. 1. Método rápido de generación. 2. Poca memoria para la generación.
3
16/10/2012
Otros números aleatorios “naturales”
Números aleatorios
Otra opción es el uso de observaciones del mundo real en la generación de números “al azar”.
Existen algoritmos para generar números pseudo-aleatorios, es decir, que parecen como si hubieran sido generados totalmente al azar, aunque no lo son.
Ejemplos: Uso de la temperatura dentro de la computadora:
Un ejemplo:
Xt+1 = Xt2 mod 31417
Decide un límite de temperatura T. •Si la temperatura actual es mayor que T, la salida es uno. •Si la temperatura es menor o igual a T, la salida es cero.
Un ejemplo más simple (aritmética entera):
Xt+1 = (a Xt + c) mod m
Uso del reloj de la computadora: Toma el último dígito D de la hora actual.
(generador lineal congruencial de Lehmer, 1948)
En computadoras IBM a=314, 159, 269; c=453, 806, 245; m=231 Con m=232-1 genera enteros de hasta 32 bits
•Si D es par, la salida es cero. •Si D es impar, la salida es uno.
Disco rígido ……………………………………...
Si se mantienen las constantes las secuencias son correlacionadas
Una secuencia de ejemplo
Números aleatorios: distribución uniforme
Asignamos en el método de Lehmer X0 = 6, a = 21, c = 3 y b = 100:
0 ≤ x ≤ 1 P(x)dx = dx
X1 = (21 X0 6 + 3) mod 100 = 129 mod 100 = 29
Es el generador básico de números aleatorios.
Secuencia generada:
Todos los lenguajes de programación cuentan con uno de estos generadores:
6, 29, 12, 55, 58, 21, 44, 27, 70, 73, 36, 59, 42, 85, 88, 51, 74, 57, 0, 3, 66, 89, 72, 15, 18, 81, 4, 87, 30, 33, 96, 19, 2, 45, 48, 11, 34, 17, 60, 63, 26, 49, 32, 75, 78, 41, 64, 47, 90, 93, 56, 79, 62, 5, 8, 71, 94, 77, 20, 23, 86, 9, 92, 35, 38, 1, 24, 7, 50, 53, 16, 39, 22, 65, 68, 31, 54, 37, 80, 83, 46, 69, 52, 95, 98, 61, 84, 67, 10, 13, 76, 99, 82, 25, 28, 91, 14, 97, 40, 43
Ej. FORTRAN: iseed=1. x=ran(iseed)
Está combinación nos da números de 0 a 99 y después vuelve a repetir la misma secuencia. Es un algoritmo muy simple por lo cual repite bastante rápidamente.
.
Normalmente están basados en generadores lineales congruenciales (GLC)..
Existen otros muy buenos con cuales no se puede predecir con facilidad qué número es el siguiente habiendo observado los anteriores.
Números aleatorios: método de transformación
Método de la inversa de la curva de acumulación
Supongamos que queremos generar números aleatorios que sigan una densidad de probabilidad P(y), que tiene asociada una probabilidad acumulada
F(y)
(Fig. © “Numerical Recipes”)
Método de Box-Muller para Distribuc. Normal Standard
z1 z2
2 ln(U1 ) cos(2 U 2 ) 2 ln(U1 ) sin(2 U 2 ) y sz m
si
F(y)
es invertible, entonces el número aleatorio
Por lo tanto, se generan números aleatorios
y=F−1(x).
x bajo una distribución y bajo la distribución
uniforme, y se transforman en números aleatorios
P(y).
4
16/10/2012
Ejemplo de método de transformación
Ejemplo
• Ángulo de giro en Insectos 1/ 4 1/ 2 1 2
Modelización estocástica de compuertas de canales iónicos
pdf cdf 1/ 4 1/ 2 1 2
C 0.5
Clustering con escarabajos
cdf
Bibliografía • • • • • •
“Modeling Biological Systems. Principles and applications”, J. Haefner, Springer, 2005. “Computational Cell Biology”, Ch. P. Fall, Springer, 2002. “Numerical recipes” Press, Teukolsky, Vetterling, Flannery, Cambridge University Press, 2007. “Monte Carlo: Concepts, Algorithms, and Applications” G. S. Fishman, Springer, 1995. “Mathematical Modeling of Complex Biological Systems”, A. Bellouquid – M. Dellitala, Birkhauser, 2006. "Computer Modelling of Complex Biological Systems", S. Sitharama Iyengar, CRC Press.
5