Cálculo de Desviación Estándar en Series de Tiempo con NumPy

Clase 22 de 28Curso de Introducción al Álgebra Lineal: Vectores

Resumen

¿Qué son los vectores en series de tiempo?

¡Claro! Los vectores pueden representar más que simples objetos geométricos. Un vector también puede considerarse como una serie de tiempo, donde cada componente del vector representa una medición a intervalos sucesivos en el tiempo. Por ejemplo, si x es un vector con valores [x0, x1, x2, ..., xn], cada xi se refiere a una medida en el tiempo i. Este enfoque es útil para analizar datos como medidas financieras, métricas de rendimiento, etc.

¿Cómo calcular la desviación estándar de un vector?

Calcular la desviación estándar de un vector es crucial cuando los vectores se utilizan como series de tiempo o datos medidos. La idea es medir la dispersión de las entradas de un vector con respecto a su media.

  1. Vector medio: Primero, definimos un nuevo vector x_tilde = x - average(x) * 1, donde 1 es un vector con todas las entradas iguales a la media del vector original. Esto asegura que el promedio de x_tilde sea cero.

  2. Fórmula de la desviación estándar: La desviación estándar de un vector x se calcula como la raíz cuadrada de la media del cuadrado de x_tilde, lo cual coincide con el RMS (Root Mean Square) de x_tilde.

  3. Interpretación: Nos dice cuánto se desvían, en promedio, las entradas del vector con respecto a la media del vector. Un ejemplo claro sería el salario promedio donde la mayoría se agrupa alrededor de un valor central.

Ejercicio de ejemplo con Python

Veamos cómo se hace en Python usando NumPy:

import numpy as np

# Vector de ejemplo
x = np.array([1, -2, 3, 2])

# Calcular el promedio
promedio = np.mean(x)

# Se calcula x_tilde
x_tilde = x - promedio * np.array([1, 1, 1, 1])

# Comprobación del promedio de x_tilde
promedio_x_tilde = np.mean(x_tilde)

# Desviación estándar manual
desviacion_estandar_manual = np.linalg.norm(x_tilde) / np.sqrt(len(x_tilde))

# Usando NumPy
desviacion_estandar_numpy = np.std(x)

print(f"Desviación estándar manual: {desviacion_estandar_manual}")
print(f"Desviación estándar con NumPy: {desviacion_estandar_numpy}")

En este código, ambas formas dan la misma desviación estándar, confirmando la utilidad de NumPy para simplificar los cálculos.

¿Cuál es la relación entre promedio, RMS y desviación estándar?

Existe una relación fundamental entre estas tres medidas en un vector:

  1. Promedio (mu): Se refiere al valor central o promedio del vector.
  2. Desviación estándar (sigma): Mide cuánto varían los datos del promedio.
  3. RMS: Una medida de la magnitud del vector que se relaciona con el promedio y la desviación estándar.

La relación específica es:

[ \text{RMS}^2(x) = \text{promedio}(x)^2 + \sigma^2(x) ]

Esto significa que el cuadrado del RMS es la suma del cuadrado del promedio más el cuadrado de la desviación estándar. Esta fórmula es integral en muchas aplicaciones estadísticas y financieras.

¿Por qué es fundamental entender estas medidas?

Comprender el promedio, la desviación estándar y el RMS no solo es clave para el análisis de datos sofisticado, sino que también ayuda a prever la variabilidad y los rangos de expectación de los datos. En el contexto de inversión en mercados financieros, estas medidas se usan para calcular riesgos y rendimientos potenciales, ayudándonos a tomar decisiones más informadas y estratégicas. ¡Continúa explorando y aplicando estos conceptos en tus proyectos y herramientas analíticas!