UNPKG

statsjs-lucasalves

Version:

Uma biblioteca simples de estatísticas básicas em JavaScript

51 lines (39 loc) 1.29 kB
// IMPORTS const calcularMedia = require("./Media"); /** * Calcula os coeficientes da Regressão Linear Simples (a e b). * @param {number[]} x - Array de variáveis independentes. * @param {number[]} y - Array de variáveis dependentes. * @returns {{a: number, b: number}} - Objeto com coeficiente linear (a) e angular (b). */ function regressaoLinearSimples(x, y) { if (x.length !== y.length) { throw new Error("Os arrays x e y devem ter o mesmo tamanho."); } const mediaX = calcularMedia(x); const mediaY = calcularMedia(y); let numerador = 0; let denominador = 0; for (let i = 0; i < x.length; i++) { numerador += (x[i] - mediaX) * (y[i] - mediaY); denominador += (x[i] - mediaX) ** 2; } const b = numerador / denominador; const a = mediaY - b * mediaX; return { a, b }; } /** * Faz a previsão de um valor y com base na regressão linear encontrada. * @param {number} xValor - Valor de x para previsão. * @param {number} a - Coeficiente linear da regressão. * @param {number} b - Coeficiente angular da regressão. * @returns {number} - Valor previsto de y. */ function preverValor(xValor, a, b) { return a + b * xValor; } // Exportando funções para usar na lib module.exports = { regressaoLinearSimples, preverValor, };