Jak obliczyć współczynnik zmienności w pythonie


Współczynnik zmienności , często w skrócie CV , to sposób pomiaru rozrzutu wartości w zbiorze danych w stosunku do średniej. Oblicza się go w następujący sposób:

CV = σ / μ

Złoto:

  • σ: odchylenie standardowe zbioru danych
  • μ: średnia ze zbioru danych

Mówiąc najprościej, współczynnik zmienności to po prostu stosunek odchylenia standardowego do średniej.

Kiedy stosować współczynnik zmienności

Współczynnik zmienności jest często używany do porównywania zmienności między dwoma różnymi zestawami danych.

W prawdziwym świecie jest często używany w finansach do porównywania średniego oczekiwanego zwrotu z inwestycji z oczekiwanym odchyleniem standardowym inwestycji. Umożliwia to inwestorom porównanie stosunku ryzyka do zwrotu pomiędzy inwestycjami.

Załóżmy na przykład, że inwestor rozważa inwestycję w następujące dwa fundusze wspólnego inwestowania:

Fundusz inwestycyjny A: średnia = 9%, odchylenie standardowe = 12,4%

UCITS B: średnia = 5%, odchylenie standardowe = 8,2%

Obliczając współczynnik zmienności każdego funduszu, inwestor zauważa:

CV dla funduszu inwestycyjnego A = 12,4% /9% = 1,38

CV dla funduszu inwestycyjnego B = 8,2% / 5% = 1,64

Ponieważ fundusz inwestycyjny A ma niższy współczynnik zmienności, zapewnia lepszy średni zwrot w porównaniu z odchyleniem standardowym.

Jak obliczyć współczynnik zmienności w Pythonie

Aby obliczyć współczynnik zmienności zbioru danych w Pythonie, możesz użyć następującej składni:

 import numpy as np

cv = lambda x: np. std (x, ddof= 1 ) / np. mean (x) * 100

Poniższe przykłady pokazują, jak używać tej składni w praktyce.

Przykład 1: Współczynnik zmienności dla pojedynczej sieci

Poniższy kod pokazuje, jak obliczyć CV dla pojedynczej tabeli:

 #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

Współczynnik zmienności okazuje się wynosić 9,23 .

Przykład 2: Współczynnik zmienności dla kilku wektorów

Poniższy kod pokazuje, jak obliczyć CV wielu kolumn w ramce DataFrame pandy:

 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

Należy pamiętać, że brakujące wartości zostaną po prostu zignorowane przy obliczaniu współczynnika zmienności:

 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

Dodatkowe zasoby

Jak obliczyć współczynnik zmienności R
Jak obliczyć współczynnik zmienności w programie Excel
Jak obliczyć współczynnik zmienności w Arkuszach Google

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *