Comece agoraComece grátis

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.

Data Set A

Data Set B

Data Set C

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

Ver curso

Instruções do exercicio

  • Complete a definição da função correlation() usando a média dos produtos dos desvios normalizados de x e y.
  • Itere sobre data_sets, calculando e armazenando cada correlação usando correlation(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'] ou data_sets['C']) com a correlação mais forte à variável best_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['____']
Editar e Executar Código