Commit 43dcf640 authored by Camila Rangel Smith's avatar Camila Rangel Smith
Browse files

update texto

parent 60a2b30a
%% Cell type:markdown id:7f273806 tags: %% Cell type:markdown id:2bc1f428 tags:
# Trabajando con datos # Trabajando con datos
**GIGO: Garbage in, Garbage Out** **GIGO: Garbage in, Garbage Out**
![](https://i.imgur.com/UAipQE2.png) ![](https://i.imgur.com/UAipQE2.png)
# Organización de los datos # Organización de los datos
## Extracción de datos ## Extracción de datos
- ¿Cuál es el formato original de los datos? ¿Cómo se pueden leer correctamente? - ¿Cuál es el formato original de los datos? ¿Cómo se pueden leer correctamente?
## Diccionario de datos ## Diccionario de datos
- **Descripción de la tabla**: ¿Qué significa la tabla? ¿Hay una cabecera? ¿Hay varias tablas en los datos? - **Descripción de la tabla**: ¿Qué significa la tabla? ¿Hay una cabecera? ¿Hay varias tablas en los datos?
- **Descripción de las variables**: ¿Cuál es el tipo de cada variable? ¿Cuáles son los posibles rangos de valores? ¿Cuál es el significado de la variable? - **Descripción de las variables**: ¿Cuál es el tipo de cada variable? ¿Cuáles son los posibles rangos de valores? ¿Cuál es el significado de la variable?
- **Descripción del valor**: ¿Cuál es el significado de los valores de una característica? ¿Hay valores inesperados en una característica? - **Descripción del valor**: ¿Cuál es el significado de los valores de una característica? ¿Hay valores inesperados en una característica?
## Integración de datos ## Integración de datos
- **Combinación de tablas**: ¿Cómo se unen las tablas que contienen las mismas entidades? ¿Cómo se detectan las entidades comunes en las tablas? - **Combinación de tablas**: ¿Cómo se unen las tablas que contienen las mismas entidades? ¿Cómo se detectan las entidades comunes en las tablas?
- **Unión de tablas**: ¿Cómo se agregan las tablas con información común? ¿Son las características comunes coherentes en todas las tablas? - **Unión de tablas**: ¿Cómo se agregan las tablas con información común? ¿Son las características comunes coherentes en todas las tablas?
- **Integración heterogénea**: ¿Cómo combinar, por ejemplo, series temporales con datos relacionales o imágenes? ¿Cómo consultar múltiples conjuntos de datos almacenados en diferentes lugares? - **Integración heterogénea**: ¿Cómo combinar, por ejemplo, series temporales con datos relacionales o imágenes? ¿Cómo consultar múltiples conjuntos de datos almacenados en diferentes lugares?
- **Deduplicación**: ¿Cómo detectar entidades duplicadas en los datos? - **Deduplicación**: ¿Cómo detectar entidades duplicadas en los datos?
## Transformación de datos ## Transformación de datos
- **Transformaciones de tablas**: ¿Debemos utilizar un formato "alto" o un formato "ancho"? ¿Debemos eliminar filas o columnas? - **Transformaciones de tablas**: ¿Debemos utilizar un formato "alto" o un formato "ancho"? ¿Debemos eliminar filas o columnas?
- **Extracción de información**: ¿Existen propiedades de los datos contenidas en características de texto libre? Si es así, ¿cómo se extrae esta información? - **Extracción de información**: ¿Existen propiedades de los datos contenidas en características de texto libre? Si es así, ¿cómo se extrae esta información?
# Calidad de los datos # Calidad de los datos
## Estandarización ## Estandarización
- **Resolución de entidades**: ¿Algunos valores de una variable representan el mismo concepto? En caso afirmativo, ¿cómo se agrupan bajo un concepto común? - **Resolución de entidades**: ¿Algunos valores de una variable representan el mismo concepto? En caso afirmativo, ¿cómo se agrupan bajo un concepto común?
- **Variables**: ¿Existen diferentes formatos de una Variables? ¿Cuál es el formato estándar? - **Variables**: ¿Existen diferentes formatos de una Variables? ¿Cuál es el formato estándar?
- **Unidades**: ¿Se registran las medidas con las mismas unidades? - **Unidades**: ¿Se registran las medidas con las mismas unidades?
## Datos que faltan ## Datos que faltan
- **Detección**: ¿Qué celdas faltan? ¿Qué valores se utilizan para representar los datos que faltan? - **Detección**: ¿Qué celdas faltan? ¿Qué valores se utilizan para representar los datos que faltan?
- **Comprensión**: ¿Por qué faltan datos? ¿Se trata de MCAR, MAR o MNAR? - **Comprensión**: ¿Por qué faltan datos? ¿Se trata de MCAR, MAR o MNAR?
- *MCAR* (Missing Completely at Random): Faltantes completamente al azar. MCAR se refiere a los datos, cuando el proceso de la pérdida no depende de las otras variables explicativas en el conjunto de datos. - *MCAR* (Missing Completely at Random): Faltantes completamente al azar. MCAR se refiere a los datos, cuando el proceso de la pérdida no depende de las otras variables explicativas en el conjunto de datos.
- *MAR* (Missing at Random): MAR significa que las observaciones faltantes están condicionadas por otras variables explicativas en el conjunto de datos, aunque no con la variable de respuesta. Los valores faltantes no se distribuyen al azar con todas las observaciones, pero se distribuyen al azar dentro de una o más submuestras. - *MAR* (Missing at Random): MAR significa que las observaciones faltantes están condicionadas por otras variables explicativas en el conjunto de datos, aunque no con la variable de respuesta. Los valores faltantes no se distribuyen al azar con todas las observaciones, pero se distribuyen al azar dentro de una o más submuestras.
- *MCAR* (Missing not at random): Si los datos no son MAR o MCAR, entonces se clasifican como MNAR. - *MCAR* (Missing not at random): Si los datos no son MAR o MCAR, entonces se clasifican como MNAR.
- **Reparación**: ¿Debemos imputar los valores que faltan? ¿Debemos eliminar las filas o columnas que contienen valores perdidos? - **Reparación**: ¿Debemos imputar los valores que faltan? ¿Debemos eliminar las filas o columnas que contienen valores perdidos?
## Anomalías ## Anomalías
- **Detección**: ¿Cómo identificamos las entradas anómalas en las características? - **Detección**: ¿Cómo identificamos las entradas anómalas en las características?
- **Reparación**: ¿Debemos dejar estos valores en los datos o repararlos? ¿Debemos eliminar las filas con anomalías? - **Reparación**: ¿Debemos dejar estos valores en los datos o repararlos? ¿Debemos eliminar las filas con anomalías?
## No estacionariedad ## No estacionariedad
- **Puntos de cambio en series de tiempo**: ¿Cambia bruscamente el comportamiento de una serie temporal? ¿Hay algún significado detrás de estos cambios? - **Puntos de cambio en series de tiempo**: Cambia bruscamente el comportamiento de una serie temporal? ¿Hay algún significado detrás de estos cambios?
- **Cambios de protocolo**: ¿Cambian las propiedades de los datos al explorarlos secuencialmente? ¿Hay diferentes codificaciones de características presentes en entidades consecutivas? - **Cambios de protocolo**: ¿Cambian las propiedades de los datos al explorarlos secuencialmente? ¿Hay diferentes codificaciones de características presentes en entidades consecutivas?
# Ingeniería de variables # Ingeniería de variables
## Ingeniería de variables: ## Ingeniería de variables
- **Feature engineering**: ¿Son los rasgos de los datos útiles para la tarea en cuestión? ¿Necesitamos concatenar o ampliar características? ¿Necesitamos crear nuevas características basadas en las existentes? - **Feature engineering**: ¿Son los rasgos de los datos útiles para la tarea en cuestión? ¿Necesitamos concatenar o ampliar características? ¿Necesitamos crear nuevas características basadas en las existentes?
# Contexto
- **Contextualizar los datos**: Los datos son una representación distorsionada e incompleta de la realidad. Entender el contexto en el que fueron tomados es fundamental para evitar sacar conclusiones erroneas y entender el verdadero poder predictivo de los datos.
- **Contextualizar las anomalias**: Las anomalias pueden ser representación de un grupo pequeño. ¿Qué consecuencia puede tener la forma en que "reparemos" estas anomalias?
- **Contextualizar los datos que faltan**: Para datos MNAR o MAR, cuál es el contexto en el que faltan estos datos. ¿Qué consecuencia puede tener la forma en que tratemos los datos que faltan?
**Fuentes**: **Fuentes**:
[1]Nazabal, A., Williams, C. K. I., Colavizza, G., Rangel Smith, C., and Williams, A., “Data Engineering for Data Analytics: A Classification of the Issues, and Case Studies”, arXiv e-prints, 2020. https://arxiv.org/pdf/2004.12929.pdf [1]Nazabal, A., Williams, C. K. I., Colavizza, G., Rangel Smith, C., and Williams, A., “Data Engineering for Data Analytics: A Classification of the Issues, and Case Studies”, arXiv e-prints, 2020. https://arxiv.org/pdf/2004.12929.pdf
[2] PB Mandeville. Tips Bioestadísticos. Tema 24: Observaciones Perdidas 2010. https://dialnet.unirioja.es/descarga/articulo/3245988.pdf [2] PB Mandeville. Tips Bioestadísticos. Tema 24: Observaciones Perdidas 2010. https://dialnet.unirioja.es/descarga/articulo/3245988.pdf
%% Cell type:markdown id:7f10944a tags: %% Cell type:markdown id:35b2172e tags:
# Ejercicio: # Ejercicio:
[La Red de Calidad del Aire de Londres](https://www.londonair.org.uk/LondonAir/Default.aspx) (LAQN) está dirigida por el Grupo de Investigación Medioambiental del King's College de Londres. LAQN se creó en 1993 para coordinar y mejorar la vigilancia de la contaminación atmosférica en Londres. La red recoge datos sobre la contaminación atmosférica de los municipios londinenses, y cada uno de ellos financia la vigilancia en su propia zona. Cada vez más, esta información se complementa con las medidas de las autoridades locales que rodean Londres en Essex, Kent y Surrey, proporcionando así una perspectiva global de la contaminación atmosférica en el sureste de Inglaterra, así como una mayor comprensión de la contaminación en el propio Londres. [La Red de Calidad del Aire de Londres](https://www.londonair.org.uk/LondonAir/Default.aspx) (LAQN) está dirigida por el Grupo de Investigación Medioambiental del King's College de Londres. LAQN se creó en 1993 para coordinar y mejorar la vigilancia de la contaminación atmosférica en Londres. La red recoge datos sobre la contaminación atmosférica de los municipios londinenses, y cada uno de ellos financia la vigilancia en su propia zona. Cada vez más, esta información se complementa con las medidas de las autoridades locales que rodean Londres en Essex, Kent y Surrey, proporcionando así una perspectiva global de la contaminación atmosférica en el sureste de Inglaterra, así como una mayor comprensión de la contaminación en el propio Londres.
Usaremos los datos correspondiente a sensores que se encuentran en Tower Brige Road entre Enero 2019 y Enero 2021 de la siguiente [fuente](https://www.londonair.org.uk/london/asp/datasite.asp?CBXSpecies1=NOm&CBXSpecies2=NO2m&CBXSpecies3=NOXm&CBXSpecies4=PM1m&CBXSpecies5=PM10m&CBXSpecies6=FINE&CBXSpecies7=PM25m&CBXSpecies8=TSPm&day1=1&month1=jan&year1=2019&day2=1&month2=jan&year2=2021&period=hourly&ratidate=&site=SK8&res=6&Submit=Replot+graph). Usaremos los datos correspondiente a sensores que se encuentran en Tower Brige Road entre Enero 2019 y Enero 2021 de la siguiente [fuente](https://www.londonair.org.uk/london/asp/datasite.asp?CBXSpecies1=NOm&CBXSpecies2=NO2m&CBXSpecies3=NOXm&CBXSpecies4=PM1m&CBXSpecies5=PM10m&CBXSpecies6=FINE&CBXSpecies7=PM25m&CBXSpecies8=TSPm&day1=1&month1=jan&year1=2019&day2=1&month2=jan&year2=2021&period=hourly&ratidate=&site=SK8&res=6&Submit=Replot+graph).
Estos datos tienen numerosos problemas: Datos faltantes, valores atípicos, manejo de fechas, etc. Estos datos tienen numerosos problemas: Datos faltantes, valores atípicos, manejo de fechas, etc.
![](https://i.imgur.com/92e57by.jpg) ![](https://i.imgur.com/92e57by.jpg)
## Pregunta a responder: ## Pregunta a responder:
Usando estos datos, explorar qué efecto tuvo el primer confinamiento por Covid19 de Londres (entre el 23 de Marzo 2020 y 15 Junio 2020) en la calidad del aire. ¿Podemos observar un efecto significativo? Usando estos datos, explorar qué efecto tuvo el primer confinamiento por Covid19 de Londres (entre el 23 de Marzo 2020 y 15 Junio 2020) en la calidad del aire. ¿Podemos observar un efecto significativo?
## Pasos a seguir: ## Pasos a seguir:
1. Cargar datos a un [pandas dataframe](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html) 1. Cargar datos a un [pandas dataframe](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html)
2. Explorar los datos: 2. Explorar los datos:
- Entender las variables presentes. - Entender las variables presentes.
- Entender los datos que faltan (que variables faltan, relación con otras variables, etc). - Entender los datos que faltan (que variables faltan, relación con otras variables, etc).
- Entender si hay anomalias en los valores de los datos. - Entender si hay anomalias en los valores de los datos.
- Decidir qué hacer con estos datos que faltan o son anómalos. - Decidir qué hacer con estos datos que faltan o son anómalos.
3. Decidir estrategia sobre cómo responder la pregunta: 3. Decidir estrategia sobre cómo responder la pregunta:
- ¿Cómo agregar los datos en distintos períodos de tiempo (dias, semanas, meses)? - ¿Cómo agregar los datos en distintos períodos de tiempo (dias, semanas, meses)?
- ¿Cómo comparar la calidad del aire entre distintos períodos de tiempo? ¿Qué indicadores usar? - ¿Cómo comparar la calidad del aire entre distintos períodos de tiempo? ¿Qué indicadores usar?
## Links útiles para el ejercicio: ## Links útiles para el ejercicio:
- https://towardsdatascience.com/data-cleaning-in-python-the-ultimate-guide-2020-c63b88bf0a0d - https://towardsdatascience.com/data-cleaning-in-python-the-ultimate-guide-2020-c63b88bf0a0d
- https://www.geeksforgeeks.org/working-with-missing-data-in-pandas/ - https://www.geeksforgeeks.org/working-with-missing-data-in-pandas/
%% Cell type:code id:f0ff3225 tags: %% Cell type:code id:cbb945a1 tags:
``` python ``` python
import pandas as pd import pandas as pd
import seaborn as sns import seaborn as sns
``` ```
%% Cell type:code id:83945abd tags: %% Cell type:code id:bb73ff6f tags:
``` python ``` python
df = pd.read_csv("LaqnData_TowerBridgeRoad_Jan2019_Jan2021.csv", parse_dates = ['ReadingDateTime']) df = pd.read_csv("LaqnData_TowerBridgeRoad_Jan2019_Jan2021.csv", parse_dates = ['ReadingDateTime'])
``` ```
%% Cell type:code id:1b0a5259 tags: %% Cell type:code id:441815f0 tags:
``` python ``` python
df.head() df.head()
``` ```
%% Output %% Output
Site Species ReadingDateTime Value Units Provisional or Ratified Site Species ReadingDateTime Value Units Provisional or Ratified
0 SK8 NO 2019-01-01 00:00:00 NaN ug m-3 R 0 SK8 NO 2019-01-01 00:00:00 NaN ug m-3 R
1 SK8 NO 2019-01-01 01:00:00 NaN ug m-3 R 1 SK8 NO 2019-01-01 01:00:00 NaN ug m-3 R
2 SK8 NO 2019-01-01 02:00:00 NaN ug m-3 R 2 SK8 NO 2019-01-01 02:00:00 NaN ug m-3 R
3 SK8 NO 2019-01-01 03:00:00 NaN ug m-3 R 3 SK8 NO 2019-01-01 03:00:00 NaN ug m-3 R
4 SK8 NO 2019-01-01 04:00:00 NaN ug m-3 R 4 SK8 NO 2019-01-01 04:00:00 NaN ug m-3 R
%% Cell type:code id:973f9336 tags: %% Cell type:code id:4eeedefd tags:
``` python ``` python
``` ```
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment