Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda O Que É Covariância? | Covariância e Correlação
Fundamentos da Teoria das Probabilidades
course content

Conteúdo do Curso

Fundamentos da Teoria das Probabilidades

Fundamentos da Teoria das Probabilidades

1. Conceitos Básicos da Teoria das Probabilidades
2. Probabilidade de Eventos Complexos
3. Distribuições Discretas Comumente Utilizadas
4. Distribuições Contínuas Comumente Utilizadas
5. Covariância e Correlação

book
O Que É Covariância?

Covariância é uma medida numérica que quantifica a relação entre duas variáveis.
Ela mede como as mudanças em uma variável correspondem às mudanças em outra variável. Mais especificamente, a covariância mede a variabilidade conjunta de duas variáveis e fornece informações sobre a direção (positiva ou negativa) dessa variabilidade.

Cálculo da covariância

  1. Realizar o primeiro experimento estocástico várias vezes e registrar os resultados de cada experimento no array x;

  2. Realizar o segundo experimento estocástico várias vezes e registrar os resultados no array y;

  3. Calcular a covariância utilizando a biblioteca numpy: covariance = np.cov(x, y)[0, 1].

Exemplos

12345678910111213141516171819
import numpy as np import matplotlib.pyplot as plt # Assume that results of some stochastic experiments are stored in x array x = np.random.rand(100) * 10 # We provide another stochastic experiment by using the value of x and adding some noise y = x + np.random.randn(100) # Calculate the covariance covariance = np.cov(x, y)[0, 1] plt.scatter(x, y) # Add labels and title plt.xlabel('X') plt.ylabel('Y') plt.title('Covariance is '+ str(round(covariance, 3) )) # Show the plot plt.show()
copy

Observa-se que, à medida que o valor de x aumenta, o valor de y também aumenta. A correlação, portanto, é positiva. Vamos apresentar outro experimento:

12345678910111213141516171819
import numpy as np import matplotlib.pyplot as plt # Assume that resylts of some stohastic experiments are stored in x array x = np.random.rand(100) * 10 # We provide another stohastic experiment by using the value of -x and adding some noise y = -x + np.random.randn(100) # Calculate the covariance covariance = np.cov(x, y)[0, 1] plt.scatter(x, y) # Add labels and title plt.xlabel('X') plt.ylabel('Y') plt.title('Covariance is '+ str(round(covariance, 3) )) # Show the plot plt.show()
copy

Agora, enquanto o valor de x aumenta, o valor de y diminui e a covariância é negativa. Agora, vamos analisar a covariação entre os resultados de dois experimentos independentes:

1234567891011121314151617181920
import numpy as np import matplotlib.pyplot as plt # Generate random data for two variables with zero correlation np.random.seed(0) x = np.random.rand(200) y = np.random.rand(200) # Calculate the covariance covariance = np.cov(x, y)[0, 1] plt.scatter(x, y) # Add labels and title plt.xlabel('X') plt.ylabel('Y') plt.title('Covariance is '+ str(round(covariance, 3) )) # Show the plot plt.show()
copy

Como resultado, podemos fazer a conclusão:

  1. Se a covariância entre dois valores é positiva, então com o aumento do primeiro valor o segundo valor também aumenta;

  2. Se a covariância entre dois valores é negativa, então com o aumento do primeiro valor o segundo valor diminui;

  3. Se os valores são independentes, então eles têm correlação zero (são não correlacionados).

Atenção ao último ponto: a correlação é zero se os valores forem independentes. Mas o inverso não é verdadeiro: se a correlação é zero, isso não significa independência. Veja o exemplo:

1234567891011121314151617181920212223242526
import numpy as np import matplotlib.pyplot as plt # Set the number of vectors/points to generate num_points = 1000 # Generate random angles uniformly distributed between 0 and 2*pi angles = np.random.uniform(0, 2*np.pi, num_points) # Convert angles to vectors in polar coordinates r = np.sqrt(np.random.uniform(0, 1, num_points)) # Square root to achieve uniform distribution within the circle x = r * np.cos(angles) y = r * np.sin(angles) # Calculate the covariance covariance = np.cov(x, y)[0, 1] plt.scatter(x, y) # Add labels and title plt.xlabel('X') plt.ylabel('Y') plt.title('Covariance is '+ str(round(covariance, 3) )) # Show the plot plt.show()
copy

Os pontos no exemplo acima estão dentro do círculo unitário e, portanto, são dependentes, mas não correlacionados.
Em geral, apenas relações lineares entre valores podem ser bem identificadas com a ajuda da covariância. Assim, no caso de valores não correlacionados, podemos concluir que eles não possuem dependências lineares, mas podem apresentar outros tipos de dependências mais complexas.

question mark

Qual das afirmações a seguir é verdadeira?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 1

Pergunte à IA

expand
ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

course content

Conteúdo do Curso

Fundamentos da Teoria das Probabilidades

Fundamentos da Teoria das Probabilidades

1. Conceitos Básicos da Teoria das Probabilidades
2. Probabilidade de Eventos Complexos
3. Distribuições Discretas Comumente Utilizadas
4. Distribuições Contínuas Comumente Utilizadas
5. Covariância e Correlação

book
O Que É Covariância?

Covariância é uma medida numérica que quantifica a relação entre duas variáveis.
Ela mede como as mudanças em uma variável correspondem às mudanças em outra variável. Mais especificamente, a covariância mede a variabilidade conjunta de duas variáveis e fornece informações sobre a direção (positiva ou negativa) dessa variabilidade.

Cálculo da covariância

  1. Realizar o primeiro experimento estocástico várias vezes e registrar os resultados de cada experimento no array x;

  2. Realizar o segundo experimento estocástico várias vezes e registrar os resultados no array y;

  3. Calcular a covariância utilizando a biblioteca numpy: covariance = np.cov(x, y)[0, 1].

Exemplos

12345678910111213141516171819
import numpy as np import matplotlib.pyplot as plt # Assume that results of some stochastic experiments are stored in x array x = np.random.rand(100) * 10 # We provide another stochastic experiment by using the value of x and adding some noise y = x + np.random.randn(100) # Calculate the covariance covariance = np.cov(x, y)[0, 1] plt.scatter(x, y) # Add labels and title plt.xlabel('X') plt.ylabel('Y') plt.title('Covariance is '+ str(round(covariance, 3) )) # Show the plot plt.show()
copy

Observa-se que, à medida que o valor de x aumenta, o valor de y também aumenta. A correlação, portanto, é positiva. Vamos apresentar outro experimento:

12345678910111213141516171819
import numpy as np import matplotlib.pyplot as plt # Assume that resylts of some stohastic experiments are stored in x array x = np.random.rand(100) * 10 # We provide another stohastic experiment by using the value of -x and adding some noise y = -x + np.random.randn(100) # Calculate the covariance covariance = np.cov(x, y)[0, 1] plt.scatter(x, y) # Add labels and title plt.xlabel('X') plt.ylabel('Y') plt.title('Covariance is '+ str(round(covariance, 3) )) # Show the plot plt.show()
copy

Agora, enquanto o valor de x aumenta, o valor de y diminui e a covariância é negativa. Agora, vamos analisar a covariação entre os resultados de dois experimentos independentes:

1234567891011121314151617181920
import numpy as np import matplotlib.pyplot as plt # Generate random data for two variables with zero correlation np.random.seed(0) x = np.random.rand(200) y = np.random.rand(200) # Calculate the covariance covariance = np.cov(x, y)[0, 1] plt.scatter(x, y) # Add labels and title plt.xlabel('X') plt.ylabel('Y') plt.title('Covariance is '+ str(round(covariance, 3) )) # Show the plot plt.show()
copy

Como resultado, podemos fazer a conclusão:

  1. Se a covariância entre dois valores é positiva, então com o aumento do primeiro valor o segundo valor também aumenta;

  2. Se a covariância entre dois valores é negativa, então com o aumento do primeiro valor o segundo valor diminui;

  3. Se os valores são independentes, então eles têm correlação zero (são não correlacionados).

Atenção ao último ponto: a correlação é zero se os valores forem independentes. Mas o inverso não é verdadeiro: se a correlação é zero, isso não significa independência. Veja o exemplo:

1234567891011121314151617181920212223242526
import numpy as np import matplotlib.pyplot as plt # Set the number of vectors/points to generate num_points = 1000 # Generate random angles uniformly distributed between 0 and 2*pi angles = np.random.uniform(0, 2*np.pi, num_points) # Convert angles to vectors in polar coordinates r = np.sqrt(np.random.uniform(0, 1, num_points)) # Square root to achieve uniform distribution within the circle x = r * np.cos(angles) y = r * np.sin(angles) # Calculate the covariance covariance = np.cov(x, y)[0, 1] plt.scatter(x, y) # Add labels and title plt.xlabel('X') plt.ylabel('Y') plt.title('Covariance is '+ str(round(covariance, 3) )) # Show the plot plt.show()
copy

Os pontos no exemplo acima estão dentro do círculo unitário e, portanto, são dependentes, mas não correlacionados.
Em geral, apenas relações lineares entre valores podem ser bem identificadas com a ajuda da covariância. Assim, no caso de valores não correlacionados, podemos concluir que eles não possuem dependências lineares, mas podem apresentar outros tipos de dependências mais complexas.

question mark

Qual das afirmações a seguir é verdadeira?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 1
Sentimos muito que algo saiu errado. O que aconteceu?
some-alt