Actividad 06 · Diferenciación Numérica
FECHA: 05/11/2025 | SEMESTRE: Cuarto
Ejercicio 1: Análisis de Crecimiento de Usuarios
Una startup de tecnología registra el número acumulado de usuarios activos mensuales (en miles).
| Mes | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|
| Usuarios (k) | 10 | 15 | 23 | 34 | 48 | 65 | 85 |
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.
| Época | 0 | 10 | 20 | 30 | 40 | 50 |
|---|---|---|---|---|---|---|
| Loss | 2.45 | 1.82 | 1.35 | 1.08 | 0.95 | 0.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ía | Lun | Mar | Mié | Jue | Vie | Sáb | Dom |
|---|---|---|---|---|---|---|---|
| Ventas ($k) | 45 | 52 | 61 | 58 | 73 | 89 | 95 |
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\).
| Hora | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|---|
| Latencia | 120 | 125 | 128 | 135 | 280 | 290 | 275 | 155 |
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) | Temp | Velocidad (d1) | Aceleración (d2) | Alerta (>0.8) |
|---|---|---|---|---|
| 0 | 20.1 | 0.20 | NA | No |
| 1 | 20.3 | 0.35 | 0.30 | No |
| 2 | 20.8 | 0.60 | 0.20 | No |
| 3 | 21.5 | 0.90 | 0.40 | SÍ |
| 4 | 22.6 | 1.35 | 0.50 | SÍ |
| 5 | 24.2 | 1.75 | 0.30 | SÍ |
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: