Polynomiale Regression
Dieser Rechner für polynomiale Regression passt eine Kurve des gewählten Grades mit einem deterministischen Kleinste-Quadrate-Verfahren an gepaarte numerische Beobachtungen an.
Im Browser ausführen – kostenlos
Geben Sie eine x-Liste, die zugehörige y-Liste und den gewünschten Polynomgrad ein. Das Ergebnis enthält die Koeffizienten in aufsteigender Potenzreihenfolge, beginnend mit dem konstanten Glied. So können Sie sie direkt in Analysecode übernehmen oder mit dem Horner-Schema auswerten. Die Berechnung verwendet die Householder-QR-Zerlegung, die sich numerisch günstiger verhält als das direkte Lösen der Normalgleichungen.
Bereiten Sie Wertepaarungen vor und wählen Sie den Grad
Tragen Sie die unabhängigen Werte unter x und die zugehörigen Beobachtungswerte unter y ein. Die Position ist entscheidend: Der erste y-Wert gehört zum ersten x-Wert, der zweite zum zweiten und so weiter. Beide Listen müssen daher genau gleich lang sein, und jeder Eintrag muss eine endliche Zahl darstellen. Wählen Sie anschließend einen nicht negativen ganzzahligen Grad. Grad null passt eine Konstante an, Grad eins eine Gerade, Grad zwei eine quadratische Funktion; jeder höhere Grad fügt eine weitere Potenz von x hinzu. Sie benötigen mindestens Grad plus eins Punkte, weil entsprechend viele Koeffizienten zu bestimmen sind. Zusätzliche Punkte sind meist sinnvoll: Sie machen die Aufgabe zu einer echten Ausgleichsrechnung statt zu einer exakten Interpolation und können den Einfluss von Messrauschen verringern. Wählen Sie keinen hohen Grad allein deshalb, weil er den eingegebenen Beobachtungen enger folgt. Ein unnötig flexibles Polynom kann zwischen den Punkten schwingen und außerhalb des Messbereichs schlechte Vorhersagen liefern. Beginnen Sie mit dem einfachsten Grad, den Datenform und Modellzweck rechtfertigen.
Lesen und verwenden Sie die ausgegebenen Koeffizienten
Die Koeffizienten werden nach aufsteigenden Potenzen ausgegeben. Lautet das Ergebnis <code>[c0, c1, c2]</code>, dann ist die angepasste Gleichung <code>y = c0 + c1*x + c2*x^2</code>. Durch diese Konvention lässt sich das konstante Glied leicht erkennen, und jede Listenposition bleibt ihrem Exponenten zugeordnet. Die Antwort nennt außerdem erneut den akzeptierten Grad und die Anzahl der Wertepaare, kennzeichnet die Koeffizientenreihenfolge und bezeichnet das Kleinste-Quadrate-Verfahren. Die Koeffizienten minimieren die Summe der quadrierten vertikalen Residuen: Für jeden eingegebenen x-Wert erzeugt das angepasste Polynom eine Vorhersage, diese wird vom beobachteten y-Wert abgezogen, und die quadrierten Differenzen werden addiert. Die Ausgleichsrechnung berücksichtigt alle Beobachtungen, garantiert aber nicht, dass die Kurve durch einen bestimmten Punkt verläuft. Gleitkommaarithmetik kann kleine Dezimalartefakte verursachen; deshalb werden die Ergebnisse vor der Ausgabe auf eine stabile Genauigkeit normalisiert. Behalten Sie bei der Verarbeitung die dokumentierte Reihenfolge bei und werten Sie das Polynom entsprechend aus. Eine umgekehrte Liste würde eine völlig andere Kurve beschreiben.
Beachten Sie numerische Grenzen und Anpassungsfehler
Der Rechner nutzt die Householder-QR-Zerlegung, ein Standardverfahren zum Lösen von Kleinste-Quadrate-Systemen, ohne die Normalgleichungen ausdrücklich aufzustellen. Diese Wahl verhält sich gewöhnlich besser, wenn die Polynomspalten unterschiedliche Größenordnungen haben. Dennoch kann eine polynomiale Anpassung numerisch anspruchsvoll sein. Sehr große x-Werte, stark verteilte Skalen oder ein Grad nahe dem festgelegten Maximum können Rundungsfehler verstärken. Bei anspruchsvollen wissenschaftlichen Arbeiten sollten Sie x vor der Anpassung zentrieren und skalieren und diese Transformation zusammen mit dem Modell aufbewahren. Der Rechner lehnt Anfragen ab, wenn weniger als Grad plus eins Punkte vorhanden sind. Er verwirft ebenfalls rangdefiziente Daten, etwa ein Polynom positiven Grades, wenn die x-Werte nicht genug verschiedene Informationen zur Bestimmung aller Koeffizienten enthalten. Solche Fehler sind besser als unendliche Werte, NaN oder eine willkürliche Lösung. Eine erfolgreiche Anpassung beschreibt einen Zusammenhang innerhalb der eingegebenen Beobachtungen; sie beweist weder Kausalität noch die Gültigkeit einer Extrapolation oder des Polynoms als richtigen Erzeugungsprozess. Prüfen Sie Residuen und Fachwissen, bevor Sie wichtige Vorhersagen auf die Kurve stützen.
Anwendungsfälle
Eine Kalibrierkurve anpassen
Schätzen Sie einen quadratischen oder kubischen Zusammenhang zwischen bekannten Referenzeingaben und gemessenen Geräteantworten.
Einen gekrümmten Trend modellieren
Fassen Sie ein glattes nichtlineares Muster in gepaarten Beobachtungen mit wiederverwendbaren Koeffizienten zusammen.
Übungsrechnungen kontrollieren
Vergleichen Sie manuell berechnete polynomiale Kleinste-Quadrate-Koeffizienten mit einem deterministischen QR-Ergebnis.
Häufige Fragen
Wie hoch ist der Preis?
Der API-Preis beträgt $0.002 pro Anfrage. Der Browser-Rechner kann denselben deterministischen Kern lokal ausführen.
In welcher Reihenfolge erscheinen die Koeffizienten?
Nach aufsteigenden Potenzen: Der erste Wert ist das konstante Glied, der zweite multipliziert x, der dritte x zum Quadrat und so weiter.
Wie viele Punkte sind erforderlich?
Sie benötigen mindestens Grad plus eins Wertepaare. Zusätzliche Beobachtungen verbessern meist die Anpassung verrauschter Daten.
Warum kann eine Anpassung trotz genügend Punkten singulär sein?
Die x-Werte enthalten möglicherweise nicht genug unterschiedliche Informationen für alle verlangten Potenzen, etwa wenn sämtliche Werte gleich sind.
Verläuft die Kurve durch alle Punkte?
Nicht unbedingt. Die Ausgleichsrechnung minimiert die gesamten quadrierten vertikalen Residuen; ein exakter Verlauf erfordert passende Daten.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem 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)Beispiel-Anfrage
{
"x": [
-2,
-1,
0,
1,
2
],
"y": [
9,
2,
1,
6,
17
],
"degree": 2
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.polynomial_regression",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |