Calculadora de suavizado exponencial doble y pronóstico Holt
Esta calculadora aplica el método aditivo de nivel y tendencia de Holt a una serie numérica ordenada.
Ejecutar — gratis
Introduzca las observaciones, las constantes de suavizado del nivel y de la tendencia y el número de periodos futuros. El resultado incluye valores ajustados, la evolución de ambos componentes y el pronóstico. Es apropiada cuando los datos presentan una base cambiante y una tendencia aproximadamente lineal, pero carecen de un ciclo estacional, y permite revisar cada estimación intermedia en lugar de mostrar solamente la predicción final.
Elija datos adecuados para el método de Holt
El suavizado exponencial doble de Holt está pensado para observaciones registradas a intervalos regulares cuando importan tanto el nivel local como una tendencia persistente. Entre los ejemplos se encuentran pedidos semanales, suscripciones mensuales, volumen diario de incidencias o producción anual. Ordene los valores cronológicamente, comenzando por el más antiguo, y conserve intervalos uniformes, pues el algoritmo interpreta cada paso como un periodo igual. El método no modela la estacionalidad; por ello, una serie con repeticiones marcadas por día de la semana, mes o trimestre debería ajustarse antes o analizarse mediante un método estacional. Se requieren al menos dos observaciones porque la tendencia inicial se obtiene de su diferencia. Un historial mayor suele facilitar la adaptación de las estimaciones recursivas, aunque una ruptura estructural puede restar representatividad a los datos antiguos. Examine la serie antes de aceptar el pronóstico. Resuelva de forma explícita los valores ausentes en vez de convertirlos silenciosamente en cero: la calculadora exige que cada elemento sea un número finito y mantiene así claro el significado estadístico de la secuencia temporal.
Defina las constantes de nivel y tendencia
La constante de nivel, que suele denominarse alfa, determina cuánto modifica la observación más reciente la base estimada. Un valor próximo a uno responde con rapidez a los datos nuevos; uno próximo a cero conserva en mayor medida la proyección anterior de nivel más tendencia. La constante de tendencia, o beta, controla la rapidez con que cambia la pendiente estimada. Una beta alta sigue de cerca aceleraciones o desaceleraciones recientes, mientras que una beta baja genera una tendencia más estable. Ambas constantes deben situarse entre cero y uno, incluidos los extremos. La calculadora rechaza cualquier valor externo al intervalo en lugar de extrapolar una regla de ponderación indefinida. No existe una pareja óptima para todos los casos. Compare combinaciones razonables con observaciones reservadas y elija las que reduzcan el error en el horizonte relevante. No seleccione parámetros solo porque suavicen la línea dentro de la muestra: un modelo demasiado reactivo puede perseguir el ruido y otro demasiado lento puede ignorar un cambio real. Los niveles y tendencias devueltos muestran el efecto de cada elección en todas las observaciones y facilitan una comparación comprobable y explicable.
Interprete los ajustes y los pronósticos
Para la primera observación, la calculadora devuelve esa misma cifra como valor ajustado inicial. Inicializa el nivel con el primer dato y la tendencia con la primera diferencia. En cada posición posterior, el ajuste es la estimación a un paso disponible justo antes de observar el dato correspondiente. A continuación, el algoritmo actualiza el nivel combinando la nueva observación con la estimación anterior de nivel más tendencia y actualiza la tendencia mezclando el cambio de nivel más reciente con la pendiente previa. Los pronósticos futuros prolongan el nivel final mediante uno o varios múltiplos de la tendencia final. Son predicciones puntuales, no intervalos de confianza, y la incertidumbre suele aumentar con el horizonte. Compare los ajustes con los datos reales para detectar sesgos persistentes, perturbaciones anómalas o patrones que el modelo no representa. Revise también las matrices de nivel y tendencia al reproducir el cálculo en otro sistema, pues documentan cada estado recursivo. Automatizarlo mediante API cuesta $0.002 por solicitud; el navegador utiliza el mismo cálculo determinista. Entradas idénticas producen resultados numéricos idénticos con un redondeo coherente.
Qué puede hacer con ella
Pronosticar la demanda a corto plazo
Estime varios periodos regulares de demanda cuando el nivel y la tendencia recientes sean más relevantes que el promedio histórico.
Vigilar el crecimiento operativo
Separe una base cambiante de su pendiente estimada en incidencias, registros, rendimiento u otra métrica operativa no estacional.
Comparar configuraciones de suavizado
Pruebe valores candidatos de alfa y beta y examine ajustes, trayectorias de nivel y tendencia y pronósticos de validación.
Preguntas frecuentes
¿Qué es el suavizado exponencial doble?
Es el método recursivo de Holt para estimar el nivel y la tendencia lineal de una serie temporal y prolongar después ambos componentes hacia periodos futuros.
¿Qué intervalos se admiten para las constantes?
Las constantes de nivel y tendencia deben ser números finitos entre 0 y 1, incluidos ambos extremos. Un valor externo provoca un error de entrada no válida.
¿Cómo se eligen el nivel y la tendencia iniciales?
El nivel inicial es la primera observación. La tendencia inicial es la segunda observación menos la primera.
¿Esta calculadora trata la estacionalidad?
No. Solo modela un nivel variable y una tendencia lineal aditiva. Utilice un método estacional o ajuste primero la serie cuando haya ciclos repetitivos importantes.
¿Qué contiene el pronóstico?
Contiene una estimación puntual para cada periodo futuro solicitado, calculada prolongando el nivel final con la tendencia final estimada.
¿Cuánto cuesta utilizar la API?
Cada solicitud a la API cuesta $0.002. El cálculo también está disponible en el navegador mediante el widget generado de nivel A.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/stat/double-exponential-smoothing \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"series":[10,12,13,16,18],"level_constant":0.4,"trend_constant":0.3}'const res = await fetch("https://api.kit.forhosting.com/stat/double-exponential-smoothing", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"series": [
10,
12,
13,
16,
18
],
"level_constant": 0.4,
"trend_constant": 0.3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/double-exponential-smoothing",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"series": [
10,
12,
13,
16,
18
],
"level_constant": 0.4,
"trend_constant": 0.3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/double-exponential-smoothing", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"series":[10,12,13,16,18],"level_constant":0.4,"trend_constant":0.3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"series":[10,12,13,16,18],"level_constant":0.4,"trend_constant":0.3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/double-exponential-smoothing", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"series": [
10,
12,
13,
16,
18
],
"level_constant": 0.4,
"trend_constant": 0.3
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.double_exponential_smoothing",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_items | 10000 |
max_forecast_periods | 1000 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |