En este post analizamos las partes que componen una estampa de tiempo y las utilizamos para visualizar la misma serie de tiempo de 6 distintas maneras.
En realidad una ‘serie de tiempo’ o time series es simplemente un grupo de datos asociados con una fecha. Es muy común que estos datos sean muy similares (o incluso el 'mismo' dato) y que lo único que cambia es esta estampa de tiempo (timestamp).
Algunos ejemplos de series de tiempo serían la asistencia en la escuela, visitas a tu blog, o en este caso el historial de reproducciones de tu cuenta de Spotify.
En realidad lo que estas analizando es “el evento”, el hecho de que algo sucedió y cuando- no necesariamente lo que sucedió.
Mas adelante veremos como usamos “lo que sucedió” o la categoría del evento en nuestros análisis.
Un ejemplo práctico
En estos ejemplos vamos a analizar mis historial de reproducciones de Spotify para el 2022. En su forma mas simple estos eventos tienen 4 atributos:
- La estampa de tiempo cuando terminó la reproducción en formato UTC
- Nombre de la canción
- Nombre del artista
- Milisegundos reproducidos (vamos a ignorar esto por el momento)
Tengo como 10,000 records así para el 2022.
Si visualizamos estas estampas de tiempo se ven así
código
alt.Chart(data).mark_tick().encode(
x = 'endTime:T',
).properties(
height = 150
)
Los otros dos atributos que tenemos son categorías ‘nominales’ - grupos separados (discretos) pero sin relación el uno al otro (desordenados). Es decir, la categoría “Dharius” es distinta a “Cartel de Santa” y una no es mayor o menor a la otra.
Un ejemplo de categorías discretas pero ordenadas sería los niveles de riesgo en algún sistema: “bajo”, “medio”, “alto”. Sabemos que “alto” es mayor a “bajo”.
Así que tenemos un solo atributo para trabajar: la estampa de tiempo
Anatomía de una estampa de tiempo
Aunque la estampa de tiempo sea un solo dato tiene muchísima información. Para empezar sabemos que está en formato UTC - Universal Coordinated Time (aparentemente los gringos y los franceses no podían decidirse si usar CUT por sus siglas en inglés o TUC por sus siglas en francés y prefirieron que ambos estuvieran mal en lugar de darle la razón a los otros 🙄).
Antes que nada, yo vivo en la bahía de San Francisco en California así que estoy 8 horas ‘antes’ así que este record es en realidad
Ahora veamos mas a fondo esta estampa de tiempo
Un solo dato tiene, para empezar y por lo menos, 5 atributos: año, mes, día, hora, minuto. Esto significa que podemos analizar estos eventos por cada uno de estos.
Estos datos son solo para el 2022 así que el atributo año no nos dice mucho pero tenemos aun 4 atributos para analizar y mínimo 6 combinaciones:
- Mes x día
alt.Chart(data).mark_circle().encode(
x = alt.X('date(endTime)', title = ''),
y = alt.Y("month(endTime):O", title = "Mes x Día"),
size = alt.Size("count()", title = "Número de reproducciones")
).properties(
height = 150
)
- Mes x hora
alt.Chart(data).mark_circle().encode(
x = alt.X('hours(endTime)', title = ''),
y = alt.Y("month(endTime):O", title = "Mes x Hora"),
size = alt.Size("count()", title = "Número de reproducciones")
).properties(
height = 150
)
- Mes x minuto
alt.Chart(data).mark_circle().encode(
x = alt.X('minutes(endTime)', title = ''),
y = alt.Y("month(endTime):O", title = "Mes x Minuto"),
size = alt.Size("count()", title = "Número de reproducciones")
).properties(
height = 150
)
- Día x hora
alt.Chart(data).mark_circle().encode(
x = alt.X('hours(endTime)', title = ''),
y = alt.Y("date(endTime):O", title = "Dia x Hora"),
size = alt.Size("count()", title = "Número de reproducciones")
).properties(
height = 150
)
- Día x minuto
alt.Chart(data).mark_circle().encode(
x = alt.X('minutes(endTime)', title = ''),
y = alt.Y("date(endTime):O", title = "Dia x Minuto"),
size = alt.Size("count()", title = "Número de reproducciones")
).properties(
height = 150
)
- Hora x Minuto
alt.Chart(data).mark_circle().encode(
x = alt.X('minutes(endTime)', title = ''),
y = alt.Y("hours(endTime):O", title = "Hora x Minuto"),
size = alt.Size("count()", title = "Número de reproducciones")
).properties(
height = 150
)
Aquí ya podemos ver ciertos patrones emerger:
- Parece que hay un poco mas reproducciones Julio, Agosto, Septiembre
- Hay menos reproducciones durante entre las 6 y las 13 horas
- Puede que al inicio del año haya un poco mas de reproducciones en la mañana y hacia el Julio, Agosto, Septiembre hay mas reproducciones en la tarde.
- No parece haber mucha variación entre los minutos o entre los días del mes.
En la siguiente parte de esta serie de posts vamos ver aun más información que podemos extraer de una estampa de tiempo.
Discussion (0)