Actividad 06 · Diferenciación Numérica

FECHA: 05/11/2025 | SEMESTRE: Cuarto

Completada

Ejercicio 1: Análisis de Crecimiento de Usuarios

Una startup de tecnología registra el número acumulado de usuarios activos mensuales (en miles).

Mes1234567
Usuarios (k)10152334486585

1.1. Solución Matemática

Datos: Paso \(h=1\). Se definen los datos como una función \(f(x)\).

Tasa en Mes 4 (Diferencia Centrada)

$$f'(4) \approx \frac{f(5)-f(3)}{2(1)} = \frac{48-23}{2} = 12.5$$

Interpretación: En el mes 4, la tasa de crecimiento era de 12,500 usuarios/mes.

Aceleración (Segunda Derivada)

$$f''(x) \approx f(x+1)-2f(x)+f(x-1) = 3$$

La segunda derivada es positiva y constante (3), lo que indica que la startup crece de forma acelerada.

1.2. Código en R

# EJERCICIO 1: ANALISIS DE CRECIMIENTO
usuarios <- c(10, 15, 23, 34, 48, 65, 85)
h <- 1

# Mes 4: diferencia centrada
central_mes4 <- (usuarios[5] - usuarios[3]) / (2 * h)

# Segunda derivada (puntos internos)
n <- length(usuarios)
segunda <- numeric(n)
for (i in 2:(n-1)) {
  segunda[i] <- usuarios[i+1] - 2*usuarios[i] + usuarios[i-1]
}

print(paste("Derivada Mes 4:", central_mes4))
print(segunda[2:6])

1.3. Salida de Consola

Derivada (mes 4, centrada): 12.5 miles usuarios/mes
Segunda derivada: 3 3 3 3 3 
Interpretacion: Aceleracion constante y positiva -> crecimiento acelerado.

Ejercicio 2: Optimización de Función de Pérdida

Registro de la función de pérdida (loss) durante el entrenamiento de ML cada 10 épocas.

Época01020304050
Loss2.451.821.351.080.950.89

2.1. Solución

  • Tasa en Época 20 (Centrada): \(f'(20) \approx \frac{1.08 - 1.82}{20} = -0.037\) loss/época.
  • Segunda derivada Época 30: \(f''(30) \approx 0.0014\). Positivo, indica desaceleración de la mejora.
  • Criterio de parada (\(|f'| < 0.01\)): Se alcanza en la época 40 (\(|-0.0095| < 0.01\)).
  • Estimación Época 25: \(f(25) \approx 1.35 + 5(-0.037) = 1.165\).

2.2. Verificación en R

# EJERCICIO 2: OPTIMIZACION LOSS
epocas <- c(0, 10, 20, 30, 40, 50)
loss <- c(2.45, 1.82, 1.35, 1.08, 0.95, 0.89)
h <- 10 

f_prime_20 <- (loss[4] - loss[2]) / (2 * h)
f_second_30 <- (loss[5] - 2*loss[4] + loss[3]) / (h^2)
f_est_25 <- loss[3] + (25 - 20) * f_prime_20

cat(sprintf("f'(20)=%.4f, f''(30)=%.4f, f(25) approx %.4f", f_prime_20, f_second_30, f_est_25))

Ejercicio 3: Ventas Diarias (Series Temporales)

DíaLunMarMiéJueVieSábDom
Ventas ($k)45526158738995

3.1. Resultados Clave

Día con mayor aceleración: El Jueves (Día 4) con \(18 k/día^2\). Aunque hubo una caída en ventas absolutas el Jueves, la dinámica de aceleración fue máxima.

Predicción Lunes siguiente: Usando extrapolación lineal con los datos del Domingo: \(95 + 1(6) = 101 k\).

3.2. Código R

Dia(s) con mayor aceleracion positiva:
 Jue con aceleracion = 18 $k/dia^2

Estimacion ventas lunes siguiente = 101 $k

Ejercicio 4: Gradiente de Función de Activación

Cálculo del gradiente de la sigmoide \(\sigma(x)\) para backpropagation.

4.1. Análisis Numérico vs Analítico

Usando diferencia centrada con \(h=1\):

  • \(\sigma'(0) \approx 0.2311\). (Analítico real: 0.25). Error: -0.0189.
  • Simetría: \(\sigma'(-2) = \sigma'(2) \approx 0.11075\). Esto ocurre porque la derivada de la sigmoide es una función par.

Recomendación: \(h=1\) es demasiado grande (error de truncamiento). Se recomienda \(h \approx 10^{-5}\) para balancear errores de truncamiento y redondeo.

4.2. Salida de R

Derivadas numericas (centradas) con h=1:
 x=  0 : num=0.2311   analitica=0.25 (error=-0.0189)
 
Recomendacion: usar h approx 1e-5.

Ejercicio 5: Detección de Anomalías (Latencia API)

Incidente de latencia. Se busca detectar picos y anomalías con un umbral de \(>50 ms/h\).

Hora01234567
Latencia120125128135280290275155

5.1. Hallazgos

  • Pico de Anomalía: Ocurre entre la Hora 3 y 4 (donde la aceleración cambia de signo drásticamente).
  • Detección: Las horas 3, 4, 6 y 7 superan el umbral de \(50 ms/h\) en su tasa de cambio.
  • Recuperación: A partir de la hora 6, el sistema recupera velocidad (\(-67.5 ms/h\)).

Ejercicio 6: Tasa de Conversión vs Gasto

Análisis de ROI marginal para campañas de marketing.

6.1. Solución e Interpretación

Rango óptimo: El ROI marginal es aceptable (\(>0.2\%\)) solo entre $0k y $10k.

Análisis en $15k: La segunda derivada es negativa (\(-0.012\)), indicando rendimientos decrecientes.

Recomendación: No aumentar el gasto más allá de $25k, ya que el ROI marginal cae a 0.06%, saturando la inversión.

(Tarea 3) Segunda derivada en $15k: f''(15) approx -0.012 %/($k)^2
(Tarea 4) Recomendacion: no aumentar gasto mas alla de $25k.

Ejercicio 7: Feature Engineering (Sensores)

Creación de nuevas variables (velocidad y aceleración) para un modelo de clasificación de anomalías en temperatura.

7.1. Generación de Features

t (s)TempVelocidad (d1)Aceleración (d2)Alerta (>0.8)
020.10.20NANo
120.30.350.30No
220.80.600.20No
321.50.900.40
422.61.350.50
524.21.750.30

7.2. Utilidad para ML

Incluir la velocidad permite detectar el calentamiento (alerta en t=3) mucho antes de que la temperatura absoluta sea crítica. La aceleración ayuda a predecir si el calentamiento se estabiliza o empeora.

Desarrollo de la Actividad

A continuación se visualiza el documento PDF correspondiente a esta actividad:

Evidencias