SlideShare una empresa de Scribd logo
1 de 36
Descargar para leer sin conexión
Gestión y Análisis de
Datos para las Ciencias
   Económicas con
      Python y R

Emancipando la Economía
    Computacional
      Francisco Palm
   Spiralia :: SoLVe :: ULA
¿Economía
   Computacional?

Intersección entre el Análisis
 Económico y la Informática
¿De qué hay que
   liberarse?
¿De qué hay que
    liberarse?
  Herramientas inferiores
    Enfoques limitados
    Formatos cerrados
  Obsolencia planificada
Interoperabilidad reducida
"...es probable que el
   crecimiento conjunto de
Python y R sea el factor más
importante en el futuro de la
 estadística computacional".
    "The Future of Statistical Computing"
             Leland Wilkinson
(TECHNOMETRICS, Vol. 50, Num. 4, Nov. 2008),
¿Qué es Python?
¿Qué es Python?
      ➔ Lenguaje dinámico
➔multiparadigma, multipropósito,

         multiplataforma,
  multiimplementación... multi*
  ➔ El único compromiso es la

 productividad del programador
  ➔ Viene con las pilas puestas
¿Qué es R?
¿Qué es R?
    ➔Entorno para computación
        estadística y gráficos
  ➔ Un amplio rango de técnicas y

    utilidades (2000+ Paquetes)
  ➔ Varios años por delante de sus

contrapartes privativas (SAS, SPSS).
  ➔ Potentes capacidades gráficas
¿En qué se parecen
   Python y R?
¿En qué se parecen
     Python y R?
       Lenguajes interpretados
                Libres


    "Armas secretas" de Google


 Desarrollados por comunidades

internacionales e independientes
   Amplia difusión internacional


       Modulares y extensibles
¿En qué se diferencian
     Python y R?
¿En qué se diferencian?
      Python          R
    Horizontal,            Vertical, análisis
     multipropósito          estadístico
   Diseñado para ser      Orientación
    sencillo                científica
   Técnicas               Funcional, pero
    avanzadas de            conservador
    programación           Hay que instalarlo
   Incluido en Linux       (incluso en Linux)
Python: numpy
http://numpy.scipy.org/
>>> from numpy import *
>>> from numpy.linalg import solve
>>>
>>> # Sistema a resolver para (x0,x1,x2):
>>> # 3 * x0 + 1 * x1 + 5 * x2 = 6
>>> # 1 * x0 +            8 * x2 = 7
>>> # 2 * x0 + 1 * x1 + 4 * x2 = 8
>>>
>>> a = array([[3,1,5],[1,0,8],[2,1,4]])
>>> b = array([6,7,8])
>>> x = solve(a,b)
>>> print x            # La solución!
[-3.28571429 9.42857143 1.28571429]
>>>
>>> dot(a,x)           # Verificación
array([ 6., 7., 8.])
Python: scipy
http://www.scipy.org/
from scipy import optimize, special
from numpy import *
from pylab import *
x = arange(0,10,0.01)
for k in arange(0.5,5.5):
    y = special.jv(k,x)
    plot(x,y)
    f = lambda x: -special.jv(k,x)
    x_max = optimize.fminbound(f,0,6)
    plot([x_max], [special.jv(k,x_max)],'ro')

title(u'Funciones Bessel con optimos locales')
show()
Python: Matplotlib
http://matplotlib.sourceforge.net/
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()
ax = Axes3D(fig)
X = np.arange(-5, 5, 0.25)
Y = np.arange(-5, 5, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)
ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.jet)

plt.show()
Python: persistencia

       pickle
     marshall
       sqlite
       zodb
    sqlalchemy
Python: Django
http://www.djangoproject.com/
Python: moin
http://moinmo.in
R: Análisis Espacial
http://cran.r-project.org/web/views/Spatial.html
library(spatstat)
data(cells)
cells
  planar point pattern: 42 points
  window: rectangle = [0,1] x [0,1]
plot(cells)
plot(density.ppp(cells))
plot(Kest(cells))
R: Econometría y series de
         tiempo
http://cran.r-project.org/web/views/Econometrics.html
 http://cran.r-project.org/web/views/TimeSeries.html
> mort = ts(scan("cmort.dat"),start=1970, frequency=52)
Read 508 items
> part = ts(scan("part.dat"),start=1970, frequency=52)
Read 508 items
> ded = ts.intersect(mort,part,part4=lag(part,-4),dframe=TRUE)
> fit = lm(mort~part+part4, data=ded, na.action=NULL)
> summary(fit)

Call:
lm(formula = mort ~ part + part4, data = ded, na.action = NULL)

Residuals:
     Min      1Q    Median       3Q       Max
-22.7429 -5.3677   -0.4136   5.2694   37.8539

Coefficients:
            Estimate Std. Error t value Pr(>|t|)
(Intercept) 69.01020    1.37498 50.190 < 2e-16 ***
part          0.15140   0.02898   5.225 2.56e-07 ***
part4         0.26297   0.02899   9.071 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 8.323 on 501 degrees of freedom
Multiple R-squared: 0.3091,   Adjusted R-squared: 0.3063
F-statistic: 112.1 on 2 and 501 DF, p-value: < 2.2e-16
R: Finanzas
http://cran.r-project.org/web/views/Finance.html
R: Optimización
http://cran.r-project.org/web/views/Optimization.html
# Formular el problema: maximizar
#   x1 + 9 x2 +    x3 sujeto a
#   x1 + 2 x2 + 3 x3 <= 9
# 3 x1 + 2 x2 + 2 x3 <= 15
#
f.obj <- c(1, 9, 3)
f.con <- matrix (c(1, 2, 3, 3, 2, 2), nrow=2, byrow=TRUE)
f.dir <- c("<=", "<=")
f.rhs <- c(9, 15)
#
# Ejecutar.
#
lp ("max", f.obj, f.con, f.dir, f.rhs)
## Salida: Exito: la funcion objetivo es 40.5
lp ("max", f.obj, f.con, f.dir, f.rhs)$solution
## Salida: [1] 0.0 4.5 0.0
#
# Obtener variables duales
lp ("max", f.obj, f.con, f.dir, f.rhs, compute.sens=TRUE)$duals
## Salida: [1]    4.5   0.0 -3.5   0.0 -10.5
R: rattle
http://rattle.togaware.com/
R: persistencia
   read.table, write.table

DBI, filehash, filehashsqlite,
 RMySQL, RODBC, ROracle,
         RPostgreSQL
TSSQLite, TSMySQL, TSodbc,
      TSPostgreSQL ...
Python & R: Sage
http://www.sagemath.org/
Python & R: manageR
http://www.ftools.ca/manageR/
Notas Finales

      Komodo Edit – Sciviews-K
http://www.sciviews.org/SciViews-K/index.html
Contacto

francisco.palm@gmail.com
       fpalm@ula.ve

Más contenido relacionado

La actualidad más candente

La actualidad más candente (11)

Suma y multiplicacion Programa en C++
Suma y multiplicacion Programa en C++Suma y multiplicacion Programa en C++
Suma y multiplicacion Programa en C++
 
La programacion logica
La programacion logicaLa programacion logica
La programacion logica
 
La programacion logica
La programacion logicaLa programacion logica
La programacion logica
 
Lenguaje c++
Lenguaje c++Lenguaje c++
Lenguaje c++
 
Ejercicios Recomendados (Tema Ii)
Ejercicios Recomendados (Tema Ii)Ejercicios Recomendados (Tema Ii)
Ejercicios Recomendados (Tema Ii)
 
C++
C++C++
C++
 
Instrucciones pic
Instrucciones picInstrucciones pic
Instrucciones pic
 
Reporte de practicas
Reporte de practicasReporte de practicas
Reporte de practicas
 
Introducción al lenguaje c
Introducción al lenguaje cIntroducción al lenguaje c
Introducción al lenguaje c
 
Introducción al lenguaje c
Introducción al lenguaje cIntroducción al lenguaje c
Introducción al lenguaje c
 
Ap05
Ap05Ap05
Ap05
 

Destacado

Haz crecer tu pyme en Linkedin
Haz crecer tu pyme en LinkedinHaz crecer tu pyme en Linkedin
Haz crecer tu pyme en LinkedinOMEP Murcia
 
Enfocate en tus clientes
Enfocate en tus clientesEnfocate en tus clientes
Enfocate en tus clientesairglobaloffice
 
Comunicación estratégica en turismo rural (Castilla-La Mancha)
Comunicación estratégica en turismo rural (Castilla-La Mancha)Comunicación estratégica en turismo rural (Castilla-La Mancha)
Comunicación estratégica en turismo rural (Castilla-La Mancha)EscapadaRural
 
Matthias Kröner - Innovation in Banking & Finance
Matthias Kröner  - Innovation in Banking & FinanceMatthias Kröner  - Innovation in Banking & Finance
Matthias Kröner - Innovation in Banking & FinanceArjen Strijker
 
Calendariodelapicultor
CalendariodelapicultorCalendariodelapicultor
CalendariodelapicultorMara Rodriguez
 
Talentpro Brochure Vii
Talentpro Brochure   ViiTalentpro Brochure   Vii
Talentpro Brochure Viinupursaini
 
Hapa Productions Services Deck
Hapa Productions Services DeckHapa Productions Services Deck
Hapa Productions Services DeckStephen Henderson
 
Tabajo final unidad i ill
Tabajo final unidad i illTabajo final unidad i ill
Tabajo final unidad i illLorenitaaaaaaaa
 
Teknogirişim sermayesi desteği örnek ön başvuru dosyası
Teknogirişim sermayesi desteği örnek ön başvuru dosyasıTeknogirişim sermayesi desteği örnek ön başvuru dosyası
Teknogirişim sermayesi desteği örnek ön başvuru dosyasıKapsam Denetim
 

Destacado (20)

Aprender con python
Aprender con pythonAprender con python
Aprender con python
 
Haz crecer tu pyme en Linkedin
Haz crecer tu pyme en LinkedinHaz crecer tu pyme en Linkedin
Haz crecer tu pyme en Linkedin
 
Enfocate en tus clientes
Enfocate en tus clientesEnfocate en tus clientes
Enfocate en tus clientes
 
Comunicación estratégica en turismo rural (Castilla-La Mancha)
Comunicación estratégica en turismo rural (Castilla-La Mancha)Comunicación estratégica en turismo rural (Castilla-La Mancha)
Comunicación estratégica en turismo rural (Castilla-La Mancha)
 
GMIC Sweden intro
GMIC Sweden introGMIC Sweden intro
GMIC Sweden intro
 
Matthias Kröner - Innovation in Banking & Finance
Matthias Kröner  - Innovation in Banking & FinanceMatthias Kröner  - Innovation in Banking & Finance
Matthias Kröner - Innovation in Banking & Finance
 
2013 01 21 diario de mallorca
2013 01 21 diario de mallorca2013 01 21 diario de mallorca
2013 01 21 diario de mallorca
 
Calendariodelapicultor
CalendariodelapicultorCalendariodelapicultor
Calendariodelapicultor
 
Talentpro Brochure Vii
Talentpro Brochure   ViiTalentpro Brochure   Vii
Talentpro Brochure Vii
 
Glossar Scanservice A-Z
Glossar Scanservice A-ZGlossar Scanservice A-Z
Glossar Scanservice A-Z
 
CAMPYLOBACTERIOSIS PUB
CAMPYLOBACTERIOSIS   PUBCAMPYLOBACTERIOSIS   PUB
CAMPYLOBACTERIOSIS PUB
 
Efma-Journal 234
Efma-Journal 234Efma-Journal 234
Efma-Journal 234
 
Creadigital2015
Creadigital2015Creadigital2015
Creadigital2015
 
Hapa Productions Services Deck
Hapa Productions Services DeckHapa Productions Services Deck
Hapa Productions Services Deck
 
kadri
 kadri kadri
kadri
 
Polímeros
PolímerosPolímeros
Polímeros
 
Contrato Con Anexos Ytii
Contrato Con Anexos YtiiContrato Con Anexos Ytii
Contrato Con Anexos Ytii
 
Tabajo final unidad i ill
Tabajo final unidad i illTabajo final unidad i ill
Tabajo final unidad i ill
 
NIELSEN COMPAÑY
NIELSEN COMPAÑYNIELSEN COMPAÑY
NIELSEN COMPAÑY
 
Teknogirişim sermayesi desteği örnek ön başvuru dosyası
Teknogirişim sermayesi desteği örnek ön başvuru dosyasıTeknogirişim sermayesi desteği örnek ön başvuru dosyası
Teknogirişim sermayesi desteği örnek ön başvuru dosyası
 

Similar a Gestión y Análisis de Datos para las Ciencias Económicas con Python y R

Similar a Gestión y Análisis de Datos para las Ciencias Económicas con Python y R (20)

Presentacion Python
Presentacion  Python Presentacion  Python
Presentacion Python
 
Python y Flink
Python y FlinkPython y Flink
Python y Flink
 
Computación distribuida usando Python
Computación distribuida usando PythonComputación distribuida usando Python
Computación distribuida usando Python
 
Tp1 2006
Tp1 2006Tp1 2006
Tp1 2006
 
R manual
R manualR manual
R manual
 
Viernes Tecnicos DTrace
Viernes Tecnicos DTraceViernes Tecnicos DTrace
Viernes Tecnicos DTrace
 
Python101
Python101Python101
Python101
 
Python workshop
Python workshopPython workshop
Python workshop
 
Utp pds_lab1 introduccion a mat_lab
 Utp pds_lab1 introduccion a mat_lab Utp pds_lab1 introduccion a mat_lab
Utp pds_lab1 introduccion a mat_lab
 
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdf
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdfSesion1_Ciencia_de_Datos-Introduccion a Pithon.pdf
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdf
 
Articulo en r
Articulo en rArticulo en r
Articulo en r
 
Curso r.diaz-uriarte
Curso r.diaz-uriarteCurso r.diaz-uriarte
Curso r.diaz-uriarte
 
Curso de R: 1.1. introducción al lenguaje (Objetos y operadores básicos)
Curso de R: 1.1. introducción al lenguaje (Objetos y operadores básicos)Curso de R: 1.1. introducción al lenguaje (Objetos y operadores básicos)
Curso de R: 1.1. introducción al lenguaje (Objetos y operadores básicos)
 
FdP_Diapositivas_2018
FdP_Diapositivas_2018FdP_Diapositivas_2018
FdP_Diapositivas_2018
 
R Introducción
R IntroducciónR Introducción
R Introducción
 
1.4 - Rompiendo la secuencialidad_ Estructuras Repetitivas.pdf
1.4 - Rompiendo la secuencialidad_ Estructuras Repetitivas.pdf1.4 - Rompiendo la secuencialidad_ Estructuras Repetitivas.pdf
1.4 - Rompiendo la secuencialidad_ Estructuras Repetitivas.pdf
 
R: Taller de Introducción
R: Taller de IntroducciónR: Taller de Introducción
R: Taller de Introducción
 
Yudy Centeno M
Yudy Centeno MYudy Centeno M
Yudy Centeno M
 
Como programar en java
Como programar en java   Como programar en java
Como programar en java
 
A1 u1-16230227
A1 u1-16230227A1 u1-16230227
A1 u1-16230227
 

Más de Francisco Palm

Aprendizaje software libre
Aprendizaje software libreAprendizaje software libre
Aprendizaje software libreFrancisco Palm
 
Pensando La Migracion Como Un Hacker
Pensando La Migracion Como Un HackerPensando La Migracion Como Un Hacker
Pensando La Migracion Como Un HackerFrancisco Palm
 
La Programación de Videojuegos con Python como Estrategia para una Alfabetiza...
La Programación de Videojuegos con Python como Estrategia para una Alfabetiza...La Programación de Videojuegos con Python como Estrategia para una Alfabetiza...
La Programación de Videojuegos con Python como Estrategia para una Alfabetiza...Francisco Palm
 
Python Aumenta Cinco Veces la Productividad
Python Aumenta Cinco Veces la ProductividadPython Aumenta Cinco Veces la Productividad
Python Aumenta Cinco Veces la ProductividadFrancisco Palm
 
Sistemas de Gestión de Contenido Libres (MoinMoin y Plone)
Sistemas de Gestión de Contenido Libres (MoinMoin y Plone)Sistemas de Gestión de Contenido Libres (MoinMoin y Plone)
Sistemas de Gestión de Contenido Libres (MoinMoin y Plone)Francisco Palm
 
Herramientas para el Desarrollo de Software Libre
Herramientas para el Desarrollo de Software LibreHerramientas para el Desarrollo de Software Libre
Herramientas para el Desarrollo de Software LibreFrancisco Palm
 
Python: programacion para el Poder Popular
Python: programacion para el Poder PopularPython: programacion para el Poder Popular
Python: programacion para el Poder PopularFrancisco Palm
 
Geomatica Libre para el Socialismo
Geomatica Libre para el SocialismoGeomatica Libre para el Socialismo
Geomatica Libre para el SocialismoFrancisco Palm
 
Taller de Induccion a la Geomatica Libre
Taller de Induccion a la Geomatica LibreTaller de Induccion a la Geomatica Libre
Taller de Induccion a la Geomatica LibreFrancisco Palm
 
Software libre y Ciudadania
Software libre y CiudadaniaSoftware libre y Ciudadania
Software libre y CiudadaniaFrancisco Palm
 

Más de Francisco Palm (12)

Aprendizaje software libre
Aprendizaje software libreAprendizaje software libre
Aprendizaje software libre
 
Pensando La Migracion Como Un Hacker
Pensando La Migracion Como Un HackerPensando La Migracion Como Un Hacker
Pensando La Migracion Como Un Hacker
 
La Programación de Videojuegos con Python como Estrategia para una Alfabetiza...
La Programación de Videojuegos con Python como Estrategia para una Alfabetiza...La Programación de Videojuegos con Python como Estrategia para una Alfabetiza...
La Programación de Videojuegos con Python como Estrategia para una Alfabetiza...
 
Python Multiuso
Python MultiusoPython Multiuso
Python Multiuso
 
Python Aumenta Cinco Veces la Productividad
Python Aumenta Cinco Veces la ProductividadPython Aumenta Cinco Veces la Productividad
Python Aumenta Cinco Veces la Productividad
 
Sistemas de Gestión de Contenido Libres (MoinMoin y Plone)
Sistemas de Gestión de Contenido Libres (MoinMoin y Plone)Sistemas de Gestión de Contenido Libres (MoinMoin y Plone)
Sistemas de Gestión de Contenido Libres (MoinMoin y Plone)
 
Herramientas para el Desarrollo de Software Libre
Herramientas para el Desarrollo de Software LibreHerramientas para el Desarrollo de Software Libre
Herramientas para el Desarrollo de Software Libre
 
Python: programacion para el Poder Popular
Python: programacion para el Poder PopularPython: programacion para el Poder Popular
Python: programacion para el Poder Popular
 
Hacia LOCALIZA Libre
Hacia LOCALIZA LibreHacia LOCALIZA Libre
Hacia LOCALIZA Libre
 
Geomatica Libre para el Socialismo
Geomatica Libre para el SocialismoGeomatica Libre para el Socialismo
Geomatica Libre para el Socialismo
 
Taller de Induccion a la Geomatica Libre
Taller de Induccion a la Geomatica LibreTaller de Induccion a la Geomatica Libre
Taller de Induccion a la Geomatica Libre
 
Software libre y Ciudadania
Software libre y CiudadaniaSoftware libre y Ciudadania
Software libre y Ciudadania
 

Último

Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 

Último (11)

Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 

Gestión y Análisis de Datos para las Ciencias Económicas con Python y R

  • 1. Gestión y Análisis de Datos para las Ciencias Económicas con Python y R Emancipando la Economía Computacional Francisco Palm Spiralia :: SoLVe :: ULA
  • 2. ¿Economía Computacional? Intersección entre el Análisis Económico y la Informática
  • 3. ¿De qué hay que liberarse?
  • 4. ¿De qué hay que liberarse? Herramientas inferiores Enfoques limitados Formatos cerrados Obsolencia planificada Interoperabilidad reducida
  • 5. "...es probable que el crecimiento conjunto de Python y R sea el factor más importante en el futuro de la estadística computacional". "The Future of Statistical Computing" Leland Wilkinson (TECHNOMETRICS, Vol. 50, Num. 4, Nov. 2008),
  • 7. ¿Qué es Python? ➔ Lenguaje dinámico ➔multiparadigma, multipropósito, multiplataforma, multiimplementación... multi* ➔ El único compromiso es la productividad del programador ➔ Viene con las pilas puestas
  • 9. ¿Qué es R? ➔Entorno para computación estadística y gráficos ➔ Un amplio rango de técnicas y utilidades (2000+ Paquetes) ➔ Varios años por delante de sus contrapartes privativas (SAS, SPSS). ➔ Potentes capacidades gráficas
  • 10. ¿En qué se parecen Python y R?
  • 11. ¿En qué se parecen Python y R?  Lenguajes interpretados  Libres  "Armas secretas" de Google  Desarrollados por comunidades internacionales e independientes  Amplia difusión internacional  Modulares y extensibles
  • 12. ¿En qué se diferencian Python y R?
  • 13. ¿En qué se diferencian? Python R   Horizontal,   Vertical, análisis multipropósito estadístico  Diseñado para ser  Orientación sencillo científica  Técnicas  Funcional, pero avanzadas de conservador programación  Hay que instalarlo  Incluido en Linux (incluso en Linux)
  • 15. >>> from numpy import * >>> from numpy.linalg import solve >>> >>> # Sistema a resolver para (x0,x1,x2): >>> # 3 * x0 + 1 * x1 + 5 * x2 = 6 >>> # 1 * x0 + 8 * x2 = 7 >>> # 2 * x0 + 1 * x1 + 4 * x2 = 8 >>> >>> a = array([[3,1,5],[1,0,8],[2,1,4]]) >>> b = array([6,7,8]) >>> x = solve(a,b) >>> print x # La solución! [-3.28571429 9.42857143 1.28571429] >>> >>> dot(a,x) # Verificación array([ 6., 7., 8.])
  • 17. from scipy import optimize, special from numpy import * from pylab import * x = arange(0,10,0.01) for k in arange(0.5,5.5): y = special.jv(k,x) plot(x,y) f = lambda x: -special.jv(k,x) x_max = optimize.fminbound(f,0,6) plot([x_max], [special.jv(k,x_max)],'ro') title(u'Funciones Bessel con optimos locales') show()
  • 19. from mpl_toolkits.mplot3d import Axes3D from matplotlib import cm import matplotlib.pyplot as plt import numpy as np fig = plt.figure() ax = Axes3D(fig) X = np.arange(-5, 5, 0.25) Y = np.arange(-5, 5, 0.25) X, Y = np.meshgrid(X, Y) R = np.sqrt(X**2 + Y**2) Z = np.sin(R) ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.jet) plt.show()
  • 20. Python: persistencia pickle marshall sqlite zodb sqlalchemy
  • 24. library(spatstat) data(cells) cells planar point pattern: 42 points window: rectangle = [0,1] x [0,1] plot(cells) plot(density.ppp(cells)) plot(Kest(cells))
  • 25. R: Econometría y series de tiempo http://cran.r-project.org/web/views/Econometrics.html http://cran.r-project.org/web/views/TimeSeries.html
  • 26. > mort = ts(scan("cmort.dat"),start=1970, frequency=52) Read 508 items > part = ts(scan("part.dat"),start=1970, frequency=52) Read 508 items > ded = ts.intersect(mort,part,part4=lag(part,-4),dframe=TRUE) > fit = lm(mort~part+part4, data=ded, na.action=NULL) > summary(fit) Call: lm(formula = mort ~ part + part4, data = ded, na.action = NULL) Residuals: Min 1Q Median 3Q Max -22.7429 -5.3677 -0.4136 5.2694 37.8539 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 69.01020 1.37498 50.190 < 2e-16 *** part 0.15140 0.02898 5.225 2.56e-07 *** part4 0.26297 0.02899 9.071 < 2e-16 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 8.323 on 501 degrees of freedom Multiple R-squared: 0.3091, Adjusted R-squared: 0.3063 F-statistic: 112.1 on 2 and 501 DF, p-value: < 2.2e-16
  • 29. # Formular el problema: maximizar # x1 + 9 x2 + x3 sujeto a # x1 + 2 x2 + 3 x3 <= 9 # 3 x1 + 2 x2 + 2 x3 <= 15 # f.obj <- c(1, 9, 3) f.con <- matrix (c(1, 2, 3, 3, 2, 2), nrow=2, byrow=TRUE) f.dir <- c("<=", "<=") f.rhs <- c(9, 15) # # Ejecutar. # lp ("max", f.obj, f.con, f.dir, f.rhs) ## Salida: Exito: la funcion objetivo es 40.5 lp ("max", f.obj, f.con, f.dir, f.rhs)$solution ## Salida: [1] 0.0 4.5 0.0 # # Obtener variables duales lp ("max", f.obj, f.con, f.dir, f.rhs, compute.sens=TRUE)$duals ## Salida: [1] 4.5 0.0 -3.5 0.0 -10.5
  • 31. R: persistencia read.table, write.table DBI, filehash, filehashsqlite, RMySQL, RODBC, ROracle, RPostgreSQL TSSQLite, TSMySQL, TSodbc, TSPostgreSQL ...
  • 32. Python & R: Sage http://www.sagemath.org/
  • 33.
  • 34. Python & R: manageR http://www.ftools.ca/manageR/
  • 35. Notas Finales Komodo Edit – Sciviews-K http://www.sciviews.org/SciViews-K/index.html