Você está aqui: Java ::: Dicas & Truques ::: Matemática e Estatística |
Regressão linear - Como calcular o coeficiente de correlação linear de Pearson em Java - Java para Machine LearningQuantidade de visualizações: 52 vezes |
![]() No estudo de Machine Learning, uma das primeiras ferramentas que aprendemos é Regressão Linear. E, para o bom entendimento da regressão linear, temos que aprender sobre o coeficiente de correlação linear, mais especificamente o coeficiente de correlação linear de Pearson. A fórmula do coeficiente de correlação linear de Pearson é: \[r_\text{xy} = \frac{n \sum x_i y_i - \sum x_i \sum y_i}{\sqrt{n \sum {x_i}^2 - \left(\sum {x_i}\right)^2} \cdot \sqrt{n \sum {y_i}^2 - \left(\sum {y_i}\right)^2}} \] Onde: x e y são os conjuntos de valores cuja correlação queremos testar. É claro que encontraremos algumas variações desta fórmula na internet e também em livros de estatística, mas o resultado é sempre o mesmo. A correlação de Pearson é uma técnica estatística para medir se duas variáveis estão linearmente relacionadas. Essa técnica também pode ser chamada de r de Pearson, correlação produto-momento de Pearson ou, mais coloquialmente, de correlação de Pearson. O r de Pearson é uma métrica que expressa a relação linear entre variáveis por meio de um número que vai de -1 a +1. Isto é, quanto mais próximo dos extremos (-1 ou +1), maior é a força da correlação. Por outro lado, valores próximos de zero indicam que a correlação é fraca. O sinal da correlação, por sua vez, indica a direção da relação entre variáveis. Se a correlação é positiva, então o aumento em uma variável implica o aumento na outra variável. Por outro lado, se a correlação é negativa, então o aumento em uma variável implica o decréscimo na outra variável. Veja agora o código Java completo no qual calculamps o coeficiente de correlação linear de Pearson a partir de valores x e y, dispostos em dois vetores, ou seja, dois arrays unidimensionais: ---------------------------------------------------------------------- Precisa de ajuda? Chama no WhatsApp +55 (62) 98553-6711 (Osmar) Este código foi útil? Paga um cafezinho pra mim :-( PIX: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package estudos; public class Estudos { public static void main(String[] args) { // vamos criar os vetores com os valores x e y double x[] = {13, 32, 47, 54, 69, 73}; double y[] = {208, 184, 145, 14, 65, 32}; // as variáveis para os somatórios double soma_x = 0, soma_y = 0, soma_x_quadrado = 0; double soma_y_quadrado = 0, soma_x_vezes_y = 0; // vamos percorrer os vetores e efetuar as somas for (int i = 0; i < x.length; i++) { // primeiro o somatório de x soma_x = soma_x + x[i]; // agora o somatório de y soma_y = soma_y + y[i]; // então o somatório de x^2 soma_x_quadrado = soma_x_quadrado + Math.pow(x[i], 2); // e o somatório de y^2 soma_y_quadrado = soma_y_quadrado + Math.pow(y[i], 2); // e finalmente o somatório de x*y soma_x_vezes_y = soma_x_vezes_y + x[i] * y[i]; } // vamos obter a quantidade de valores na observação int n = x.length; // e finalmente calculamos o coeficiente de correlação // linear double r_xy = ((n * soma_x_vezes_y) - (soma_x * soma_y)) / (Math.sqrt((n * soma_x_quadrado) - Math.pow(soma_x, 2)) * Math.sqrt((n * soma_y_quadrado) - Math.pow(soma_y, 2))); // e mostramos o resultado System.out.println("O coeficiente de correlação é: " + r_xy); } } Ao executar este código Java nós teremos o seguinte resultado: O coeficiente de correlação é: -0.8713675107044452 |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
Delphi - Como selecionar um item de uma ListBox do Delphi em tempo de execução usando a propriedade ItemIndex |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |