Calculadora de suavização exponencial dupla e previsão Holt
Esta calculadora aplica o método aditivo de nível e tendência de Holt a uma série numérica ordenada.
Executar grátis
Informe as observações, as constantes de suavização de nível e de tendência e a quantidade de períodos futuros. O resultado inclui valores ajustados, a evolução dos dois componentes e a previsão. Ela é indicada quando os dados apresentam uma base variável e uma tendência aproximadamente linear, mas não têm ciclo sazonal, e permite que você examine cada estimativa intermediária em vez de receber apenas a previsão final.
Escolha dados adequados ao método de Holt
A suavização exponencial dupla de Holt foi criada para observações registradas em intervalos regulares quando tanto o nível local quanto uma tendência persistente são relevantes. Exemplos incluem pedidos semanais, assinaturas mensais, volume diário de chamados ou produção anual. Organize os valores em ordem cronológica, do mais antigo para o mais recente, e mantenha intervalos uniformes, pois o algoritmo considera cada etapa um período equivalente. O método não modela sazonalidade. Portanto, uma série com repetições fortes por dia da semana, mês ou trimestre normalmente deve ser ajustada antes ou analisada com um método sazonal. São necessárias pelo menos duas observações, porque a calculadora inicializa a tendência pela diferença entre os dois primeiros valores. Um histórico maior costuma oferecer mais oportunidades de adaptação às estimativas recursivas, embora uma ruptura estrutural possa tornar dados antigos menos representativos. Examine a série antes de aceitar a previsão. Resolva deliberadamente as observações ausentes, sem convertê-las silenciosamente em zero: a calculadora exige que cada item seja um número finito e mantém explícito o significado estatístico da sequência temporal.
Defina as constantes de nível e tendência
A constante de nível, geralmente chamada de alfa, determina o quanto a observação mais recente altera a base estimada. Um valor próximo de um reage rapidamente aos novos dados, enquanto um valor próximo de zero preserva mais da projeção anterior de nível somado à tendência. A constante de tendência, normalmente chamada de beta, controla a velocidade de mudança da inclinação estimada. Uma beta alta acompanha de perto acelerações ou desacelerações recentes; uma beta baixa produz uma tendência mais estável. As duas constantes devem estar entre zero e um, inclusive, e a calculadora rejeita valores fora desse intervalo em vez de extrapolar uma regra de ponderação indefinida. Não existe uma combinação universalmente superior. Você pode comparar pares plausíveis com observações reservadas e escolher aqueles que diminuem o erro no horizonte importante. Evite selecionar parâmetros apenas porque deixam a linha da amostra mais suave: um modelo muito responsivo pode perseguir ruídos, enquanto um modelo muito lento pode ignorar uma mudança real. Os níveis e as tendências retornados mostram o efeito de cada escolha em todas as observações, permitindo comparações auditáveis e mais fáceis de explicar.
Interprete os ajustes e as previsões
Para a primeira observação, a calculadora informa o próprio valor como ajuste inicial. O nível é inicializado com o primeiro dado e a tendência com a primeira diferença. Em cada posição seguinte, o valor ajustado é a estimativa de um passo à frente disponível imediatamente antes daquela observação. Em seguida, o algoritmo atualiza o nível combinando o novo dado com a estimativa anterior de nível mais tendência e atualiza a tendência combinando a mudança de nível mais recente com a inclinação anterior. As previsões futuras prolongam o nível final por um ou mais múltiplos da tendência final. Elas são estimativas pontuais, e não intervalos de confiança; a incerteza costuma crescer com o horizonte solicitado. Compare os ajustes com as observações reais para identificar viés persistente, choques incomuns ou um padrão que o modelo não consegue representar. Ao reproduzir o resultado em outro sistema, confira também as listas de níveis e tendências, que documentam cada estado recursivo. A automação por API custa US$ 0,002 por solicitação, e a versão no navegador usa o mesmo cálculo determinístico. Assim, entradas idênticas geram saídas numéricas idênticas, com arredondamento consistente.
Casos de uso
Prever a demanda de curto prazo
Estime os próximos períodos regulares de demanda quando o nível e a tendência recentes forem mais relevantes do que uma média histórica.
Acompanhar o crescimento operacional
Separe uma base variável de sua inclinação estimada em chamados, cadastros, produtividade ou outra métrica operacional não sazonal.
Comparar configurações de suavização
Teste valores candidatos de alfa e beta e analise ajustes, trajetórias de nível e tendência e previsões de validação.
Perguntas frequentes
O que é suavização exponencial dupla?
É o método recursivo de Holt para estimar o nível e a tendência linear de uma série temporal e depois prolongar esses componentes para períodos futuros.
Quais intervalos são permitidos para as constantes?
As constantes de nível e tendência devem ser números finitos entre 0 e 1, incluindo os extremos. Valores fora desse intervalo retornam erro de entrada inválida.
Como são escolhidos o nível e a tendência iniciais?
O nível inicial é a primeira observação. A tendência inicial é a segunda observação menos a primeira.
Esta calculadora considera sazonalidade?
Não. Ela modela apenas um nível variável e uma tendência linear aditiva. Use um método sazonal ou ajuste primeiro a série quando houver ciclos repetitivos importantes.
O que a previsão contém?
Ela contém uma estimativa pontual para cada período futuro solicitado, calculada pela extensão do nível final com a tendência final estimada.
Quanto custa usar a API?
Cada solicitação à API custa US$ 0,002. O cálculo também está disponível no navegador por meio do widget de nível A gerado.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
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)Exemplo de requisição
{
"series": [
10,
12,
13,
16,
18
],
"level_constant": 0.4,
"trend_constant": 0.3
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.double_exponential_smoothing",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_items | 10000 |
max_forecast_periods | 1000 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |