Як розрахувати коефіцієнт варіації r


Коефіцієнт варіації , який часто називають CV , є способом вимірювання розкиду значень у наборі даних відносно середнього. Він розраховується таким чином:

CV = σ / μ

золото:

  • σ: стандартне відхилення набору даних
  • μ: середнє значення набору даних

Простіше кажучи, коефіцієнт варіації – це просто відношення стандартного відхилення до середнього.

Коли використовувати коефіцієнт варіації

Коефіцієнт варіації часто використовується для порівняння варіації між двома різними наборами даних.

У реальному світі його часто використовують у фінансах для порівняння середнього очікуваного прибутку від інвестицій із очікуваним стандартним відхиленням інвестицій. Це дозволяє інвесторам порівнювати співвідношення ризику та прибутку між інвестиціями.

Наприклад, припустімо, що інвестор розглядає можливість інвестувати в такі два пайові фонди:

Взаємний фонд A: середнє значення = 9%, стандартне відхилення = 12,4%

UCITS B: середнє = 5%, стандартне відхилення = 8,2%

Розраховуючи коефіцієнт варіації кожного фонду, інвестор зазначає:

CV для спільного фонду A = 12,4% /9% = 1,38

CV для пайового фонду B = 8,2% / 5% = 1,64

Оскільки взаємний фонд А має нижчий коефіцієнт варіації, він забезпечує кращу середню прибутковість відносно стандартного відхилення.

Як розрахувати коефіцієнт варіації R

Щоб обчислити коефіцієнт варіації набору даних у R, ви можете використовувати такий синтаксис:

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

Наступні приклади показують, як використовувати цей синтаксис на практиці.

Приклад 1: Коефіцієнт варіації для одного вектора

Наступний код показує, як обчислити CV для одного вектора:

 #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

Коефіцієнт варіації виявляється 9,23 .

Приклад 2: Коефіцієнт варіації для кількох векторів

У наступному коді показано, як обчислити CV кількох векторів у кадрі даних за допомогою функції 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

Обов’язково використовуйте na.rm=T, якщо у ваших даних також відсутні значення. Це говорить R просто ігнорувати відсутні значення під час розрахунку коефіцієнта варіації:

 #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

Додаткові ресурси

Як обчислити абсолютне середнє відхилення в R
Як обчислити стандартне відхилення в R
Як знайти діапазон у R

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *