Durante el desarrollo de la materia se presentaran herramientas para el análisis principalmente de información presentada en series de tiempo, así como un poco de análisis espacial (este no es un curso de Modelación!), a continuación se detallan los temas que se desarrollaran.
Tareas: 70%
Trabajo Final: 30%
Para el desarrollo de la materia es indispensable que nos olvidemos de Excel y todos sus derivados y primos. Esto requiere el uso de herramientas un poco más avanzadas, en donde el ususario (ustedes) pueden programar y llevar un poco más de control sobre los datos.
La herramienta recomendada es Python 2.7, pero tambień pueden usar algún lenguaje de su preferencia:
Nota: Con respecto al lenguaje, los dos profesores les podemos dar un buen apoyo en Python y en el uso de sus paquetes derivados, en Matlab les podemos ayudar un poco, y en los demás lenguajes no tenemos ni idea.
Para el trabajo del curso es importante contar con los siguientes paquetes de Python:
Estos paquetes (y otros) los iremos instalando en la medida en que sean necesarios, lo importante es aprender a hacerlo.
Acá encontrarán una buena introducción a Python y un buen ejemplo de instalación y manejo de paquetes: Link al manejo basico de python
De acuerdo al tipo de usuario se recomienda lo siguientes gestores:
Para la edición de código existen múltiples alternativas, algunas pueden ser:
Es recomendable cuando elijan que la herramienta de edición elegida tenga por lo menos las siguientes características:
Python es un lenguaje interpretado (no compilado), por lo tanto el código una ves hecho pasa a ser interpretado por un Intérprete, el cual convierte en ordenes para la máquina las instrucciones escritas.
El código de python se ejecuta en terminales o consolas, a continuación se describen algunas:
Similar al tema del editor, un buen intérprete debe auto-completar y ojala colorear.
De acuerdo a la ecuación presentada a continuación genere:
Ecuación para generación de números psuedo-aleatorios que se distribuyen uniformemente
$X_{n+1} = (a X_{n} + b) \setminus m$
Nota: Esta ecuación entrega los números entre $0$ a $m$, en el caso de los uniformes deben quedar escalados de $0$ a $1$, en el caso de los normales, deben tener $\sigma = 1$ y $\mu = 0$.
Ojo. No pueden usar ningún módulo random de python o de su lenguaje de programación
In [5]:
#paquetes importados de python
%matplotlib inline
import numpy as np
import pylab as pl
#Definición de 1000 números aleatorios
Uniformes = np.random.uniform(-4,4,100)
Normales = np.random.normal(0,1,100)
In [8]:
#Obtenciónd e histogramas
hU,bU = np.histogram(Uniformes,bins=7)
hN,bN = np.histogram(Normales,bins=7)
hU=hU.astype(float); hU=hU/hU.sum()
hN=hN.astype(float); hN=hN/hN.sum()
#Generación de la figura
fig=pl.figure()
ax=fig.add_subplot(111)
ax.plot(bU[1:],hU,'b',lw=2,label='Uniformes')
ax.plot(bN[1:],hN,'r',lw=2,label='Normales')
ax.fill_between(bU[1:],hU,color='b',alpha=0.2)
ax.fill_between(bN[1:],hN,color='r',alpha=0.2)
ax.set_xlabel('$X$',size=15)
ax.set_ylabel('$f(x)$',size=15)
ax.set_xlim(-3,3)
ax.grid(True)
ax.legend(loc=0)
pl.show()
In [3]:
Uniformes
Out[3]:
In [7]:
pl.plot(Uniformes)
Out[7]:
In [ ]: