public double CorrelacaoPerson() { return(Pontos.Sum(e => (e.x - MediaX) * (e.y - MediaY)) / ( Math.Sqrt(Pontos.Sum(e => Math.Pow(e.x - MediaX, 2))) * Math.Sqrt(Pontos.Sum(e => Math.Pow(e.y - MediaY, 2))) )); }
public double CorrelacaoSperman() { // Ordenando dados Pontos.Sort(delegate(PontoCartesiano obj1, PontoCartesiano obj2) { if (obj1.x == obj2.x) { return(0); } if (obj1.x > obj2.x) { return(1); } return(-1); }); for (var i = 0; i < Pontos.Count; i++) { Pontos[i].postoX = i + 1; } Pontos.Sort(delegate(PontoCartesiano obj1, PontoCartesiano obj2) { if (obj1.y == obj2.y) { return(0); } if (obj1.y > obj2.y) { return(1); } return(-1); }); for (var i = 0; i < Pontos.Count; i++) { Pontos[i].postoY = i + 1; } return(1 - 6 * Pontos.Sum(e => Math.Pow(e.postoX - e.postoY, 2)) / (Pontos.Count * (Math.Pow(Pontos.Count, 2) - 1))); }