Força da correlação
De forma intuitiva, podemos olhar os gráficos fornecidos e "ver" se as duas variáveis parecem "variar juntas".
- Conjunto de dados A: x e y mudam juntos e parecem ter uma relação forte.
- Conjunto de dados B: há uma tendência de alta aproximada; x e y parecem só se relacionar de forma fraca.
- Conjunto de dados C: parece uma dispersão aleatória; x e y não parecem mudar juntos e são não relacionados.



Lembre-se de que desvios diferem da média, e nós normalizamos dividindo os desvios pelo desvio padrão. Neste exercício, você vai comparar os 3 conjuntos de dados calculando a correlação e determinando qual conjunto tem as variáveis x e y mais fortemente correlacionadas. Use a tabela de dados data_sets, um dicionário de registros, cada um com as chaves 'name', 'x', 'y' e 'correlation'.
Este exercicio faz parte do curso
Introdução à Modelagem Linear em Python
Instruções do exercicio
- Complete a definição da função
correlation()usando a média dos produtos dos desvios normalizados dexey. - Itere sobre
data_sets, calculando e armazenando cada correlação usandocorrelation(record['x'], record['y']). - Execute o código até este ponto (isto é, até o final do laço for) e inspecione a saída impressa. Qual conjunto de dados tem a correlação mais forte?
- Atribua o nome do conjunto de dados (
data_sets['A'],data_sets['B']oudata_sets['C']) com a correlação mais forte à variávelbest_data.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# Complete the function that will compute correlation.
def correlation(x,y):
x_dev = x - np.____(x)
y_dev = y - np.____(y)
x_norm = x_dev / np.____(x)
y_norm = y_dev / np.____(y)
return np.____(x_norm * y_norm)
# Compute and store the correlation for each data set in the list.
for name, data in data_sets.items():
data['correlation'] = ____(data['x'], data['y'])
print('data set {} has correlation {:.2f}'.format(name, data['correlation']))
# Assign the data set with the best correlation.
best_data = data_sets['____']