كيفية حساب معامل الاختلاف لـ r
معامل التباين ، الذي غالبًا ما يتم اختصاره إلى CV ، هو وسيلة لقياس انتشار القيم في مجموعة بيانات بالنسبة إلى المتوسط. يتم حسابه على النحو التالي:
السيرة الذاتية = σ / μ
ذهب:
- σ : الانحراف المعياري لمجموعة البيانات
- μ: متوسط مجموعة البيانات
ببساطة، معامل الاختلاف هو ببساطة نسبة الانحراف المعياري إلى المتوسط.
متى يتم استخدام معامل الاختلاف
غالبًا ما يستخدم معامل الاختلاف لمقارنة التباين بين مجموعتين مختلفتين من البيانات.
في العالم الحقيقي، غالبا ما يستخدم في مجال التمويل لمقارنة متوسط العائد المتوقع للاستثمار مقابل الانحراف المعياري المتوقع للاستثمار. وهذا يسمح للمستثمرين بمقارنة مقايضة المخاطر والعائد بين الاستثمارات.
على سبيل المثال، لنفترض أن أحد المستثمرين يفكر في الاستثمار في الصندوقين المشتركين التاليين:
صندوق الاستثمار المشترك أ: المتوسط = 9%، الانحراف المعياري = 12.4%
UCITS B: المتوسط = 5%، الانحراف المعياري = 8.2%
ومن خلال حساب معامل التباين لكل صندوق، يلاحظ المستثمر:
السيرة الذاتية لصندوق الاستثمار المشترك A = 12.4% /9% = 1.38
السيرة الذاتية لصندوق الاستثمار المشترك B = 8.2% / 5% = 1.64
وبما أن الصندوق المشترك أ لديه معامل تباين أقل، فإنه يوفر متوسط عائد أفضل مقارنة بالانحراف المعياري.
كيفية حساب معامل الاختلاف لـ R
لحساب معامل الاختلاف لمجموعة بيانات في R، يمكنك استخدام بناء الجملة التالي:
cv <- sd(data) / mean(data) * 100
توضح الأمثلة التالية كيفية استخدام بناء الجملة هذا عمليًا.
مثال 1: معامل الاختلاف لمتجه واحد
يوضح الكود التالي كيفية حساب السيرة الذاتية لمتجه واحد:
#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() :
#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