Calculateur de régression polynomiale
Ce calculateur de régression polynomiale ajuste une courbe du degré choisi à des observations numériques appariées au moyen de moindres carrés déterministes.
Lancer gratuitement
Indiquez un tableau x, le tableau y correspondant et le degré du polynôme souhaité. Le résultat fournit les coefficients par puissances croissantes, en commençant par le terme constant, afin que vous puissiez les copier directement dans un code d’analyse ou les évaluer avec l’algorithme de Horner. Le calcul repose sur la décomposition QR de Householder, qui offre un meilleur comportement numérique que la résolution directe des équations normales.
Préparez les observations appariées et choisissez le degré
Saisissez les valeurs indépendantes dans x et les valeurs observées correspondantes dans y. La position compte : la première valeur y correspond à la première valeur x, la deuxième à la deuxième, et ainsi de suite. Les deux tableaux doivent donc avoir exactement la même longueur et chaque entrée doit être un nombre fini. Choisissez ensuite un degré entier positif ou nul. Le degré zéro ajuste une constante, le degré un une droite, le degré deux une parabole, et chaque degré supérieur ajoute une nouvelle puissance de x. Il faut au minimum un nombre de points égal au degré plus un, car autant de coefficients doivent être déterminés. Des points supplémentaires sont généralement préférables : ils produisent un véritable ajustement par moindres carrés plutôt qu’une interpolation exacte et peuvent réduire l’influence du bruit de mesure. Ne retenez pas un degré élevé uniquement parce qu’il suit plus étroitement les observations fournies. Un polynôme trop souple peut osciller entre les points et donner de mauvaises prévisions hors de la plage échantillonnée. Commencez par le degré le plus simple que justifient la forme des données et l’objectif du modèle.
Interprétez et utilisez les coefficients renvoyés
Les coefficients sont renvoyés par puissances croissantes. Si le résultat est <code>[c0, c1, c2]</code>, l’équation ajustée est <code>y = c0 + c1*x + c2*x^2</code>. Cette convention facilite l’identification du terme constant et associe chaque position du tableau à son exposant. La réponse rappelle également le degré accepté et le nombre de points appariés, précise l’ordre des coefficients et nomme la méthode des moindres carrés. Les coefficients minimisent la somme des carrés des résidus verticaux : pour chaque valeur x fournie, le polynôme ajusté produit une prédiction, celle-ci est soustraite à la valeur y observée, puis les différences au carré sont additionnées. Les moindres carrés équilibrent toutes les observations sans garantir que la courbe passe par un point particulier. De petits artefacts décimaux peuvent résulter de l’arithmétique en virgule flottante ; les résultats sont donc normalisés à une précision stable avant leur restitution. Lorsque vous exploitez la sortie, conservez l’ordre documenté et évaluez le polynôme de façon cohérente ; inverser la liste décrirait une courbe totalement différente.
Comprenez les limites numériques et les échecs d’ajustement
Le calculateur emploie la décomposition QR de Householder, une méthode classique pour résoudre les systèmes de moindres carrés sans former explicitement les équations normales. Ce choix se comporte généralement mieux lorsque les colonnes polynomiales ont des échelles différentes, mais l’ajustement polynomial peut rester exigeant sur le plan numérique. De très grandes valeurs de x, une forte dispersion des échelles ou un degré proche du maximum configuré peuvent amplifier les erreurs d’arrondi. Pour un travail scientifique exigeant, envisagez de centrer et de mettre x à l’échelle avant l’ajustement, puis conservez cette transformation avec le modèle. Le calculateur refuse une demande comportant moins de points que le degré plus un. Il refuse aussi les données de rang insuffisant, par exemple un polynôme de degré positif lorsque les valeurs x ne contiennent pas assez d’informations distinctes pour déterminer chaque coefficient. Ces erreurs valent mieux que des infinis, des valeurs NaN ou une solution arbitraire. Un ajustement réussi décrit une association dans les observations fournies ; il n’établit aucune causalité, ne valide pas l’extrapolation et ne prouve pas qu’un polynôme constitue le bon processus générateur. Examinez les résidus et vos connaissances métier avant toute prévision importante.
Cas d’usage
Ajuster une courbe d’étalonnage
Estimez une relation quadratique ou cubique entre des entrées de référence connues et les réponses mesurées d’un instrument.
Modéliser une tendance courbe
Résumez une évolution non linéaire régulière dans des observations appariées avec des coefficients réutilisables dans du code.
Vérifier des calculs universitaires
Comparez des coefficients polynomiaux calculés à la main avec un résultat QR déterministe par moindres carrés.
Questions fréquentes
Quel est le tarif ?
Le tarif de l’API est de $0.002 par requête. Le calculateur du navigateur peut exécuter localement le même noyau déterministe.
Dans quel ordre les coefficients sont-ils renvoyés ?
Par puissances croissantes : la première valeur est le terme constant, la deuxième multiplie x, la troisième multiplie x au carré, et ainsi de suite.
De combien de points avez-vous besoin ?
Il faut au minimum autant de points appariés que le degré plus un. Des observations supplémentaires améliorent généralement l’ajustement de données bruitées.
Pourquoi un ajustement peut-il être singulier malgré assez de points ?
Les valeurs x peuvent ne pas contenir assez d’informations distinctes pour déterminer toutes les puissances demandées, notamment si elles sont identiques.
La courbe passe-t-elle par tous les points ?
Pas nécessairement. Les moindres carrés minimisent le total des résidus verticaux au carré ; le passage exact exige des données compatibles.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre 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)Exemple de requête
{
"x": [
-2,
-1,
0,
1,
2
],
"y": [
9,
2,
1,
6,
17
],
"degree": 2
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.polynomial_regression",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |