Как рассчитать коэффициент вариации r


Коэффициент вариации , часто сокращенно 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *