Cicle de vida

Des del moment de la seva creació o generació, les dades segueixen un cicle de vida fins que acaben essent publicades per a la seva disseminació i també per a la implementació dels models creats. Al llarg d’aquest procés, en cadascuna de les etapes o fases, hi ha un objectiu únic o més específic que aporta valor. Encara que no totes les fases són necessàries en funció del tipus de dada o la seva naturalesa, les principals etapes del cicle de vida són les següents:

  • Generació
  • Captura
  • Emmagatzematge
  • Processament
  • Anàlisi
  • Visualització
  • Publicació
  • Implementació

Òbviament, un recurs pot donar suport a una o més fases del cicle de vida, encara que es recomana restringir-ne la categorització a les fases en què la seva utilització sigui més adequada i típica.

Generació

La primera fase del cicle de vida de les dades és la seva generació, normalment com a resultat d’un procés que pot incloure la intervenció humana o no.

En el primer cas, un exemple és quan un client fa un pagament en un establiment comercial. En aquest moment es genera un registre que conté tota la informació d’aquest fet: nom de l’establiment (i potser la seva adreça), data i hora, la llista d’elements comprats, el preu de cadascun i el preu total, les dades del client si estan disponibles i el mètode de pagament, ja sigui efectiu, amb targeta o per qualsevol altre mitjà.

En el segon cas, un exemple és quan un sensor (per exemple de moviment) detecta un canvi en una situació i genera un avís, indicant el moment exacte, el grau de variació detectat i, segurament, la localització del sensor i un identificador únic que permet saber de quin sensor es tracta. Un altre exemple diferent és quan un usuari de Twitter publica una piulada i aquesta piulada està disponible per a tots els seus seguidors i a la cronologia general de Twitter. En el primer exemple, es genera una dada que segurament té un destinatari concret, mentre que en el segon és necessari un procediment de captura posterior per a obtenir les dades.

En aquesta fase, el més important és establir el format de les dades que constitueixen la prova de la dada que acaba de generar, inclosos aspectes com la seva codificació, la precisió, les unitats, el format, etc.

Captura

En nombroses ocasions, les dades es generen per processos automatitzats sense intervenció humana, o bé es troben en algun lloc i és necessari buscar-les i obtenir-les; és el que s’entén com a captura de dades, una fase que en molts casos està lligada a la de l’etapa anterior, la de generació.

Un exemple és la captura de les piulades que es generen sobre un tema i a les quals podem accedir mitjançant diferents mecanismes, des d’una manera ordenada usant les eines que Twitter posa a la nostra disposició per a fer-ho, fins a altres mecanismes que usen tècniques de web scraping i que s’aprofiten de la informació publicada a la web.

Realment, l’ideal seria que les dades ja es generessin amb un format que simplifiqués el procés d’emmagatzematge i altres manipulacions posteriors, però malauradament no sempre és així; resulta necessari desenvolupar petites eines que permetin accedir, per exemple, a un lloc web, i extreure (és a dir, capturar) la informació que ens interessa (i només la que ens interessa).

Per tant, en aquesta fase, ens centrarem en eines que permeten accedir a dades més o menys estructurades, que poden existir durant un període limitat i que cal anar capturant a mesura que van apareixent. En general, no hi ha una eina que permeti resoldre tots aquests tipus de problemes sempre, sinó que serà necessari adoptar una aproximació més de tipus «enginyerívola» i resoldre cada problema amb les eines més adequades disponibles a cada moment.

Emmagatzematge

Una vegada que les dades han estat capturades, fins i tot en els sistemes basats en temps real (streaming), se solen emmagatzemar còpies de les dades. I això a causa que en ocasions l’anàlisi es fa posteriorment, o potser es vol mantenir un historial de la informació capturada. El fet de disposar d’un registre històric ens pot servir per a futures anàlisis basades en informació d’esdeveniments passats, generació de models, etc.

Com que la informació capturada pot representar un volum important, és necessari adoptar solucions d’emmagatzematge capaces de tractar una gran quantitat de dades de manera simultània i eficient, considerant les seves prestacions, escalabilitat i fiabilitat davant de qualsevol problema, especialment en contextos de dades massives.

Processament

Habitualment, és necessari fer un treball previ de processament de les dades capturades i/o emmagatzemades en brut, per a poder analitzar posteriorment la informació obtinguda i valorar-la. Això es deu al fet que generalment la forma en què les dades es troben emmagatzemades en fitxers o en bases de dades no és la més adequada per a fer l’anàlisi de dades. Típicament, les fases d’anàlisi i visualització necessiten les dades en format tabular, en què cada element s’emmagatzema en una única fila i cada camp o atribut s’emmagatzema en una única columna.

En aquesta fase s’inclouen totes les eines i processos orientats a la neteja de dades, la seva selecció, la fusió de diferents fonts de dades o el seu enriquiment mitjançant l’ús de dades de tercers o API, etc., amb l’objectiu de disposar d’un únic fitxer per a la seva anàlisi posterior.

De vegades, les dades en brut requeriran l’aplicació de diferents tècniques per a disposar de les dades degudament estructurades perquè es puguin utilitzar en fases posteriors. Durant el processament, els passos que hem de considerar són els següents:

  • Neteja: el tractament de neteja de dades es farà completant valors no disponibles (missing values), identificant les dades atípiques (outliers) i corregint la inconsistència de dades.
  • Integració: revisarem la redundància de dades.
  • Transformació: analitzarem si és necessari fer algun tipus de transformació com ara normalització, generalització o suavització.
  • Reducció: orientada a reduir la mida de les dades, per exemple, mitjançant l’agregació.
  • Discretització (binning): consisteix en la reducció d’una sèrie de valors d’un atribut continu a un rang d’atributs categòrics, considerant també la utilització de tècniques de binarització (binning).

Per exemple, podem necessitar dades que es trobin emmagatzemades en un o més fitxers de text, o en formats CSV o Excel, i fusionar-les en un de sol, i també complementar part d’aquesta informació amb dades provinents d’una base de dades.

Anàlisi

Durant aquesta fase, és possible que hàgim de fer diferents tipus d’anàlisis estadístiques (descriptives, inferencials, etc.) o de mineria de dades (supervisades o no supervisades), a més d’una anàlisi visual per a explorar i inspeccionar les dades en funció del nostre objectiu, aprenent de la naturalesa de les dades amb les quals estiguem treballant. L’objectiu final serà valorar les dades i poder-ne obtenir conclusions mitjançant la construcció de models que ens permetin predir valors futurs, la generació de classificacions o agrupacions, etc.

Aquesta fase és la que es considera clau en qualsevol projecte de ciència de dades, tot i que requereix la fase anterior de processament per a poder ser duta a terme de manera adequada, i segurament també la fase de visualització per a aprofitar les capacitats del sistema visual humà com a eina d’anàlisi. De fet, algunes tècniques d’anàlisi de dades estan pensades per a la preparació de les dades abans de la seva anàlisi final, com ara la reducció de dimensionalitat, o generen dades que es poden analitzar visualment, com els algorismes de clusterització (clustering) jeràrquics.

Alguns exemples poden ser determinar la probabilitat de frau en funció d’informació històrica recollida en el pagament amb targeta de crèdit, predir la probabilitat de baixa d’un client en una companyia telefònica, o la recomanació de productes en una botiga en línia a partir del perfil d’un usuari.

Aquesta fase, en combinació amb la de visualització, no acaba amb la creació dels models, sinó que també n’ha d’incloure una interpretació, de manera que es pugui extreure coneixement del problema que es vol, inclosos una anàlisi de la importància de cada variable, el tipus d’errors comesos pel model construït, la detecció de dades atípiques (outliers), etc.

Visualització

La visualització, com comentàvem en la fase anterior d’anàlisi, és de gran utilitat per a inspeccionar les dades, de manera que és possible detectar dependències, relacions, tendències, dades atípiques, etc. D’altra banda, la visualització també ens permet la presentació de les dades i resultats obtinguts gràficament, de manera que siguin fàcilment interpretables tant per als científics de dades com per a l’usuari final. Actualment, les eines i recursos que tenim al nostre abast ens faciliten la difusió de les conclusions de la fase d’anàlisi, cosa que permet, fins i tot, poder navegar o aprofundir en les dades presentades mitjançant la interacció amb aquestes. Així, les principals característiques que presenten aquestes eines interactives són el filtratge, la selecció, la comparació, el zoom, l’overview, etc.

Publicació

L’etapa final del cicle de vida de les dades és la seva publicació o disseminació; en alguns casos, dels resultats obtinguts en les fases d’anàlisi i visualització. En aquesta fase, l’objectiu principal és posar a la disposició de tercers les conclusions o resultats en forma de noves dades.

Actualment, hi ha diferents maneres de dur-ho a terme, com la publicació de la teva pròpia web o webs de tercers, compartir la informació en sistemes d’emmagatzematge en el núvol, etc., però el més recomanable és utilitzar un repositori digital pensat per a aquest ús. Amb la seva utilització, garantim la preservació i disseminació de la informació, a més de possibilitar-ne la distribució (internet, xarxa local…). Mitjançant la preservació, garantim la disponibilitat de les dades o informació establint-ne el format, l’estructura per a la seva reutilització futura. Respecte a la disseminació, aquesta possibilita la seva reutilització, especificant l’estructura i format en les denominades metadades, a més de l’ús que podem fer-ne i les seves restriccions.

Implementació

Finalment, encara que no es tracta d’una etapa del cicle de vida pròpiament dita, és necessari poder convertir un model creat en un «laboratori» en una eina o un producte que resolgui el problema per al qual va ser creat, mitjançant l’ús d’una implementació concreta i l’ús de recursos en el núvol, inclosos no solament aspectes d’emmagatzematge, sinó també de còmput, i la seva distribució en forma de programari com a servei o mitjançant l’ús de màquines virtuals.