Calcolatore di regressione polinomiale
Questo calcolatore di regressione polinomiale adatta una curva del grado scelto a osservazioni numeriche abbinate mediante minimi quadrati deterministici.
Esegui gratis nel browser
Inserisca un vettore x, il corrispondente vettore y e il grado del polinomio desiderato. Il risultato fornisce i coefficienti in ordine crescente di potenza, iniziando dal termine costante, affinché Lei possa copiarli direttamente nel codice di analisi o valutarli con l’algoritmo di Horner. Il calcolo utilizza la decomposizione QR di Householder, che offre un comportamento numerico migliore rispetto alla risoluzione diretta delle equazioni normali.
Prepari le osservazioni abbinate e scelga il grado
Inserisca i valori indipendenti in x e i corrispondenti valori osservati in y. La posizione è importante: il primo valore y appartiene al primo valore x, il secondo al secondo e così via. I due vettori devono quindi avere esattamente la stessa lunghezza e ogni elemento deve essere un numero finito. Scelga poi un grado intero non negativo. Il grado zero adatta una costante, il grado uno una retta, il grado due una parabola e ogni grado superiore aggiunge un’altra potenza di x. Sono necessari almeno tanti punti quanto il grado più uno, poiché occorre determinare quel numero di coefficienti. In genere è preferibile utilizzare più punti: in questo modo il calcolo diventa un vero adattamento ai minimi quadrati anziché un’interpolazione esatta e può ridurre l’influenza del rumore di misurazione. Non scelga un grado elevato soltanto perché segue più da vicino le osservazioni fornite. Un polinomio troppo flessibile può oscillare tra i punti e produrre previsioni scadenti oltre l’intervallo campionato. Inizi dal grado più semplice giustificato dalla forma dei dati e dallo scopo del modello.
Interpreti e utilizzi i coefficienti restituiti
I coefficienti vengono restituiti in ordine crescente di potenza. Se il risultato è <code>[c0, c1, c2]</code>, l’equazione adattata è <code>y = c0 + c1*x + c2*x^2</code>. Questa convenzione rende facile riconoscere il termine costante e associa ogni posizione del vettore al relativo esponente. La risposta ripete inoltre il grado accettato e il numero di punti abbinati, identifica l’ordine dei coefficienti e indica il metodo dei minimi quadrati. I coefficienti minimizzano la somma dei residui verticali al quadrato: per ogni valore x fornito, il polinomio adattato produce una previsione, questa viene sottratta dal valore y osservato e le differenze quadrate vengono sommate. I minimi quadrati bilanciano tutte le osservazioni, senza garantire che la curva attraversi un punto specifico. L’aritmetica in virgola mobile può produrre piccoli artefatti decimali, quindi i risultati vengono normalizzati a una precisione stabile prima della restituzione. Quando utilizza l’output, mantenga l’ordine documentato e valuti il polinomio in modo coerente; invertire l’elenco descriverebbe una curva completamente diversa.
Comprenda i limiti numerici e gli errori di adattamento
Il calcolatore usa la decomposizione QR di Householder, una tecnica standard per risolvere sistemi ai minimi quadrati senza formare esplicitamente le equazioni normali. Questa scelta in genere funziona meglio quando le colonne polinomiali hanno scale diverse, ma l’adattamento polinomiale può comunque essere impegnativo dal punto di vista numerico. Valori x molto grandi, scale molto disperse o un grado vicino al massimo configurato possono amplificare gli errori di arrotondamento. Nei lavori scientifici più rigorosi, consideri di centrare e scalare x prima dell’adattamento e conservi tale trasformazione insieme al modello. Il calcolatore rifiuta una richiesta quando i punti sono meno del grado più uno. Rifiuta inoltre i dati con rango insufficiente, come la richiesta di un polinomio di grado positivo quando i valori x non contengono informazioni distinte sufficienti a determinare ogni coefficiente. Questi errori sono preferibili alla restituzione di infiniti, valori NaN o soluzioni arbitrarie. Un adattamento riuscito descrive un’associazione nelle osservazioni fornite; non stabilisce causalità, non convalida l’estrapolazione e non dimostra che un polinomio sia il processo generativo corretto. Esamini i residui e le conoscenze del dominio prima di affidarsi alla curva per previsioni rilevanti.
Casi d'uso
Adattare una curva di calibrazione
Stimi una relazione quadratica o cubica tra ingressi di riferimento noti e risposte misurate di uno strumento.
Modellare una tendenza curva
Riassuma un andamento non lineare regolare in osservazioni abbinate con coefficienti riutilizzabili nel codice.
Verificare calcoli didattici
Confronti coefficienti polinomiali calcolati a mano con un risultato QR deterministico ai minimi quadrati.
Domande frequenti
Quanto costa?
Il prezzo dell’API è $0.002 per richiesta. Il calcolatore nel browser può eseguire localmente lo stesso nucleo deterministico.
In quale ordine vengono restituiti i coefficienti?
Per potenze crescenti: il primo valore è il termine costante, il secondo moltiplica x, il terzo moltiplica x al quadrato e così via.
Quanti punti sono necessari?
Occorrono almeno tanti punti abbinati quanto il grado più uno. Osservazioni aggiuntive migliorano in genere l’adattamento dei dati rumorosi.
Perché l’adattamento può essere singolare anche con abbastanza punti?
I valori x potrebbero non contenere informazioni distinte sufficienti per determinare tutte le potenze richieste, ad esempio quando sono identici.
La curva passa attraverso tutti i punti?
Non necessariamente. I minimi quadrati minimizzano i residui verticali quadrati totali; il passaggio esatto avviene solo con dati compatibili.
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/polynomial-regression \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"x":[-2,-1,0,1,2],"y":[9,2,1,6,17],"degree":2}'const res = await fetch("https://api.kit.forhosting.com/stat/polynomial-regression", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"x": [
-2,
-1,
0,
1,
2
],
"y": [
9,
2,
1,
6,
17
],
"degree": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/polynomial-regression",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"x": [
-2,
-1,
0,
1,
2
],
"y": [
9,
2,
1,
6,
17
],
"degree": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/polynomial-regression", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"x":[-2,-1,0,1,2],"y":[9,2,1,6,17],"degree":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"x":[-2,-1,0,1,2],"y":[9,2,1,6,17],"degree":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/polynomial-regression", 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": [
-2,
-1,
0,
1,
2
],
"y": [
9,
2,
1,
6,
17
],
"degree": 2
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.polynomial_regression",
"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.
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. |