ÎncepețiÎncepe gratuit

Puterea corelației

Intuitiv, putem privi graficele furnizate și „vedea" dacă cele două variabile par să „varieze împreună".

  • Setul de date A: x și y se modifică împreună și par să aibă o relație puternică.
  • Setul de date B: există o tendință aproximativă ascendentă; x și y par doar vag legate.
  • Setul de date C: arată ca o dispersie aleatoare; x și y nu par să se modifice împreună și sunt necorelate.

Data Set A

Data Set B

Data Set C

Amintește-ți că abaterile sunt calculate față de medie și că le-am normalizat împărțindu-le la abaterea standard. În acest exercițiu vei compara cele 3 seturi de date calculând corelația și determinând care set de date are variabilele x și y cel mai puternic corelate. Folosește tabelul de date furnizat data_sets, un dicționar de înregistrări, fiecare având cheile 'name', 'x', 'y' și 'correlation'.

Acest exercițiu face parte din cursul

Introducere în modelarea liniară în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Completează definiția funcției correlation() folosind media produselor abaterilor normalizate ale lui x și y.
  • Iterează peste data_sets, calculând și stocând fiecare corelație folosind correlation(record['x'], record['y']).
  • Rulează codul până în acest punct (adică până la sfârșitul buclei for) și inspectează rezultatele afișate. Care set de date are cea mai puternică corelație?
  • Atribuie variabilei best_data numele setului de date (data_sets['A'], data_sets['B'] sau data_sets['C']) cu cea mai puternică corelație.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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['____']
Editează și rulează codul