Calculadora de média móvel climática
Suavize dados climáticos ruidosos sem deslocá-los no tempo: sete valores anuais com janela de 3 geram 5 médias centradas, a primeira alinhada ao índice 1 e a última ao 5. As bordas são omitidas, nunca preenchidas. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Janela
- 3
- Meia janela
- 1
- Número de entradas
- 7
- Quantidade de valores de saída
- 5
- Índice do primeiro centro
- 1
Um registro climático costuma combinar um sinal de longo prazo com variações ruidosas entre anos ou meses. Esta calculadora aplica uma média móvel centrada para que cada valor elegível represente o mesmo número de observações anteriores e posteriores. Informe uma série numérica ordenada e uma janela ímpar para receber as médias das janelas completas e os índices de alinhamento. O cálculo é determinístico, não acessa a rede e rejeita janelas maiores que a série.
Escolha uma janela compatível com a questão climática
Uma média móvel só é útil quando a janela reflete a escala temporal que você pretende analisar. Em observações anuais, uma janela de três anos atenua anos quentes ou frios isolados e preserva mudanças relativamente curtas; uma janela de onze anos realça variações mais amplas e elimina muito mais ruído interanual. Em observações mensais, treze pontos cobrem aproximadamente um ano e mantêm um único mês central.
A calculadora exige uma janela ímpar porque cada resultado precisa se alinhar a uma observação real no centro. Insira os valores em ordem cronológica e mantenha constante o intervalo de amostragem. Não misture dados mensais e anuais nem use datas irregulares sem antes reamostrar o registro em uma linha do tempo regular.
Todas as posições são tratadas como igualmente espaçadas e ponderadas. A ferramenta não identifica se os números representam temperatura, precipitação, nível do mar, anomalias ou outro indicador; preserve a unidade original junto do resultado. Uma janela maior produz uma curva mais suave, mas remove mais estrutura de curto prazo e gera menos valores.
Escolha-a conforme o objetivo científico, não apenas pela aparência da curva.
Entenda a centralização, as bordas e os índices
Em uma janela ímpar de largura w, cada média usa a observação central e a mesma quantidade de observações dos dois lados. Assim, uma janela de cinco pontos no índice de entrada 6 calcula a média dos índices 4 a 8. As extremidades da série não comportam uma janela centrada completa porque faltam observações de um lado.
Em vez de preencher as bordas, repetir valores extremos ou reduzir silenciosamente a janela, a calculadora omite essas posições incompletas. Todos os índices começam em zero. A quantidade de resultados é o tamanho da entrada menos a janela mais um.
Quando a janela abrange toda a série, há um único resultado central. Com janela um, todos os valores permanecem inalterados. Se a janela superar as observações disponíveis, a solicitação falha em vez de retornar um cálculo parcial ou ambíguo.
Interprete a série suavizada com responsabilidade
A suavização ajuda a revelar estruturas, mas não cria novas evidências nem estabelece sozinha uma tendência. Uma média centrada combina observações vizinhas, reduz a dimensão aparente de extremos isolados e torna resultados adjacentes estatisticamente dependentes, pois suas janelas se sobrepõem. Preserve a série original ao divulgar resultados, informe a largura da janela e o intervalo de amostragem e evite comparar suavizações de janelas diferentes como se fossem medições equivalentes.
Dados ausentes exigem tratamento antes do cálculo. A entrada aceita somente números finitos; portanto, lacunas não podem ser representadas por null, NaN ou infinito. Decida se uma lacuna deve ser interpolada, mantida como interrupção ou tratada por um método próprio para registros incompletos, e documente a escolha fora desta ferramenta.
Avalie também se pesos iguais são adequados. Esta capacidade calcula uma média aritmética simples; não aplica pesos gaussianos, ajuste sazonal, ponderação espacial, propagação de incerteza nem resistência robusta a valores atípicos. Ela é indicada para gráficos exploratórios, pré-processamento reproduzível e resumos transparentes.
Em atribuição ou inferência climática formal, mantenha também o registro original, os metadados, as incertezas e a análise estatística especializada.
Casos de uso
Suavizar anomalias anuais de temperatura
Reduza variações isoladas entre anos e mantenha cada média alinhada ao ano central.
Preparar uma série para painel climático
Gere uma curva reproduzível e índices explícitos para plotá-la ao lado das observações originais.
Comparar janelas de suavização
Calcule várias janelas ímpares separadamente para verificar quais escalas temporais permanecem visíveis.
Perguntas frequentes
Por que a janela precisa ser ímpar?
Uma janela ímpar tem uma única observação central e a mesma quantidade de valores antes e depois dela.
O que acontece nas extremidades da série?
As posições sem uma janela centrada completa são omitidas. Os índices retornados indicam o alinhamento dos resultados.
E se a janela for maior que a série?
A calculadora retorna um erro de entrada inválida porque nenhuma janela completa pode ser formada.
A série pode conter valores ausentes?
Não. Toda observação deve ser um número finito. Trate ou documente os dados ausentes antes do cálculo.
A ferramenta calcula uma média móvel ponderada?
Não. Todas as observações da janela recebem o mesmo peso em uma média aritmética simples.
Ferramentas relacionadas
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/earth/climate-moving-average \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"values":[12.1,12.8,11.9,13.2,14,13.7,14.5],"window":3}'const res = await fetch("https://api.kit.forhosting.com/earth/climate-moving-average", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"values": [
12.1,
12.8,
11.9,
13.2,
14,
13.7,
14.5
],
"window": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/earth/climate-moving-average",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"values": [
12.1,
12.8,
11.9,
13.2,
14,
13.7,
14.5
],
"window": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/earth/climate-moving-average", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"values":[12.1,12.8,11.9,13.2,14,13.7,14.5],"window":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"values":[12.1,12.8,11.9,13.2,14,13.7,14.5],"window":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/earth/climate-moving-average", 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
{
"values": [
12.1,
12.8,
11.9,
13.2,
14,
13.7,
14.5
],
"window": 3
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "earth.climate_moving_average",
"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 | 100000 |
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. |
Notas técnicas
Entenda a centralização, as bordas e os índices
A resposta informa half_window, first_center_index e last_center_index para que você alinhe cada média ao registro original com precisão. O primeiro item de smoothed_values pertence a first_center_index; cada item seguinte avança uma posição até last_center_index.
Perguntas técnicas
Quanto custa a solicitação à API?
O preço da API é US$ 0,002 por solicitação. O cálculo no navegador não requer processamento pela rede.