Calcolatore della media mobile climatica
Una serie climatica spesso combina un segnale di lungo periodo con variazioni rumorose tra anni o mesi.
Esegui gratis nel browser
Questo calcolatore applica una media mobile centrata, affinché ogni valore valido rappresenti lo stesso numero di osservazioni precedenti e successive. Inserisca una serie numerica ordinata e una finestra dispari: otterrà le medie delle finestre complete con chiari indici di allineamento. Il calcolo è deterministico, non usa la rete e rifiuta una finestra più lunga della serie.
Scelga una finestra adatta alla domanda climatica
Una media mobile è utile soltanto quando la finestra rispecchia la scala temporale che Lei intende esaminare. Per osservazioni annuali, una finestra di tre anni attenua singoli anni caldi o freddi conservando cambiamenti relativamente brevi; una finestra di undici anni mette in risalto una variabilità più ampia e sopprime molto più rumore interannuale. Per osservazioni mensili, tredici punti coprono circa un anno mantenendo un unico mese centrale. Il calcolatore richiede una finestra dispari perché ogni risultato deve allinearsi a un’osservazione reale posta nel mezzo. Inserisca i dati in ordine cronologico e mantenga costante l’intervallo di campionamento. Non mescoli valori mensili e annuali né date irregolari senza aver prima ricampionato la serie su una sequenza regolare. Ogni posizione viene considerata equidistante e con lo stesso peso. Lo strumento non sa se un numero rappresenti temperatura, precipitazioni, livello del mare, un’anomalia o un altro indicatore; conservi quindi l’unità originale insieme al risultato. Una finestra maggiore rende la curva più uniforme, ma elimina più struttura a breve termine e restituisce meno valori. La scelga in base allo scopo scientifico, non soltanto all’aspetto della curva.
Comprenda centratura, estremi e indici restituiti
Con una finestra dispari di ampiezza w, ogni media usa l’osservazione centrale e lo stesso numero di osservazioni su entrambi i lati. Un calcolo a cinque punti sull’indice di ingresso 6 media quindi gli indici da 4 a 8. Le estremità della serie non possono contenere una finestra centrata completa perché mancano osservazioni da un lato. Invece di riempire i bordi, ripetere i valori terminali o ridurre silenziosamente la finestra, il calcolatore omette le posizioni incomplete. La risposta fornisce half_window, first_center_index e last_center_index, così Lei può allineare con precisione ogni media alla serie originale. Tutti gli indici partono da zero. Il primo elemento di smoothed_values corrisponde a first_center_index; quelli successivi avanzano di una posizione fino a last_center_index. Il numero dei risultati equivale alla lunghezza di ingresso meno la finestra più uno. Se la finestra coincide con l’intera serie, viene restituito un solo risultato centrale. Con una finestra di uno, tutti i valori restano invariati. Se la finestra supera le osservazioni disponibili, la richiesta non riesce invece di produrre un calcolo ambiguo o parziale.
Interpreti responsabilmente la serie smussata
Lo smussamento aiuta a evidenziare una struttura, ma non crea nuove prove né dimostra da solo una tendenza. Una media centrata combina osservazioni vicine, riduce la dimensione apparente degli estremi isolati e rende i risultati adiacenti statisticamente dipendenti, poiché le rispettive finestre si sovrappongono. Conservi la serie non smussata quando presenta i risultati, dichiari la lunghezza della finestra e l’intervallo di campionamento e non confronti curve ottenute con finestre diverse come se fossero misure equivalenti. I dati mancanti richiedono attenzione prima del calcolo. L’ingresso accetta solo numeri finiti, quindi una lacuna non può essere rappresentata da null, NaN o infinito. Decida se interpolarla, lasciarla come interruzione o trattarla con un metodo per serie incomplete, documentando la scelta al di fuori dello strumento. Valuti inoltre se pesi uguali siano appropriati. Questa capacità calcola una semplice media aritmetica; non applica pesi gaussiani, correzione stagionale, ponderazione spaziale, propagazione dell’incertezza o resistenza robusta ai valori anomali. È adatta a grafici esplorativi e pre-elaborazioni riproducibili. Per attribuzioni climatiche formali, conservi anche dati originali, metadati, incertezze e analisi statistiche specialistiche.
Casi d'uso
Smussare le anomalie termiche annuali
Riduca le variazioni isolate tra anni mantenendo ogni media allineata all’anno centrale.
Preparare una serie per un pannello climatico
Generi una curva riproducibile e indici espliciti per tracciarla accanto alle osservazioni originali.
Confrontare finestre di smussamento
Calcoli separatamente più finestre dispari per vedere quali scale temporali rimangono visibili.
Domande frequenti
Perché la finestra deve essere dispari?
Una finestra dispari ha un’unica osservazione centrale e lo stesso numero di valori prima e dopo di essa.
Che cosa accade alle estremità della serie?
Le posizioni prive di una finestra centrata completa vengono omesse. Gli indici restituiti indicano l’allineamento.
Che cosa accade se la finestra supera la serie?
Il calcolatore restituisce un errore di ingresso non valido perché non è possibile formare una finestra completa.
La serie può contenere valori mancanti?
No. Ogni osservazione deve essere un numero finito. Gestisca o documenti i dati mancanti prima del calcolo.
Viene calcolata una media mobile ponderata?
No. Tutte le osservazioni nella finestra hanno lo stesso peso in una semplice media aritmetica.
Quanto costa la richiesta API?
Il prezzo dell’API è $0.002 per richiesta. Il calcolo nel browser non richiede elaborazione in rete.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
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)Esempio di richiesta
{
"values": [
12.1,
12.8,
11.9,
13.2,
14,
13.7,
14.5
],
"window": 3
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "earth.climate_moving_average",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_items | 100000 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |