abr. 27
2014
abr. 22
2014
Quieres comerte una naranja y la pelas, porque la corteza de naranja es amarga y no te gusta, ¿cierto? Pero claro, luego viene tu madre, o tu abuela, y te dice que no tires la pela. Y con eso ellas te cocinan una especie de almíbar que luego añadirán al bizcocho que vas a disfrutar de lo lindo. Y así te das cuenta que te has estado perdiendo algo, tirando a la basura todas las pelas de naranjas anteriores.
Acéptalo: en el mismo momento en que empiezas a muestrear y analizar, descartas una información para centrarte en otra. Eso es la estadística y en general el método científico: tratar de separar y aislar (analizar significa etimológicamente separar) el grano de la paja, la información del ruido.
Pero esa separación requiere un conocimiento previo, que minimice el sesgo (desviaciones de la media) y el ruido (incremento de la varianza). Se trata de evitar que la muestra de datos quede envenenada, extirpando lo mejor posible el ruido, como si cocináramos un pez Fugu.
Por ejemplo, sólo es capaz de ver en tres dimensiones. En realidad puede ver cuatro, si una de ellas puede ser representada en un eje temporal, y unas cuantas más si utilizamos colores y tamaños. Pero en lo relativo a la representación puramente espacial, tenemos esa limitación, por lo que los modelos con más variables no son representables gráficamente.
Esa es la limitación de la geometría, y el motivo de la importancia del álgebra. Ante esas situaciones, el álgebra y otros métodos de análisis entran en juego. El cálculo matricial, los sistemas de cambios de coordenadas y cambios de base en general, nos permiten reorganizar los datos según convenga (en el sentido más científico posible) para según nuestros objetivos.
Sin embargo todos estos métodos tienen más bien un carácter poco visual. Es difícil intuir (en el mirar hacia dentro en un sentido etimológico) analizando los datos a base de cálculos puros. Es más, en cuanto se pierde el contacto con la intuición, la maquinaria de los métodos numéricos nos puede conducir a errores por seguir a ciegas una metodología. Creo que este es el punto en el que muchos estudiantes de asignaturas de estadística se quedan colgados y empiezan a odiar la estadística, pero eso es un tema para otro post.
Entonces, veamos: ¿y si sacamos lo mejor de ambos mundos? ¿Qué tal analizar para simplicar y reducir las dimensiones, y luego representar visualmente esos datos para ver si nuestras operaciones tienen sentido?
abr. 20
2014
abr. 14
2014
He acabado de leer hace apenas unos días este libro y no quiero dejar pasar la oportunidad de hacer una pequeña reseña. A pesar de que libro fue publicado en 1998 (la edición española fue en el año 2000), el planteamiento de base del libro es sin duda vigente, más aún si cabe.
Esa deriva viene causada en primer lugar por el hecho de perder unos hábitos que dan una seguridad y se encauzan en una rutina. Las ya míticas 10.000 horas de práctica que son necesarias para llegar a dominar una disciplina, son inasumibles si nuestro día a día se ve alterado continuamente. Ese proceso de mejorar en el día a día hasta conseguir el conocimiento personal, desaparece, y deja paso a lo que el autor llama la especialización flexible.
Estos dos modelos organizativos tienen sus bases en dos modelos culturales distintos (según Michel Albert): el modelo renano (Países Bajos, Alemania y Francia) y el angloamericano, respectivamente. Ambos modelos presentan diferencias notables en cuanto a la respuesta al cambio, desigualdades salariales, etc.
También hace un interesante repaso por la ética del trabajo protestante y sobre su promesa de recompensa. También incluye reflexiones en la religión cristiana, con menciones a Pico della Mirandola, San Agustín, que contrastan con la ética protestante. Cada cual sabrá extraer sus conclusiones.
Quizá para mí la reflexión final más importante es el papel de las habilidades sociales, la gestión de los conflictos y la comprensión de las necesidades de los demás para saber encontrar un espacio más social y menos superficial en el lugar de trabajo. Pero como siempre en estos casos, seguro que cada cual podrá extraer sus conclusiones.
Read more »
abr. 13
2014
</p>
Read more »
abr. 8
2014
En un artículo anterior ya comentaba las posibilidades de Crossfilter, una herramienta especialmente aplicable a datasets de un tamaño mayor que el habitual para un navegador web. Con esta biblioteca tenemos una parte muy importante de la tarea de la sala de máquinas, cargando y filtrando los datos según nos convenga.
Muy bien, podemos filtrar y procesar los datos más rápidamente, ¿y ahora qué?
Así que sacamos lo mejor de dos bibliotecas muy complementarias:
La inicialización de los gráficos se realiza mediante DC, y no directamente sobre D3. DC actúa como envoltorio de D3, simplificando así la generación de la tipología de gráficos disponibles por defecto. La carga de los datos se realiza mediante la carga de un archivo CSV disponible vía HTTP, tras lo cual se transfieren los datos a crossfilter y se empieza a generar los datos de las dimensiones y agrupaciones de datos.
Se asignan las dimensiones y criterios de agrupación a cada uno de los gráficos según corresponda. Esta asignación es lo que en realidad acaba vinculando todos los gráficos. También es posible generar una tabla (datatable) con los datos que se están están utilizando para generar las vistas actuales de los gráficos.
El resto de instrucciones son a grandes rasgos muy habituales en la generación de los gráficos mediante D3. Aunque como comentaba antes, las instrucciones se ejecutan a través de DC, podemos identificar fácilmente los parámetros de tamaño, colores, animaciones.
Se siguen viendo muchos ejemplos de maridajes entre D3 y cualquier otra biblioteca que complemente, simplifique o mejore sus funcionalidades. Espero poder seguir hablando de ello por aquí en breve :-).
Read more »
abr. 6
2014
abr. 2
2014
Hoy, día de aniversario, siete añitos desde el primer post.
Han sido, para qué negarlo, siete años irregulares. Durante un año y medio, de Septiembre del 2011 a Mayo del 2013, lo mantuve inactivo. Obviamente las estadísticas de visitas se han resentido de esta inactividad, pero eso no es lo importante. Lo importante es seguir disfrutando al escribir artículos y tratar de aclarar conceptos mientras, de paso, me los aclaro a mí mismo ;-).
En el futuro cercano, como ya ha ido sucediendo en los últimos meses, el foco oscilará entre diversos aspectos de la programación (cliente y servidor), con javascript como protagonista; y por otro lado la visualización y tratamientos de datos. Pero la serendipia da paso a las más dispersas disertaciones, y a los más variopintos mestizajes interdisciplinares.
Así que... Muchas gracias por seguirme y leerme. No se vayan todavía, que aún hay más :-P.
Read more »
mar. 31
2014
El análisis exploratorio que tiene lugar durante la primera toma de contacto con un conjunto de datos tiene un objetivo muy concreto: familiarizarnos con su estructura. Por un lado la distribución de algunas variables clave, por el otro los valores extremos, y también las relaciones entre pares de variables. Esta familiarización permite aplicar el sentido común y la intuición a la verificación del análisis. No es un momento para las conclusiones, sino para la toma de contacto.
Este proceso no está falto de complejidad. Para que la interacción tenga sentido, es necesario que el sistema responda rápidamente. Necesitamos que un dataset de varios miles de registros tenga una representación y filtrado ágil. Y si eso lo queremos implementar vía javascript en el navegador web, el reto es aún mayor.
Es posible consultar la referencia de la API para más detalles. También podéis ver el siguiente video explicativo de las ideas y soluciones que puede proporcionar crossfilter:
Es posible imaginarse un matrimonio muy bien avenido entre Crossfilter y D3, aunque eso lo podemos dejar para otro artículo.
Read more »
mar. 30
2014
Eric Elliott - Modular JavaScript With npm and Node Modules from Eric Elliott on Vimeo.
Read more »© 2007 and beyond Mario Alberich, licensed under CC-BY-SA unless stated otherwise.