Hoe de variatiecoëfficiënt in python te berekenen
Een variatiecoëfficiënt , vaak afgekort tot CV , is een manier om de spreiding van waarden in een dataset ten opzichte van het gemiddelde te meten. Het wordt als volgt berekend:
CV = σ / μ
Goud:
- σ: de standaardafwijking van de dataset
- μ: het gemiddelde van de dataset
Simpel gezegd is de variatiecoëfficiënt eenvoudigweg de verhouding tussen de standaarddeviatie en het gemiddelde.
Wanneer moet u de variatiecoëfficiënt gebruiken?
De variatiecoëfficiënt wordt vaak gebruikt om de variatie tussen twee verschillende gegevenssets te vergelijken.
In de echte wereld wordt het in de financiële wereld vaak gebruikt om het gemiddelde verwachte rendement van een investering te vergelijken met de verwachte standaardafwijking van de investering. Hierdoor kunnen beleggers de risico-rendementsafweging tussen beleggingen vergelijken.
Stel dat een belegger overweegt te beleggen in de volgende twee beleggingsfondsen:
Beleggingsfonds A: gemiddelde = 9%, standaardafwijking = 12,4%
UCITS B: gemiddelde = 5%, standaardafwijking = 8,2%
Door de variatiecoëfficiënt van elk fonds te berekenen, merkt de belegger het volgende op:
CV voor beleggingsfonds A = 12,4% /9% = 1,38
CV voor beleggingsfonds B = 8,2% / 5% = 1,64
Omdat beleggingsfonds A een lagere variatiecoëfficiënt heeft, biedt het een beter gemiddeld rendement in vergelijking met de standaardafwijking.
Hoe de variatiecoëfficiënt in Python te berekenen
Om de variatiecoëfficiënt van een dataset in Python te berekenen, kun je de volgende syntaxis gebruiken:
import numpy as np cv = lambda x: np. std (x, ddof= 1 ) / np. mean (x) * 100
De volgende voorbeelden laten zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld 1: Variatiecoëfficiënt voor een enkel netwerk
De volgende code laat zien hoe u de CV voor één tabel berekent:
#create vector of data data = [88, 85, 82, 97, 67, 77, 74, 86, 81, 95, 77, 88, 85, 76, 81, 82] #define function to calculate cv cv = lambda x: np. std (x, ddof= 1 ) / np. mean (x) * 100 #calculate CV cv(data) 9.234518
De variatiecoëfficiënt blijkt 9,23 te zijn.
Voorbeeld 2: Variatiecoëfficiënt voor verschillende vectoren
De volgende code laat zien hoe u de CV van meerdere kolommen in een Panda DataFrame berekent:
import numpy as np import pandas as pd #define function to calculate cv cv = lambda x: np. std (x, ddof= 1 ) / np. mean (x) * 100 #create pandas DataFrame df = pd. DataFrame ({'a': [88, 85, 82, 97, 67, 77, 74, 86, 81, 95], 'b': [77, 88, 85, 76, 81, 82, 88, 91, 92, 99], 'c': [67, 68, 68, 74, 74, 76, 76, 77, 78, 84]}) #calculate CV for each column in data frame df. apply (cv) a 11.012892 b8.330843 c7.154009 dtype:float64
Houd er rekening mee dat ontbrekende waarden eenvoudigweg worden genegeerd bij het berekenen van de variatiecoëfficiënt:
import numpy as np import pandas as pd #define function to calculate cv cv = lambda x: np. std (x, ddof= 1 ) / np. mean (x) * 100 #create pandas DataFrame df = pd. DataFrame ({'a': [88, 85, 82, 97, 67, 77, 74, 86, 81, 95], 'b': [77, 88, 85, 76, 81, 82, 88, 91, np. no , 99], 'c': [67, 68, 68, 74, 74, 76, 76, 77, 78, np. no ]}) #calculate CV for each column in data frame df. apply (cv) a 11.012892 b 8.497612 c5.860924 dtype:float64
Aanvullende bronnen
Hoe de variatiecoëfficiënt van R te berekenen
Hoe de variatiecoëfficiënt in Excel te berekenen
Hoe de variatiecoëfficiënt in Google Spreadsheets te berekenen