Você está na página 1de 2

'use strict';

const SIGNIFICANCIA = 0.05;


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}`);

Você também pode gostar