Download Modelos Estocásticos - Modelización

Document related concepts

Pruebas de aleatoriedad wikipedia , lookup

Proceso estocástico wikipedia , lookup

Generador de números pseudoaleatorios wikipedia , lookup

Aleatoriedad wikipedia , lookup

Teoría de la probabilidad wikipedia , lookup

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