Modelos Estocásticos
Breve introducción
Definición
• 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.
¿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
• 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
• Agregar aleatoriedad a un modelo determinístico (parámetros y/o variables de estado).
• 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.
Simulación de fenómenos
estocásticos
• Una clase de algoritmos computacionales
Métodos Monte Carlo
que se basan en:
– repetir muestreo aleatorio
– calcular los resultados
AGs?
• Permiten simular sistemas físicos y/o
matemáticos complejos:
– sistemas con muchos
grados de libertad acoplados
(fluidos)
– estructuras celulares
(canales de membrana)
Métodos Monte Carlo
• Todos poseen el siguiente conjunto de
pasos:
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
Juego Guerra Naval
x y f(x)
puntos de n curva la bajo puntos de n o o A dx x f()• Este argumento se puede aplicar también a volúmenes. • El error del cálculo es
proporcional a: 1/ N • Ejemplo clásico:
Área debajo de una curva. Dada un área
A
fácil de medir, que contiene una curvaf(x)
difícil de integrar, se puedecalcular 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.
Monte Carlo: método de la
fuerza bruta
• Aplicado a modelización:
– Múltiples objetos con dinámicas aleatorias – Cuando necesitamos estimar las
características probabilísticas de la respuesta del modelo (por ej. tendencia central y dispersión de distribución)
Monte Carlo: método de la
fuerza bruta
Generación de Números Aleatorios
Fenómenos Físicos Procedimientos Matemáticos Números Aleatorios Validación de Series de NA Variables U(0,1) Variables Aleatorias Tabla de Nros. aleatorios Xi+1 = (a Xi + c) mod m
Generación de Números Aleatorios
• Rol preponderante en el proceso de simulación. • Para simular necesitamos de números aleatorios comosemillas para
generar muestras de V.A
.Características
de un generador : 1.Distribución Uniforme.2.NO Correlación Serial.
Las computadoras son Sistemas Determinísticos
Variables pseudoaleatorias
v
Nros. Aleatorios ideales
1. Distribución Uniforme.
Cualquier número que pertenezca al rango de interés debe tener la misma probabilidad de resultar “sorteado”.
2. NO Correlación Serial.
La aparición de un número en la secuencia, no afecta la probabilidad de que aparezca otro (o el mismo) número.
Ejemplo
La sucesión 1,2,3,4,5,1,2,3,4,5,1,2,3,4,5... esuniforme
pero estácorrelacionada
.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...
Números aleatorios
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) Y ALLÍ TENEMOS NUESTRO GENERADOR DE NUMEROS ALEATORIOS NUEVE NUEVE NUEVE NUEVE NUEVE NUEVE ¿ESTÁ SEGURO QUE SON ALEATO-RIOS? ESE ES EL PROBLEMA CON LA ALEATORIE-DAD: NUNCA SE PUEDE ESTAR SEGURO. TOUR DE COMPUTABILIDAD
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”
• “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”
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.
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 denú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
Otros números aleatorios “naturales”
Otra opción es el uso de observaciones del mundo real en la generación de números “al azar”.Ejemplos:
Uso de la temperatura dentro de la computadora: 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.
Uso del reloj de la computadora: Toma el último dígito D de la hora actual.
•Si D es par, la salida es cero. •Si D es impar, la salida es uno. Disco rígido
………...
Números aleatorios
Existen algoritmos para generar números pseudo-aleatorios, es decir, que parecen como si hubieran sido generados
totalmente al azar, aunque no lo son. Un ejemplo:
X
t+1= X
t2mod 31417
Un ejemplo más simple (aritmética entera):
X
t+1= (a X
t+ c) mod m
(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 se mantienen las constantes las secuencias son correlacionadas
Una secuencia de ejemplo
Asignamos en el método de LehmerX0 = 6, a = 21, c = 3 y b = 100:
X1 = (21 X0 6 + 3) mod 100 = 129 mod 100 = 29
Secuencia generada: 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
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.
Existen otros muy buenos con cuales no se puede predecir con facilidad qué número es el siguiente habiendo observado los anteriores.
0 ≤ x ≤ 1 P(x)dx = dx
Es el generador básico de números aleatorios.
Todos los lenguajes de programación cuentan con uno de estos generadores:
Ej. FORTRAN: iseed=1. . x=ran(iseed)
Normalmente están basados en generadores lineales congruenciales (GLC)..
Números aleatorios: distribución uniforme
Método de la inversa de la curva de acumulación
Método de Box-Muller para Distribuc. Normal Standard
2
ln(
)
sin(
2
)
)
2
cos(
)
ln(
2
2 1 2 2 1 1U
U
z
U
U
z
m sz y Supongamos que queremos generar números aleatorios que sigan una densidad de probabilidad P(y), que tiene asociada una probabilidad acumulada F(y)
si F(y) es invertible, entonces el número aleatorio y=F−1(x).
Por lo tanto, se generan números aleatorios xbajo una distribución uniforme, y se transforman en números aleatorios y bajo la distribución P(y).
Números aleatorios: método de
transformación
Ejemplo de método de
transformación
• Ángulo de giro en Insectos
cdf
cdf pdf
Clustering con escarabajos
5 . 0 C 2 1 2 / 1 4 / 1 2 1 2 / 1 4 / 1
Ejemplo
Modelización estocástica de
compuertas de canales iónicos
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.