R cinsinden ağırlıklı standart sapma nasıl hesaplanır?


Ağırlıklı standart sapma, veri kümesindeki bazı değerlerin diğerlerinden daha yüksek ağırlığa sahip olduğu durumlarda, bir veri kümesindeki değerlerin dağılımını ölçmenin yararlı bir yoludur.

Ağırlıklı standart sapmayı hesaplama formülü şöyledir:

Altın:

  • N: Toplam gözlem sayısı
  • M: Sıfır olmayan ağırlıkların sayısı
  • w i : Bir ağırlık vektörü
  • x i : Veri değerlerinin bir vektörü
  • x : Ağırlıklı ortalama

R’de ağırlıklı standart sapmayı hesaplamanın en kolay yolu, aşağıdaki sözdizimini kullanan Hmisc paketindeki wt.var() işlevini kullanmaktır:

 #define data values
x <- c(4, 7, 12, 13, ...)

#define weights
wt <- c(.5, 1, 2, 2, ...)

#calculate weighted variance
weighted_var <- wtd. var (x, wt)

#calculate weighted standard deviation
weighted_sd <- sqrt(weighted_var)

Aşağıdaki örnekler bu fonksiyonun pratikte nasıl kullanılacağını göstermektedir.

Örnek 1: Bir vektör için ağırlıklı standart sapma

Aşağıdaki kod, R’deki tek bir vektör için ağırlıklı standart sapmanın nasıl hesaplanacağını gösterir:

 library (Hmisc)

#define data values 
x <- c(14, 19, 22, 25, 29, 31, 31, 38, 40, 41)

#define weights
wt <- c(1, 1, 1.5, 2, 2, 1.5, 1, 2, 3, 2)

#calculate weighted variance 
weighted_var <- wtd. var (x, wt)

#calculate weighted standard deviation
sqrt(weighted_var)

[1] 8.570051

Ağırlıklı standart sapma 8,57 olarak çıkıyor.

Örnek 2: Veri çerçevesindeki bir sütun için ağırlıklı standart sapma

Aşağıdaki kod, R’deki bir veri çerçevesinin bir sütunu için ağırlıklı standart sapmanın nasıl hesaplanacağını gösterir:

 library (Hmisc)

#define data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'A', 'B', 'B', 'C'),
                 wins=c(2, 9, 11, 12, 15, 17, 18, 19),
                 dots=c(1, 2, 2, 2, 3, 3, 3, 3))

#define weights
wt <- c(1, 1, 1.5, 2, 2, 1.5, 1, 2)

#calculate weighted standard deviation of points
sqrt(wtd. var (df$points, wt))

[1] 0.6727938

Puan sütununun ağırlıklı standart sapması 0,673 olarak çıkıyor.

Örnek 3: Bir veri çerçevesindeki birden çok sütun için ağırlıklı standart sapma

Aşağıdaki kod, bir veri çerçevesindeki birden çok sütun için ağırlıklı standart sapmayı hesaplamak üzere R’deki sapply() işlevinin nasıl kullanılacağını gösterir:

 library (Hmisc)

#define data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'A', 'B', 'B', 'C'),
                 wins=c(2, 9, 11, 12, 15, 17, 18, 19),
                 dots=c(1, 2, 2, 2, 3, 3, 3, 3))

#define weights
wt <- c(1, 1, 1.5, 2, 2, 1.5, 1, 2)

#calculate weighted standard deviation of points and wins
sapply(df[c(' wins ', ' points ')], function(x) sqrt(wtd. var (x, wt)))

     win points 
4.9535723 0.6727938 

Galibiyetler sütununun ağırlıklı standart sapması 4,954 ve puanlar sütununun ağırlıklı standart sapması 0,673’tür .

Ek kaynaklar

Excel’de Ağırlıklı Standart Sapma Nasıl Hesaplanır
R’de standart sapma nasıl hesaplanır
R’nin varyasyon katsayısı nasıl hesaplanır?
R’de aralık nasıl hesaplanır

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir