Calculadora de regresión polinomial
Esta calculadora de regresión polinomial ajusta una curva del grado elegido a observaciones numéricas emparejadas mediante mínimos cuadrados deterministas.
Ejecutar — gratis
Introduzca una matriz x, una matriz y correspondiente y el grado del polinomio deseado. El resultado presenta los coeficientes por potencias ascendentes, empezando por el término constante, para que usted pueda copiarlos directamente en código de análisis o evaluarlos con aritmética de Horner. El cálculo utiliza la descomposición QR de Householder, que ofrece un comportamiento numérico mejor que la resolución directa de las ecuaciones normales.
Prepare observaciones emparejadas y elija el grado
Introduzca los valores independientes en x y los valores observados correspondientes en y. La posición es importante: el primer valor y corresponde al primer valor x, el segundo al segundo y así sucesivamente. Por tanto, ambas matrices deben tener exactamente la misma longitud y cada entrada debe ser un número finito. A continuación, elija un grado entero no negativo. El grado cero ajusta una constante, el grado uno una recta, el grado dos una cuadrática y cada grado superior añade otra potencia de x. Se necesitan al menos tantos puntos como el grado más uno, porque hay que determinar ese número de coeficientes. Suele ser preferible aportar más puntos: así el cálculo constituye un verdadero ajuste por mínimos cuadrados, en lugar de una interpolación exacta, y puede reducir la influencia del ruido de medición. No seleccione un grado alto únicamente porque siga más de cerca las observaciones suministradas. Un polinomio demasiado flexible puede oscilar entre puntos y producir predicciones deficientes fuera del intervalo medido. Empiece con el grado más sencillo que justifiquen la forma de los datos y la finalidad del modelo.
Interprete y utilice los coeficientes devueltos
Los coeficientes se devuelven por potencias ascendentes. Si el resultado es <code>[c0, c1, c2]</code>, la ecuación ajustada es <code>y = c0 + c1*x + c2*x^2</code>. Esta convención facilita la identificación del término constante y vincula cada posición de la matriz con su exponente. La respuesta también repite el grado aceptado y el número de puntos emparejados, identifica el orden de los coeficientes y nombra el método de mínimos cuadrados. Los coeficientes minimizan la suma de los residuos verticales al cuadrado: para cada valor x proporcionado, el polinomio genera una predicción, esta se resta del valor y observado y se suman las diferencias al cuadrado. Los mínimos cuadrados equilibran todas las observaciones, pero no garantizan que la curva atraviese ninguna en particular. La aritmética de coma flotante puede originar pequeños artefactos decimales, por lo que los resultados se normalizan a una precisión estable antes de devolverse. Al consumir la salida, conserve el orden documentado y evalúe el polinomio de manera coherente; invertir la lista describiría una curva completamente distinta.
Comprenda los límites numéricos y los fallos de ajuste
La calculadora utiliza la descomposición QR de Householder, una técnica estándar para resolver sistemas de mínimos cuadrados sin formar explícitamente las ecuaciones normales. Esta elección suele funcionar mejor cuando las columnas polinomiales tienen escalas distintas, aunque el ajuste polinomial puede seguir siendo exigente numéricamente. Magnitudes de x muy grandes, escalas muy dispersas o un grado cercano al máximo configurado pueden amplificar los errores de redondeo. En trabajos científicos exigentes, considere centrar y escalar x antes del ajuste y conserve esa transformación junto con el modelo. La calculadora rechaza una solicitud si hay menos puntos que el grado más uno. También rechaza datos con rango deficiente, por ejemplo, un polinomio de grado positivo cuando los valores x no contienen información distinta suficiente para determinar todos los coeficientes. Es preferible señalar estos fallos que devolver infinitos, valores NaN o una solución arbitraria. Un ajuste correcto describe una asociación dentro de las observaciones aportadas; no demuestra causalidad, no valida extrapolaciones ni prueba que un polinomio sea el proceso generador correcto. Examine los residuos y el conocimiento del dominio antes de basar decisiones importantes en la curva.
Qué puede hacer con ella
Ajustar una curva de calibración
Estime una relación cuadrática o cúbica entre entradas de referencia conocidas y respuestas medidas de un instrumento.
Modelar una tendencia curva
Resuma un patrón no lineal suave en observaciones emparejadas con coeficientes reutilizables en código.
Comprobar cálculos académicos
Compare coeficientes polinomiales de mínimos cuadrados calculados a mano con un resultado QR determinista.
Preguntas frecuentes
¿Cuánto cuesta?
El precio de la API es $0.002 por solicitud. La calculadora del navegador puede ejecutar localmente el mismo núcleo determinista.
¿En qué orden se devuelven los coeficientes?
En potencias ascendentes: el primer valor es el término constante, el segundo multiplica x, el tercero multiplica x al cuadrado y así sucesivamente.
¿Cuántos puntos se necesitan?
Se necesitan al menos tantos puntos emparejados como el grado más uno. Añadir observaciones suele mejorar el ajuste de datos con ruido.
¿Por qué puede ser singular un ajuste con suficientes puntos?
Los valores x quizá no contengan información distinta suficiente para determinar todas las potencias solicitadas, por ejemplo si todos son idénticos.
¿La curva atraviesa todos los puntos?
No necesariamente. Los mínimos cuadrados reducen al mínimo los residuos verticales cuadrados totales; solo atraviesa todos los puntos cuando los datos son compatibles.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su 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)Ejemplo de solicitud
{
"x": [
-2,
-1,
0,
1,
2
],
"y": [
9,
2,
1,
6,
17
],
"degree": 2
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.polynomial_regression",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |