Як розрахувати коефіцієнт варіації 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