Rの変動係数の計算方法


変動係数 はCVと略されることが多く、平均に対するデータセット内の値の広がりを測定する方法です。次のように計算されます。

CV = σ / μ

金:

  • σ:データセットの標準偏差
  • μ:データセットの平均

簡単に言うと、変動係数は平均値に対する標準偏差の比率です。

変動係数を使用する場合

変動係数は、2 つの異なるデータセット間の変動を比較するためによく使用されます。

現実の世界では、投資の平均期待収益と投資の期待標準偏差を比較するために金融でよく使用されます。これにより、投資家は投資間のリスクとリターンのトレードオフを比較できます。

たとえば、投資家が次の 2 つの投資信託への投資を検討しているとします。

投資信託 A: 平均 = 9%、標準偏差 = 12.4%

UCITS B: 平均 = 5%、標準偏差 = 8.2%

各ファンドの変動係数を計算すると、投資家は次のように指摘します。

投資信託 A の CV = 12.4% /9% = 1.38

投資信託 B の CV = 8.2% / 5% = 1.64

投資信託 A は変動係数が低いため、標準偏差に比べて平均収益が高くなります。

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: 複数のベクトルの変動係数

次のコードは、 sapply()関数を使用してデータ フレーム内の複数のベクトルの CV を計算する方法を示しています。

 #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で範囲を見つける方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です