Jak obliczyć współczynnik zmienności r


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 R

Aby obliczyć współczynnik zmienności zbioru danych w R, można zastosować następującą składnię:

 cv <- sd(data) / mean(data) * 100

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

Przykład 1: Współczynnik zmienności dla pojedynczego wektora

Poniższy kod pokazuje, jak obliczyć CV dla pojedynczego wektora:

 #create vector of data
data <- c(88, 85, 82, 97, 67, 77, 74, 86, 81, 95, 77, 88, 85, 76, 81, 82)

#calculate CV
cv <- sd(data) / mean(data) * 100

#display CV
resume

[1] 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 wektorów w ramce danych za pomocą funkcji sapply() :

 #create data frame
data <- data.frame(a=c(88, 85, 82, 97, 67, 77, 74, 86, 81, 95),
                   b=c(77, 88, 85, 76, 81, 82, 88, 91, 92, 99),
                   c=c(67, 68, 68, 74, 74, 76, 76, 77, 78, 84))

#calculate CV for each column in data frame
sapply(data, function (x) sd(x) / mean(x) * 100 )

        ABC
11.012892 8.330843 7.154009

Upewnij się, że używasz na.rm=T , jeśli w danych również brakuje wartości. To mówi R, aby po prostu zignorował brakujące wartości podczas obliczania współczynnika zmienności:

 #create data frame
data <- data.frame(a=c(88, 85, 82, 97, 67, 77, 74, 86, 81, 95),
                   b=c(77, 88, 85, 76, 81, 82, 88, 91, NA , 99),
                   c=c(67, 68, 68, 74, 74, 76, 76, 77, 78, NA ))

#calculate CV for each column in data frame
sapply(data, function (x) sd(x, na.rm= T ) / mean(x, na.rm= T ) * 100 )

        ABC
11.012892 8.497612 5.860924

Dodatkowe zasoby

Jak obliczyć bezwzględne odchylenie mediany w R
Jak obliczyć odchylenie standardowe w R
Jak znaleźć zasięg w R

Dodaj komentarz

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