const freqObservada = [1448, 805, 206, 34, 4, 2, 1]; const tamanho = freqObservada.length; let soma = 0; for (let i = 0; i < freqObservada.length; i++) { soma += freqObservada[i]; } const experanca = esperanca(freqObservada); const lambda = experanca;
let snx = [];
let sum = 0; for (let i = 0; i < freqObservada.length; i++) { const sn = (sum += freqObservada[i] / soma); snx[i] = sn.toFixed(4) * 1; } function fatorial(num) { if (num === 0 || num === 1) return 1; for (let i = num - 1; i >= 1; i--) { num *= i; } return num; } const f0x = []; for (let i = 0; i < freqObservada.length; i++) { f0x[i] = i; } const expo = []; for (let i = 0; i < freqObservada.length; i++) { expo[i] = (Math.exp(-lambda) * lambda ** f0x[i]) / fatorial(f0x[i]); }
console.log(`Valores da nossa estatística Poisson`);
console.log(expo);
const expoAcumulado = [];
function expAcumulado(num) { let sum = 0; for (let i = 0; i < freqObservada.length; i++) { const result = (sum += num[i]); expoAcumulado[i] = result; } return expoAcumulado; } const fx0Acumulado = expAcumulado(expo); console.log(`Valores Acumulados da ERstatísticas Poisson `); console.log(fx0Acumulado);
const fxzao = [];
for (let i = 0; i < freqObservada.length; i++) { const retorno = snx[i] - fx0Acumulado[i]; if (retorno < 0) { fxzao[i] = retorno * -1; } else { fxzao[i] = retorno * 1; } } console.log(`Acumulados da média de cada i, SN(Xi)`); console.log(snx); console.log(`Diferença entre SN(Xi) e F0(Xi)`); console.log(fxzao); //const esperancaX = []; function esperanca(x) { let sum = 0; for (let i = 0; i < tamanho; i++) { sum += i * (x[i] / soma); } return sum; } console.log(`esperança(E(x)) ${experanca}`);