Sterkte van de correlatie
Op gevoel kun je naar de grafieken kijken en “zien” of de twee variabelen “samen variëren”.
- Gegevensset A: x en y veranderen samen en lijken een sterke relatie te hebben.
- Gegevensset B: er is een ruwe stijgende trend; x en y lijken slechts losjes samen te hangen.
- Gegevensset C: ziet eruit als willekeurige spreiding; x en y lijken niet samen te veranderen en zijn niet gerelateerd.



Herinner je dat afwijkingen verschillen tot het gemiddelde zijn, en dat we hebben genormaliseerd door de afwijkingen te delen door de standaarddeviatie. In deze oefening vergelijk je de 3 gegevenssets door de correlatie te berekenen en te bepalen welke set de sterkst gecorreleerde variabelen x en y heeft. Gebruik de meegeleverde tabel data_sets, een lijst met records, elk met de sleutels 'name', 'x', 'y' en 'correlation'.
Deze oefening maakt deel uit van de cursus
Introductie tot lineaire modellering in Python
Oefeninstructies
- Maak de functiedefinitie voor
correlation()af met het gemiddelde van de producten van de genormaliseerde afwijkingen vanxeny. - Itereer over
data_sets, bereken en sla elke correlatie op metcorrelation(record['x'], record['y']). - Voer de code uit tot dit punt (dus tot en met het einde van de for-lus) en bekijk de uitvoer. Welke gegevensset heeft de sterkste correlatie?
- Ken de naam van de gegevensset (
data_sets['A'],data_sets['B']ofdata_sets['C']) met de sterkste correlatie toe aan de variabelebest_data.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# 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['____']