R'nin varyasyon katsayısı nasıl hesaplanır?
Genellikle CV olarak kısaltılan bir varyasyon katsayısı , bir veri kümesindeki değerlerin ortalamaya göre yayılmasını ölçmenin bir yoludur. Aşağıdaki şekilde hesaplanır:
CV = σ / μ
Altın:
- σ: veri kümesinin standart sapması
- μ: veri setinin ortalaması
Basitçe söylemek gerekirse, varyasyon katsayısı standart sapmanın ortalamaya oranıdır.
Değişim katsayısı ne zaman kullanılır?
Değişim katsayısı genellikle iki farklı veri kümesi arasındaki değişimi karşılaştırmak için kullanılır.
Gerçek dünyada, finansta bir yatırımın ortalama beklenen getirisini, yatırımın beklenen standart sapması ile karşılaştırmak için sıklıkla kullanılır. Bu, yatırımcıların yatırımlar arasındaki risk-getiri dengesini karşılaştırmasına olanak tanır.
Örneğin, bir yatırımcının aşağıdaki iki yatırım fonuna yatırım yapmayı düşündüğünü varsayalım:
Yatırım Fonu A: ortalama = %9, standart sapma = %12,4
UCITS B: ortalama = %5, standart sapma = %8,2
Yatırımcı, her fonun değişim katsayısını hesaplayarak şunları not eder:
Yatırım fonu A için CV = %12,4 /%9 = 1,38
Yatırım fonu B için CV = %8,2 / %5 = 1,64
A Yatırım Fonu’nun değişim katsayısı daha düşük olduğundan standart sapmaya göre daha iyi bir ortalama getiri sağlamaktadır.
R’nin varyasyon katsayısı nasıl hesaplanır?
R’deki bir veri kümesinin varyasyon katsayısını hesaplamak için aşağıdaki sözdizimini kullanabilirsiniz:
cv <- sd(data) / mean(data) * 100
Aşağıdaki örnekler bu sözdiziminin pratikte nasıl kullanılacağını göstermektedir.
Örnek 1: Tek bir vektör için varyasyon katsayısı
Aşağıdaki kod tek bir vektör için CV’nin nasıl hesaplanacağını gösterir:
#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
Değişim katsayısı 9,23 olarak çıkıyor.
Örnek 2: Çeşitli vektörler için varyasyon katsayısı
Aşağıdaki kod, sapply() işlevini kullanarak bir veri çerçevesindeki birden fazla vektörün CV’sinin nasıl hesaplanacağını gösterir:
#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
Verilerinizde de değerler eksikse na.rm=T kullandığınızdan emin olun. Bu, R’ye varyasyon katsayısını hesaplarken eksik değerleri göz ardı etmesini söyler:
#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
Ek kaynaklar
R’de mutlak medyan sapma nasıl hesaplanır
R’de standart sapma nasıl hesaplanır
R’de aralık nasıl bulunur?