In deze oefening vertrekken we van een steekproef van $$ N $$ meetwaarden $$ x_1, x_2, ... x_n $$ onder de vorm van een lijst met getallen. Het is de bedoeling van een aantal statistische kengetallen te berekenen.

Rekenkundig gemiddelde

Het rekenkundig gemiddelde wordt bepaald door de som van alle getallen gedeeld door het aantal getallen:

\[ \bar x = \frac{1}{{N}} \sum_{i=1}^{N} x_i \]

Mediaan

De mediaan van de steekproef wordt als volgt bepaald:

Standaardafwijking van de steekproef

De standaardafwijking van de steekproef wordt bepaald met volgende formule:

\[ \sigma = \sqrt {\frac{1}{{N - 1}}\sum\limits_{i = 1}^N {\left( {x_i - \bar x} \right)^2 } } \]

Opgave

Schrijf drie functies die als argument een lijst met een onbepaald aantal steekproefwaarden heeft en die een getal retourneren, berekend volgens de methode hierboven uitgelegd.

Zorg ervoor dat de oorspronkelijke lijst onveranderd blijft na het aanroepen van deze functies.

Je mag ervan uitgaan dat de lijst altijd minstens 2 elementen bevat.

Voorbeeld

>>> steekproef = [3.23, 5.32, 8.23, 2.23, 9.98, 7.43, 6.43, 8.23, 4.23]
>>> gemiddelde(steekproef)
6.145555555555556
>>> mediaan(steekproef)
6.43
>>> standaardafwijking(steekproef)
2.5813374009954178
>>> steekproef
[3.23, 5.32, 8.23, 2.23, 9.98, 7.43, 6.43, 8.23, 4.23]

Opmerking: Don't reinvent the wheel

Deze functies zijn reeds geïmplementeerd door verschillende beschikbare modules in Python zoals statistics, numpy, pandas, ...

Deze oefening is bedoeld als inleiding op de oefeningenreeks "lijsten en tuples", met de bedoeling om meer te leren over lijsten. Je mag de module math importeren om de vierkantswortel te berekenen, maar verder is het de bedoeling dat je alles zelf programmeert.

So, no, you shouldn't reinvent the wheel. Unless you plan on learning more about wheels, that is. (cfr deze blogpost1)