viernes, 11 de mayo de 2012

Reporte # 4

Reporte # 4

Un reporte que explica en qué sentido el fenómeno que estás estudiando tiene características de un sistema caótico y qué implicaciones tiene esto en su modelado.


Un programa que contiene uno o los dos de los elementos siguientes: (a) análisis de datos reales que indica que se trata de un señal caótico (típicamente una serie de tiempo, pero podría ser otra cosa) y (b) sistema de ecuaciones u otro modelo "artificial" para el fenómeno que da lugar a cáos - ambos (a) y (b) incluyendo código fuente y alguna ilustración de lo que se obtuvo

Comenzando con el Reporte


Los sistemas dinámicos se pueden clasificar en tres:
  • Estables
  • Inestables
  • Caóticos
Explicando cada uno: un sistema estable tiende a lo largo del tiempo a un punto, u órbita, según su dimensión (atractor o sumidero). Un sistema inestable se escapa de los atractores.

En un sistema caótico manifiesta o presenta los dos comportamientos.

Haciendo mas extensa la definición.

Un sistema caótico se caracteriza por el hecho de que una pequeña variación en las condiciones iniciales puede llegar a hacerlo impredecible en el curso del tiempo; por ejemplo: perder el metro nos lleva, en principio, a una situación predecible que se puede traducir en un retraso de unos diez minutos de aquello que queríamos hacer.


Es imposible saber las variaciones y es por eso que no podemos conocer con exactitud los acontecimientos futuros. Como no se puede saber los valores de las variables que afectan, se dice que es un sistema caótico en donde cualquier evento por insignificante que sea tiene el poder de cambiar el sistema por completo.

Lo que mas representa a los sistemas caóticos son los Fractales

Fractales

Son objetos semigeométrico cuya estructura básica, fragmentada o irregular, se repite a diferentes escalas.

El término fractal proviene del latín fractus: quebrar.


Fue introducido en 1970 por Benoit Mandelbrot, en su libro “La geometría Fractal de la Naturaleza”. Pero los fractales en sí han existido por mucho tiempo.

La Geometría Fractal es un lenguaje, más que un conjunto de figuras. Este lenguaje utiliza ciertos algoritmos iterativos, vale decir reglas y procedimientos repetitivos, que se aplican hasta conseguir una estructura límite que es el fractal resultante.


Un Fractal Natural es un elemento de la naturaleza que puede ser descrito mediante la geometría fractal. Las nubes, las montañas, el sistema circulatorio, las líneas costeras o los copos de nieve son fractales naturales.

Alfombra de Sierpinski

La alfombra de Sierpiński es un conjunto fractal descrito por primera vez por Wacław Sierpiński en 1916.

La alfombra de Sierpinski es una variante de un Conjunto de Cantor plano en la que el cuadrado inicial se transforma suprimiéndole el cuadrado central de lado 1/3. En cada uno de los 8 cuadrados de lado 1/3 que forman la figura restante se repite esta operación. Y así sucesivamente.

   

Las formulas para determinarla consisten en esto:



f 1 (x,y) = ( x / 3 , y / 3 )
f 2 (x,y) = ( x / 3 + 1 / 3 , y /3 )
f 3 (x,y) = ( x / 3 + 2 / 3 , y / 3 )
f 4 (x,y) = ( x / 3 , y / 3 + 1 / 3 )
f 5 (x,y) = ( x / 3 + 2 / 3 , y / 3 + 1 / 3)
f 6 (x,y) = ( x / 3 , y / 3 + 2 / 3 )
f 7 (x,y) = ( x / 3 + 1 / 3 , y / 3 + 2 / 3 )
f 8 (x,y) = ( x / 3 + 2 / 3 , y / 3 + 2 / 3 )


Como ven no se incluye el punto x/3 + 1/3,  y / 3 + 1 / 3 ya que este seria el punto centro y como queremos que este blanco pues no se pone.


Código


Me base del Blog de Abraham 



Para hacer el código ya que lo que el hizo tiene mucha por no decir demasiada semejanza con lo mío.


A continuación pongo el código hecho en Python para generarlo.





Y aquí la imagen obtenida por gnuplot.






Cabe recalcar que mientras mas iteraciones le pidas a Python mas preciso y detallado se vera la imagen (considerar que Python se tomaría un tiempo para grandes iteraciones, así que no estresarse).


50000 Iteraciones

100000 Iteraciones




Demostrando el Caos


El siguiente paso seria el jugar un poco con el, en este cambiaremos los valores de algunas ecuaciones para ver el resultado en la imagen.


Cambiando la fórmula de X en r ==1 por X = X/4





Cambiando la fórmula de Y en r ==7 por Y = X/3 + 1/3






Cambiando la fórmula de X en r == 4 por X = X/3 + 1/3



Bibliografías

jueves, 10 de mayo de 2012

Reporte # 3

Reporte # 3


Pruebas estadísticas para los Números Pseudoaleatorios

Esta tarea consiste en a través de investigación en línea, elige una librería de generación de números Pseudoaleatorios y pruebas estadísticas. Implementa a base de esto un programa (máx. 5 puntos) para determinar a) si los números generados de acoplan a la distribución indicada y b) si se puede considerar que los números generados presentan características deseables de "números aleatorios". Reporta los resultados junto con los mecanismos que seleccionaste (máx. 5 puntos).

Tiene dos objetivos principales determinar si los números aleatorios generados se acoplan a la distribución indicada y considerar sí los números generados presentan las características de "números aleatorios".

A continuación indico las herramientas utilizadas para hacer esto:

Lenguaje de Programación: Octave.

Distribución Elegida: Distribución Gamma, en Octave la encuentras como gamrnd().

Lenguaje Encargado de Graficar los resultados: Gnuplot.

Prueba elegida para ver si los números presentan caracteristicas de números aleatorios: Prueba de Frecuencia de Bloques.


Continuando

Determinar si los números aleatorios generados se acoplan a la distribución indicada.

Primeramente la sintaxis que maneja esta Distribución.



gamrnd (a, b, sz)

Los primeros dos valores son los parámetros que podra usar el código (para nuestro problema seria 1, el valor a proporcionarle), y el ultimo es el tamaño del arreglo (para generar arreglos apartir de 2 x 2 incluir en sz el 2 o el numero deseado).

Para saber que numeros darle habrá que ver como queremos que quede la gráfica para esto habría que observar gráficas ya definas y de ahí solo tomar los que vallamos a usar.


En base a lo anterior los valores que usare sera k = 9 y Theta = 0.5, por ende me quedaría una gráfica parecida a la negra.

Y cuya función de densidad esta dada por la siguiente formula.


Comenzando con el Primer Punto

Determinar si los números aleatorios generados se acoplan a la distribución indicada.

A continuación muestro el código hecho en Octave.


Este código solamente genera una cantidad (definida por el usuario) de números aleatorios y los guarda en un archivo .dat, se recomienda generar miles de números para que la gráfica quede lo mas exacta posible.


                               

El siguiente paso sera el generar la imagen y compararla con la de la distribución.

Para hacer esto hacemos uso de Gnuplot y del Siguiente Código.

En este código se compara dos cosas, los valores del archivo .dat y de la formula densidad de la distribución.
                                

Como logran observar la gráfica, lo figura en rojo es la generada con la formula y el histograma es de los valores del archivo.

Con esto determinamos que estos números generados si acoplan o pertenecen a esta Distribución.


¿Considerar sí los números generados presentan las características de "números aleatorios"?

Para finalizar esta entrada hay que verificar que los números generados anteriormente, realmente sean aleatorios (tengan propiedad).


Primeramente la prueba que utilizaremos es la de frecuencia por bloques, que nos dice que trata de verificar que la cantidad de ceros y unos por bloque de un arreglo total de números sea pareja.


Donde la cantidad de bloques N esta dado por n/m, donde n es el número de elementos, y m la cantidad de elementos por bloque.


A continuación el código y la imagen donde se demuestre que se esta usando la Prueba y los resultados.





Bibliografías

http://www.network-theory.co.uk/docs/octave3/octave_236.html
http://www.duke.edu/~hpgavin/gnuplot.html
http://es.wikipedia.org/wiki/Distribuci%C3%B3n_gamma

http://csrc.nist.gov/groups/ST/toolkit/rng/stats_tests.html

viernes, 20 de abril de 2012

Reporte # 2

Reporte # 2

Procesos Estocasticos Discretos y Continuos

Problema planteado a resolver.

Tengo un libro de 300 páginas que consta de 16 capítulos, cada capitulo incluye una portada de presentación. Cual es la probabilidad de que al elegir una pagina al azar se eliga alguna de las 16 portadas.

Para conocer a que tipo de distribución pertenece mi problema, explicare cada uno de ellos.

La distribución puede ser de dos formas Discreta o Continua.

Distribución Discreta

La Distribución de Variable Discreta es aquella en donde las variables que puede tomar tienen un número determinado de valores.

Por ejemplo: Con un dado se sabe que las variables pueden ser del 1 al 6 o en una moneda con las variables cara o cruz.

Algunas Distribuciones que pertenecen a esta son:

Distribución Binomial
Distribución de probabilidad discreta que mide el número de éxitos en una secuencia de n ensayos de Bernoulli independientes entre sí, con una probabilidad fija p de ocurrencia del éxito entre los ensayos.

En pocas palabras es la distribución de Bernoulli pero con repeticiones.

 

p -> Exito
q -> Fracaso
n -> Numero de Repeticiones
k -> Número de Exitos producidos en este experimento

Distribución Poisson
Es la probabilidad que ocurra un determinado número de eventos durante cierto periodo de tiempo.

f(k;\lambda)=\frac{e^{-\lambda} \lambda^k}{k!},\,\!
donde
  • k es el número de repeteciones del evento o fenómeno (la función nos da la probabilidad de que el evento suceda precisamente k veces).
  • λ es un parámetro positivo que representa el número de veces que se espera que ocurra el fenómeno durante un intervalo dado.
  • e base de los logaritmos naturales (e = 2,71828 ...)
Distribución de Bernoulli
Experimento en el que sólo se pueden obtener dos resultados (habitualmente etiquetados como éxito y fracaso).

Los Resultados que puede tomar son sólo dos valores, 0 y 1. Habitualmente, se utiza el 1 para representar el éxito, p representaria al exito y q seria el fracaso.

p + q = 1

Distribución Continua

Es aquella que puede tomar cualquiera de los infinitos valores que existan dentro de un intervalo.

En el caso de variable continua la distribución de probabilidad es la integral de la función de densidad, por lo que tenemos entonces que:
F(x) = P( X \le x ) = \int_{-\infty}^{x} f(t)\, dt
Algunas de las distribuciones de variable continua son las siguientes:
  • Distribución Exponencial
  • Distribución Normal
  • Distribución Gamma
  • Distribución Beta
  • Distribución Uniforme (continua)
Volviendo a mi Problema

Mi problema es de Distribución discreta ya que tengo definido hasta donde llega o sea el saber en donde termina ya este determinado.

Tenemos que el libro es de 300 páginas y 16 son los cápitulos y sus respectivas portadas, por lo tanto los valores de p y q son:

p -> 16/300 = 0.05333

q = 1 - p ->q = 1 - 16/300 --> q = 1 - 0.05333 -> q = 0.94666

O sea la probabilidad de obtener una portada seria del 5.33%.

Si escogiera 6 paginas al azar cual seria la probabilidad de que alguna sea una portada.

Tendriamos los siguientes valores:

p = 0.05333
n = 6
k = 1

En base a esta información y a la definición de cada distribución tenemos que el el Problema es de Distribución Binomial

Código en Octave utilizado para resolver el problema y el resultado obtenido.

0 0.719767
1 0.243285
2 0.034263
3 0.002574
4 0.000109
5 0.000002
6 0.000000


A continuación el Código y la Grafica generada en Gnuplot



En base a los valores generados por octave, el resultado de mi problema seria 1 0.243285 o sea 24.3285% (recuerden que en mi problema buscaba saber cual seria la probabilidad si se eligiera solamente a uno), la probabilidad de elegir una portada entre 6 al azar es del 24.3285%.

Por ultimo ver si mi problema puede ser continuo

Con la redacción que maneja mi problema, no puede ser continuo ya que no manejo valores que puedan ayudar a lograrlo, por ejemplo: el tiempo.

Para hacerlo continuo, primeramente tengo que saber a cual Distribución Continua se asemeja el problema y modificar los valores en base a la Distribución elegida.

Me resulto difícil hacer esto ya que no sabia la manera de relacionar mi problema que uno continuo, así que la forma que se eligió fue observar cada una de las gráficas que genera cada una de las distribuciones continuas,gracias a la observación mi problema puede ser de la Distribución Exponencial.


Exponential distribution pdf.png
Distribución Exponencial

Una vez definido lo anterior, como mencione al principio de este punto, hay que ver que valores y parte del problema cambiar.

Observando definiciones de la Distribución, obtuve que la manera de lograrlo seria agregándole tiempo, específicamente cuando se logre el problema.

Dicho de otra manera, ya con la redacción del problema.

Seria el mismo solo obtener el tiempo que se tarde para lograr la elección de 1 Portada.

La formula de la Distribución Exponencial es:


Tenemos que:

e = Constante de Euler (e = 2,71828182845).
t = Tiempo (De nuestro problema seria el tiempo que tarda para lograr la elección de 1 Portada).
Lambda = Frecuencia con que ocurre el problema en cierto tiempo.

Bibliografías

http://nutriserver.com/Cursos/Bioestadistica/Distribuciones_Discretas.html
http://es.wikipedia.org/wiki/Ensayo_de_Bernoulli
http://es.wikipedia.org/wiki/Distribuci%C3%B3n_Poisson
http://es.wikipedia.org/wiki/Distribuci%C3%B3n_exponencial
http://www.ub.edu/stat/GrupsInnovacio/Statmedia/demo/Temas/Capitulo4/B0C4m1t3.htm

miércoles, 8 de febrero de 2012

Reporte # 1

Modelos Deterministas

Un Modelo Determinista es un tipo de modelo matemático donde las mismas entradas producirán invariablemente las mismas salidas, no contemplándose la existencia del azar ni el principio de incertidumbre.

O como su nombre lo indica es un modelo en el cual ya todo está determinado, esto quiere decir que ya están predefinidas las entradas y  las salidas que se darán obviamente estarán ya determinadas, evitando posibles diferencias.

El uso de estos modelos no contempla el azar o sea la generación de cosas aleatorias, pero si es posible que ocurra debido a algún error en el diseño o al momento de probarlo.

Un ejemplo de un modelo determinista seria la Realización de un inventario.


El uso del inventario nos ayuda a saber con cuanto material contamos y saber también en donde se encuentra (por ejemplo en las empresas para saber si consiguen o no mas producto).

Aquí un pseudocódigo que explica un poco mejor el proceso del inventario:


Explicando el pseudocódigo de otra manera seria:
  • Definir que objetos se van a inventariar.
  • Indicar la cantidad de ese producto
  • La fecha en que se realiza
  • Que área se inventario
  • Quien lo realizo 
El uso de esto evita que ocurran cosas inesperadas, ya que siempre se tienen que introducir los valores del producto a inventariar. 

Bibliografías 

http://es.wikipedia.org/wiki/Modelo_determin%C3%ADstic
http://www.material_logistica.ucv.cl/Modelos%20Deterministas.htm
http://www.serviciosrfid.com/img/inventario.jpg