Calculadora de regressão cúbica
Esta calculadora de regressão cúbica ajusta um polinômio de terceiro grau a observações numéricas pareadas por mínimos quadrados ordinários.
Executar grátis
Forneça arrays x e y de mesmo tamanho e receba os quatro coeficientes dos termos constante, linear, quadrático e cúbico, nessa ordem. O cálculo é determinístico, funciona sem acesso à rede e aceita tanto dados cúbicos exatos quanto medições com ruído. São necessários pelo menos quatro pontos pareados e quatro valores distintos de x para que o modelo de terceiro grau seja identificado de forma única.
Como funciona a regressão cúbica por mínimos quadrados
Um modelo cúbico tem a forma y = a0 + a1x + a2x² + a3x³. Para cada valor x informado, a calculadora constrói quatro valores de base: um, x, x ao quadrado e x ao cubo. Os mínimos quadrados escolhem os coeficientes que minimizam a soma das diferenças verticais ao quadrado entre os valores y observados e os previstos pelo polinômio. Com exatamente quatro pontos adequados, uma cúbica pode interpolar todas as observações. Com mais de quatro pontos, o mesmo método equilibra os resíduos e encontra o único melhor ajuste segundo o critério do erro quadrático. Internamente, x é centralizado e escalado antes da resolução do pequeno sistema linear. Isso reduz a sensibilidade aritmética quando os valores de x são grandes ou ficam agrupados longe de zero. Em seguida, os coeficientes voltam à escala original de x, para que você possa aplicá-los diretamente aos dados enviados. Trata-se de regressão ordinária não ponderada: cada par contribui igualmente e não há inicialização aleatória nem treinamento iterativo do modelo.
Como preparar os dois arrays de entrada
Forneça x como array da variável independente e y como array da variável dependente. O pareamento é posicional: o primeiro x corresponde ao primeiro y, o segundo x ao segundo y e assim por diante. Os dois arrays devem conter apenas números JSON finitos e ter exatamente o mesmo tamanho. Um modelo cúbico possui quatro coeficientes desconhecidos; portanto, menos de quatro pares não identificam o modelo solicitado e geram um erro de entrada inválida. O array x também precisa conter pelo menos quatro valores diferentes. É permitido repetir medições no mesmo x quando ainda existem quatro ou mais posições distintas, mas quatro linhas que reutilizam apenas três posições não oferecem informação independente suficiente para um polinômio cúbico único. A resposta contém o array coefficients na ordem [constante, linear, quadrático, cúbico]. Assim, [a0, a1, a2, a3] representa y = a0 + a1x + a2x² + a3x³. Preserve essa ordem ao transferir o resultado para uma planilha, biblioteca de gráficos ou outro programa, pois alguns pacotes matemáticos exibem primeiro a potência mais alta.
Como interpretar o resultado e suas limitações
O coeficiente cúbico controla a curvatura de terceiro grau, o quadrático controla a flexão de segundo grau, o linear representa a tendência de primeiro grau e a constante é o valor ajustado quando x = 0. As magnitudes dependem das unidades e da escala de x; por isso, não compare coeficientes de dados em escalas diferentes sem antes converter as unidades. Um bom ajuste não prova que o processo real seja cúbico nem estabelece causalidade. Termos de grau alto podem acompanhar o ruído, principalmente quando há poucas observações, e a extrapolação além do intervalo observado pode crescer rapidamente em uma direção pouco plausível. Quando a qualidade do modelo for importante, examine também um gráfico e os resíduos em seu fluxo de análise. Esta capacidade retorna intencionalmente os coeficientes ajustados, e não estatísticas inferenciais, intervalos de confiança, pesos ou previsões. Ela é útil para relações cúbicas conhecidas, aproximações de curvas, calibração de laboratório e testes de software reproduzíveis. O cálculo no navegador é grátis; uma chamada API automatizada usa o preço-base publicado de US$ 0,002 por item concluído. Arrays inválidos são recusados antes da geração do resultado.
Casos de uso
Ajustar uma relação curva de calibração
Transforme leituras de instrumentos e valores de referência pareados em uma equação cúbica de calibração para cálculos posteriores.
Aproximar uma tendência observada suave
Resuma uma série não linear com um único polinômio quando uma reta ou curva quadrática não representa bem o formato.
Criar casos de teste determinísticos
Gere coeficientes a partir de arrays pareados conhecidos e use-os como asserções estáveis em software numérico e exercícios educacionais.
Perguntas frequentes
Em que ordem os coeficientes são retornados?
Eles seguem [constante, linear, quadrático, cúbico], correspondendo a a0, a1, a2 e a3 em y = a0 + a1x + a2x² + a3x³.
Por que são necessários pelo menos quatro pontos?
Um polinômio de terceiro grau tem quatro coeficientes. Menos de quatro observações pareadas não identifica todos eles de forma única neste contrato.
O array x pode conter valores repetidos?
Sim, mas precisa haver pelo menos quatro valores x distintos. Caso contrário, a matriz de projeto cúbica não possui posto completo.
O polinômio passa por todos os pontos?
Não obrigatoriamente. Os mínimos quadrados reduzem ao mínimo o erro residual quadrático total. Eles interpolam dados compatíveis, mas equilibram erros em observações ruidosas ou sobredeterminadas.
Quanto custa o cálculo?
A execução no navegador é grátis. Cada solicitação API concluída custa US$ 0,002; entradas inválidas são recusadas sem produzir um ajuste.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/stat/cubic-regression \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"x":[0,1,2,3,4],"y":[1,3,9,25,57]}'const res = await fetch("https://api.kit.forhosting.com/stat/cubic-regression", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"x": [
0,
1,
2,
3,
4
],
"y": [
1,
3,
9,
25,
57
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/cubic-regression",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"x": [
0,
1,
2,
3,
4
],
"y": [
1,
3,
9,
25,
57
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/cubic-regression", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"x":[0,1,2,3,4],"y":[1,3,9,25,57]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"x":[0,1,2,3,4],"y":[1,3,9,25,57]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/cubic-regression", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"x": [
0,
1,
2,
3,
4
],
"y": [
1,
3,
9,
25,
57
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.cubic_regression",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |