11 Feb

Integrando AnyLogic y R Parte 1

Como se explicó en el post anterior, R es un poderoso lenguaje de programación especializado en el análisis y manipulación de datos, gratuito y de gran popularidad a nivel mundial (ver post). Por su parte AnyLogic es un software de simulación cuyo lenguaje de base es Java lo que permite la integracion de librerias externas (ver wiki).

Al combinar ambos sistemas es posible aprovechar de las funcionalidades de cada uno como gráficos, analisis y minería de datos, pronósticos, etc.

En este post explicaremos cómo llamar R a partir de AnyLogic utilizando dos diferentes librerías: AJAL Data Exporter y RCaller (se utilizan por separado y segun el caso se utiliza una u otra).

integratingALR

Read More

09 Feb

Paquetes de R indispensables para Analytics

  • Intro
  • Paquetes R
  • Analytics
  • Versión corta

Si usted está interesado en Analytics es indispensable no solo tener un buen conocimiento de estadística y manejo de datos, sino también conocer al menos un software especializado.

De acuerdo a la encuesta anual realizada por el sitio especializado en Analytics y Big Data KDNuggets, los programas de análisis y minería de datos más populares en 2015 fueron: R, RapidMiner, SQL, Python y Excel.

top10-analytics-data-mining-software-2015

De manera similar la empresa de consultoría en Analytics REXER realiza otra encuesta anual cuya última edición (2015) presentó el los siguientes resultados:

fig_6a_rexersurveyprimarytool20151

Donde R es el claro ganador, seguido de SPSS y SAS (y JMP).

Como lo he expresado en otros posts, tengo gran inclinación hacia R y JMP (una ramificación de SAS un poco menos complejo y por más económico).

Dado que R es el más popular, es gratuito y de gran difusión, dedicaré varias entradas del blog a este tópico, explicando cómo usarlo y cómo integrarlo con otras aplicaciones en particular de simulación.

A continuación se presentan algunos de los paquetes básicos para utilizar R en el análisis, manipulación y representación de datos.

Qué es un paquete de R?

Los paquetes son compilaciones de funciones propias de R (u otros lenguajes compilados en librerías) que al unirse pueden ser procesos específicos bien sea de manipulación de datos, análisis, gráficas, etc. Al igual que R, los paquetes son gratuitos y de acceso público (usualmente).

El lugar donde se almacenan los paquetes en el computador local se llama librería.

La versión estandar de R viene normalmente con una serie de paquetes básicos, sin embargo si se requiere de operaciones y/o análisis más complejos, es necesario instalar nuevos paquetes.

Un paquete se instala usando el siguiente comando (nombre del paquete entre comillas):

Paquetes recomendados para hacer Analytics

El siguiente infographics realizado por el sitio especializado Analytics Vidhya presenta una lista de paquetes indispensables para realizar Analytics:

infographics123R

Todos ellos muy relevantes y recomendados. Adicionalmente sugiero los siguientes:

  • qcc: gráficos de control de calidad (quality control charts link)
  • RCurl: descargar información desde direcciones web (link).
  • manipulate: creación de gráficos interactivos en R-Studio (link)

El lector puede copiar y pegar el siguiente código en R o RStudio para instalar todos estos paquetes en secuencia.

Para los interesados en simulación la técnica de montecarlo les recomiendo los siguientes links:

Una lista adicional puede ser encontrada en la el sitio KDnuggets donde se identifican los 20 paquetes más populares en descargas en R durante el 2015 algunos de ellos se encuentran dentro del listado anterior (ver link).

Instale todos estos paquetes con solo copiar y pegar el siguiente código en su línea de comandos de R (o su IDE).

21 Jan

INFORMS Podcast Sobre Analytics

Para los amantes de Analytics la revista en línea INFORMS cuenta con una extensa colección de entrevistas a expertos en este tema, incluyendo investigadores y empresarios. Desafortunadamente la serie fue descontinuada a finales de 2014, sin embargo sus contenidos siguen siendo muy interesantes. Los invito a visitar la lista de podcasts en el siguiente link.

INFORMS_Podcast

21 Aug

Modeloff 2015 - Campeonato mundial de Excel

ModelOff-201511

Este año se celebra la cuarta versión del campeonato mundial de modelación financiera en Excel Modeloff. El campeonato cuenta cada vez con más adeptos, solo en su versión del año 2014 participaron cerca de 4,000 concursantes provenientes de 110 países vinculados a las disciplinas de finanzas, banca, contabilidad, seguros, actuaría, ingeniería y consultoría.

Al igual que el año anterior (ver post) el concurso se realizará en tres fases, las dos primeras en línea (sábado octubre 17 y sábado octubre 31) cada una con duración máxima de 2 horas. Los 16 mejores resultados llegarán a la final que se realizará en la ciudad de Londres (UK) los días 3 y 4 de diciembre de este año.

El siguiente video hace parte de la campaña promocional del concurso. Si usted es un apasionado por las finanzas aplicadas en Excel, este es concurso es recomendado.

 

13 Aug

Macro para obtener historico de precios de una accion en Excel

[ File # csp9666250, License # 2222627 ] Licensed through http://www.canstockphoto.com in accordance with the End User License Agreement (http://www.canstockphoto.com/legal.php) (c) Can Stock Photo Inc. / bbbar

[ File # csp9666250, License # 2222627 ]
Licensed through http://www.canstockphoto.com in accordance with the End User License Agreement (http://www.canstockphoto.com/legal.php)
(c) Can Stock Photo Inc. / bbbar

Este programa permite descargar cualquier serie de precios disponible Yahoo Finanzas directamente a Excel con solo conocer el símbolo de la acción. Antes de comenzar es importante adicionar la referencia Microsoft XML en el módulo VBA accediendo con el método abreviado Alt+F11, luego haciendo click en Tools + Reference y buscar la referencia (ver imagen) la cuál permite importar y manipular archivos en formato XML.

ReferencesYahooFinances

La macro central de este programa se compone de varios elementos. El primero es la subrutina que genera la consulta llamada GetYahooFinanceTable (ver código a continuación).

La macro obtiene la información utilizando APIs de Yahoo Finanzas (lea aquí el wiki de los APIs de Yahoo finanzas). Un API que traducido al español significa Interfaz de programación de aplicaciones, es un conjunto de subrutinas predefinidas que puede ser utilizado por otro software de manera abreviada (Wikipedia API) en este caso para descargar datos de Yahoo (lea aquí un blog sobre como utilizar el API de Yahoo finanzas para archivos CSV).

Para utilizar el API simplemente construimos el query con los parámetros deseados, en este caso solamente necesitamos el código de la acción almacenado en la celda J2 (2, 10). Utilizemos como ejemplo la acción de 3M (MMM). El comando requerido por el API será http://ichart.finance.yahoo.com/table.txt?s=mmm. Si usted introduce este código en su explorador podrá descargar un archivo de texto con el histórico de precios.

GetYahooFinanceTable ejecuta a su vez la función GetHTTPResult y la subrutina UpdatePriceData. La función permite crear la consulta (query) en formato XMLHTTP y lanzarla a la web.

La subrutina UpdatePriceData prepara y llena los vectores con el resultado de la consulta. Para ello llama a la función GetQuoteXmlFromWeb y la subrutina GetQuoteFromXml.

La función GetQuoteXmlFromWeb es la que descarga la información en archivo XML y lo traduce. Un archivo XML es una estructura anidada de datos (padre e hijo) lo que permite manipular múltiples dimensiones y gran cantidad de información. Desafortunadamente no es tan simple descifrar la estructura por lo que utilizamos una función para descifrar la relación jerárquica de datos (ver función FindChildNodeName al final).

 

Finalmente, la función GetQuoteFromXml es una adición que bien puede ser opcional. Su utilidad es lanzar una nueva consulta que permite conocer los datos básicos de la acción, como el nombre, el último volumen transado, el mayor y menor valor de transacción del día, el último valor de transacción y la última hora de actualización. Si bien una buena parte de la información se encuentra en la serie de precios, esta función es útil cuando se tiene el símbolo y no se conoce el nombre exacto, o cuando se lanza la consulta y los mercados están aún abiertos por tanto no se conoce el precio de cierre de la acción. La siguiente es la función:

Lo demás es estético y a gusto del usuario, una vez la serie se carga en la hoja de cálculo se pueden crear gráficos, estadísticas y demás. Usted puede descargar una versión comprimida de esta macro con algunas adiciones en el siguiente link. Una vez funcional la macro usted tendrá un reporte como el presentado a continuación.

quote

 

Comentarios finales:

06 Aug

El movimiento global de los migrantes

El centro Wittgenstein para la demografía y el capital humano global (Wittgenstein Centre for Demography and Global Human Capital) publico recientemente un artículo en la reconocida revista Science sobre los movimientos migratorios entre países. El infograph que resume los resultados puede ser descargado en el siguiente link.

El estudio concluye que en los últimos anos las migraciones han alcanzado un ciclo estable en periodos de 5 años en los cuales el 0.6% de la población mundial migra entre países, al tiempo que prevé que las migraciones más altas en los próximos años ocurrirán entre los países del sur y oeste asiático, así como entre Latinoamérica y Norteamérica. Finalmente prevé una gran migración entre países africanos.

En el continente americano los países con mayor emigración son México, Perú, Brasil y Argentina, mientras que los que más inmigrantes reciben son Estados Unidos, Canadá, Costa Rica y Chile.

Adicionalmente los autores han desarrollado una entretenida herramienta de visualización interactiva que permite a los usuarios consultar información de países puntuales. La herramienta fue desarrollada utilizando la librería D3.js (basada en javascript). A continuación presentamos este interesante recurso:

 

The global flow of people

 

27 Jul

Cuanto gana un desarrollador de software Colombiano? (infograph)

La empresa de servicios informáticos Bunny Inc (fundada por colombianos, con alto componente de ingenieros latinos y basada en San Francisco) ha hecho un interesante estudio sobre cuánto gana realmente un desarrollador de software colombiano basado en encuestas hechas a sus aplicantes. El panorama no es muy alentador, en general muestra que los desarrolladores colombianos ganan menos de la mitad en Colombia de lo que harían fuera. Al mismo tiempo muestra que el estudio no necesariamente es un factor significativo en el salario y que pesa mas la experiencia.

Vale la pena ver este infograph al momento de elegir caminos profesionales (y tal vez la geografia).

survey-results-how-much-colombian-software-engineers-really-make_54e3734ca223f_w1500

Read the full article: Infograph: How much Colombian software developers really make

Polémica

Luego de la publicación de este estudio a comienzos de 2015, se generó cierta controversia sobre la validez y credibilidad de las encuestas, sobre todo por que publicaciones de reconocimiento como Portafolio lo utilizaron para titular que los desarrolladores colombianos ganan en promedio 6 millones de pesos (ver link) lo cual es una interpretación sesgada del infograph. Por fortuna los datos fueron publicados en Github y son de acceso público.

Algunos blogueros han realizado análisis estadísticos más detallados a partir de esta información. Un ejemplo es el blog Medium Colombia donde David Przybilla hace un estudio a profundidad sobre los resultados encontrando que el rango salarial de 1000 a 1999 USD es el que mas agrupa respuestas pero al mismo tiempo es el rango medio de salarios mas común en Colombia, lo que genera ambigüedad en los resultados (link). En cualquier caso el tope máximo de este rango equivaldría a unos 5,200,000 COP lo que en todo caso estaría muy por debajo de un promedio de 6 millones.

Algunos análisis sugieren que trabajar para multinacionales reduce el salario real. Esto podría ser cierto en algunos casos como en empresas que deciden crear sedes en américa latina en busca de reducir costos mediante el uso de mano de obra barata y de calidad, sin embargo no creo se deba incluir a todas las multinacionales en esta categoría.

Otros blogs como Isabel Yepes de Hacemos Contacto (link) y Miguel Cabrera también de Medium Colombia (link) han también publicado entradas al respecto.

Que piensan ustedes? Importa mas la experiencia que los estudios en el salario? Pagan mejor o peor las multinacionales?

14 Jun

Amazon is hiring - SCOT

El gigante del retail y servicios por internet Amazon tiene una división que merece mucha atención por su exitoso trabajo en Analytics conocida como SCOT por sus siglas en inglés Supply Chain Optimization Technologies. Este departamento es responsable entre otras de analizar todo el big data resultante de la navegación, las búsquedas y hasta los perfiles de los usuarios encriptados en los cookies de los navegadores. Como resultado, es posible predecir con un alto grado de acierto cual será la siguiente compra o sugerir los productos que mejor complementan la compra. También es posible determinar las tendencias del mercado en cuanto a la estacionalidad, el tipo de producto y hasta la geografía.

Multiples técnicas son combinadas en este deficil trabajo, tales como la investigación de operaciones, la simulación, la estadística, la minería de datos y las series de tiempos. Todo esto es lo que se conoce como Analytics.

Lo invito a ver el siguiente video, es una breve y animada explicación de lo que se hace en SCOT, invitando a profesionales en todo el mundo a aplicar.

Actualización (Julio 7 2015)

Este correo me llegó esta semana sobre el mismo tema (IPC est un departamento diferente, sin embargo basa mucho de su trabajo en los desarrollos de SCOT):

Jul 5, 2015 1:11 PM
Wooseung Jang
Inventory Planning and Control (IPC) at Amazon is seeking experienced operations research scientists. IPC owns Amazon's global inventory planning systems - we decide and optimize what, when, where, and how much we should buy to meet Amazon's business goals and to make our customers happy. We do this for millions of items, for hundreds of product lines worth billions of dollars of inventory world-wide. Our systems are built entirely in-house, and are on the cutting edge in automated large scale supply chain planning, optimization and simulation systems. IPC is unique in that we are simultaneously developing the science of supply chain planning and solving some of the toughest computational challenges at Amazon. Our team members have an opportunity to be on the forefront of supply chain thought leadership by working on some of the most difficult problems in the industry with some of the best product managers, research scientists/statisticians/economists and software engineers in the business.Candidates will be responsible for developing solutions to better manage/optimize worldwide inventory. These positions will focus on identifying and analyzing opportunities to improve existing algorithms and also on the next generation of Amazon's inventory optimization systems. They require superior analytical thinkers who are able to quickly approach large ambiguous problems and apply their technical and statistical knowledge to identify opportunities for further research. Candidates should be able to independently mine and analyze data, and be able to use any necessary programming and statistical analysis software to do so. Successful candidates must thrive in fast-paced environments which encourage collaborative and creative problem solving, be able to measure and estimate risks, constructively critique peer research, and align research focuses with the Amazon's strategic needs.Qualifications:

- PhD in operations research or industrial engineering with related work experience in industry or academia. We are particularly interested in senior researchers, who will relocate to Seattle, WA.

- Able to build quantitative mathematical models to represent a wide range of supply chain, transportation and logistics systems.

- Able to implement these models and tools through the use of modeling languages and engineering codes in software languages.

- Able to perform quantitative, economic, and numerical analysis of the performance of these systems under uncertainty using statistical and optimization tools to find both exact and heuristic solution strategies for optimization problems.

If you are interested in, please contact or send resumes to woosung@amazon.com
------------------------------
Wooseung Jang
Sr. Principal Research Scientist
Amazon.com
------------------------------

25 Sep

Qué es big data? Encuesta a 43 expertos

La universidad de Berkeley en su instituto Data Science ha publicado una encuesta sobre el significado de Big Data hecha a un panel de 43 expertos en análisis de datos a nivel mundial.

BigData-wordcloud-2

 

Dentro de la lista de expertos se encuentran personalidades como John Akred (Silicon Valey Data Science), Hal Varian (Economista en jefe de Google) Philip Ashlock (Jefe de arquitectura de datos en Data.gov) y Mike Cavaretta (Jefe científico de datos en Ford Motor Company).

El artículo se encuentra en el siguiente link. Usted puede hacer clic sobre cualquiera de los nombres para conocer su corta y concisa respuesta a la pregunta: Que es para usted Big data?

%d bloggers like this: