Retta di miglior adattamento: pendenza e previsioni
Una retta di miglior adattamento riassume la relazione lineare tra osservazioni numeriche appaiate.
Esegui gratis nel browser
Fornisca un array di valori x e un array y della stessa lunghezza: il calcolatore restituisce la pendenza dei minimi quadrati ordinari, l’intercetta e un valore y previsto per ogni x. È utile per controllare esercizi, creare tendenze, verificare fogli di calcolo e automatizzare risultati riproducibili. Il calcolo è deterministico, non contatta servizi esterni e rifiuta chiaramente array di lunghezze diverse o una serie x priva di variazione.
Come viene calcolata la retta di adattamento
Il calcolatore adatta una retta espressa come y previsto uguale alla pendenza per x più l’intercetta. Usa i minimi quadrati ordinari, il metodo standard che sceglie i coefficienti capaci di minimizzare la somma dei quadrati delle differenze verticali tra i valori y osservati e le rispettive previsioni. Per prima cosa calcola la media aritmetica di ciascun array. Poi misura la distanza di ogni x dalla media di x e lo spostamento del corrispondente y rispetto alla media di y. La somma dei prodotti di questi scarti, divisa per la somma degli scarti quadratici di x, fornisce la pendenza. L’intercetta è la media di y meno la pendenza moltiplicata per la media di x. Infine inserisce ogni x originale nell’equazione e produce le previsioni nello stesso ordine. È una formula chiusa, non un’approssimazione iterativa: input finiti identici generano sempre lo stesso risultato. Le osservazioni molto distanti possono tuttavia influenzare notevolmente la retta, perché gli errori vengono elevati al quadrato.
Come preparare correttamente gli array x e y
Inserisca x e y come array JSON contenenti esclusivamente numeri finiti. Le posizioni definiscono le coppie: il primo x appartiene al primo y, il secondo al secondo e così via. I due array devono avere identica lunghezza e almeno due elementi. Mantenga l’ordine se desidera confrontare previsioni e osservazioni, perché l’array restituito segue esattamente x. Sono validi decimali, numeri negativi e zero. Valori mancanti, stringhe numeriche, null, NaN e Infinity vanno ripuliti prima dell’invio. Anche x deve presentare una variazione reale. Se tutti i valori x coincidono, il denominatore della formula della pendenza è zero e non si può definire una funzione lineare finita di x. Il calcolatore segnala quindi un input non valido invece di restituire zero, Infinity o NaN in modo fuorviante. Per misure enormi o scale estreme, valuti un cambio di unità per ridurre i normali limiti dell’aritmetica in virgola mobile e rendere più leggibili i coefficienti.
Come leggere e utilizzare i risultati
La pendenza indica quanto cambia il valore y previsto quando x aumenta di un’unità. Una pendenza positiva segnala un’associazione crescente, una negativa un’associazione decrescente e un valore vicino a zero una variazione lineare ridotta nell’intervallo osservato. L’intercetta è il valore y previsto quando x è zero. Può avere significato se zero rientra nei dati o vi è vicino, ma può essere soltanto un riferimento matematico se è lontano. L’array predicted contiene il valore adattato per ogni x inviato e consente di tracciare una tendenza, creare una tabella o calcolare i residui sottraendo ogni previsione dal relativo y osservato. Una retta descrive un’associazione, ma non dimostra che x causi y. Non estrapoli molto oltre l’intervallo osservato senza conoscenze specifiche. Esamini un diagramma a dispersione per individuare curvature, gruppi e valori anomali influenti. Il calcolo nel browser è gratuito; le richieste API automatizzate costano $0.002 per elemento.
Casi d'uso
Controllare esercizi di statistica
Verifichi pendenza e intercetta calcolate a mano e confronti ogni valore adattato con l’osservazione.
Creare una linea di tendenza
Generi previsioni nell’ordine originale di x e le rappresenti insieme ai valori misurati.
Validare una pipeline analitica
Usi coefficienti e previsioni deterministici come dati di prova per importazioni o report.
Domande frequenti
Che cosa significa retta di miglior adattamento?
È la retta che minimizza la somma dei quadrati delle differenze verticali tra y osservati e previsti.
Perché x e y devono avere la stessa lunghezza?
Ogni posizione rappresenta un’osservazione appaiata; un valore senza partner non può entrare nel calcolo.
Perché una x costante genera un errore?
Se tutti gli x coincidono, la varianza è zero e la formula divide per zero; non esiste una pendenza finita.
Le previsioni conservano l’ordine di input?
Sì. Ogni previsione corrisponde al valore x con lo stesso indice.
Quanto costa un calcolo tramite API?
Ogni richiesta riuscita costa $0.002 per elemento. Lo strumento nel browser esegue gratis lo stesso calcolo deterministico.
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/stat/line-of-best-fit \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"x":[1,2,3,4,5],"y":[2,4,5,4,5]}'const res = await fetch("https://api.kit.forhosting.com/stat/line-of-best-fit", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"x": [
1,
2,
3,
4,
5
],
"y": [
2,
4,
5,
4,
5
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/line-of-best-fit",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"x": [
1,
2,
3,
4,
5
],
"y": [
2,
4,
5,
4,
5
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/line-of-best-fit", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"x":[1,2,3,4,5],"y":[2,4,5,4,5]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"x":[1,2,3,4,5],"y":[2,4,5,4,5]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/line-of-best-fit", 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
{
"x": [
1,
2,
3,
4,
5
],
"y": [
2,
4,
5,
4,
5
]
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.line_of_best_fit",
"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. |