كيفية حساب معامل التباين في بايثون
معامل التباين ، الذي غالبًا ما يتم اختصاره إلى CV ، هو وسيلة لقياس انتشار القيم في مجموعة بيانات بالنسبة إلى المتوسط. يتم حسابه على النحو التالي:
السيرة الذاتية = σ / μ
ذهب:
- σ : الانحراف المعياري لمجموعة البيانات
- μ: متوسط مجموعة البيانات
ببساطة، معامل الاختلاف هو ببساطة نسبة الانحراف المعياري إلى المتوسط.
متى يتم استخدام معامل الاختلاف
غالبًا ما يستخدم معامل الاختلاف لمقارنة التباين بين مجموعتين مختلفتين من البيانات.
في العالم الحقيقي، غالبا ما يستخدم في مجال التمويل لمقارنة متوسط العائد المتوقع للاستثمار مقابل الانحراف المعياري المتوقع للاستثمار. وهذا يسمح للمستثمرين بمقارنة مقايضة المخاطر والعائد بين الاستثمارات.
على سبيل المثال، لنفترض أن أحد المستثمرين يفكر في الاستثمار في الصندوقين المشتركين التاليين:
صندوق الاستثمار المشترك أ: المتوسط = 9%، الانحراف المعياري = 12.4%
UCITS B: المتوسط = 5%، الانحراف المعياري = 8.2%
ومن خلال حساب معامل التباين لكل صندوق، يلاحظ المستثمر:
السيرة الذاتية لصندوق الاستثمار المشترك A = 12.4% /9% = 1.38
السيرة الذاتية لصندوق الاستثمار المشترك B = 8.2% / 5% = 1.64
وبما أن الصندوق المشترك أ لديه معامل تباين أقل، فإنه يوفر متوسط عائد أفضل مقارنة بالانحراف المعياري.
كيفية حساب معامل التباين في بايثون
لحساب معامل الاختلاف لمجموعة بيانات في بايثون، يمكنك استخدام الصيغة التالية:
import numpy as np cv = lambda x: np. std (x, ddof= 1 ) / np. mean (x) * 100
توضح الأمثلة التالية كيفية استخدام بناء الجملة هذا عمليًا.
مثال 1: معامل الاختلاف لشبكة واحدة
الكود التالي يوضح كيفية حساب السيرة الذاتية لجدول واحد:
#create vector of data data = [88, 85, 82, 97, 67, 77, 74, 86, 81, 95, 77, 88, 85, 76, 81, 82] #define function to calculate cv cv = lambda x: np. std (x, ddof= 1 ) / np. mean (x) * 100 #calculate CV cv(data) 9.234518
وتبين أن معامل الاختلاف هو 9.23 .
مثال 2: معامل الاختلاف لعدة نواقل
يوضح الكود التالي كيفية حساب السيرة الذاتية لأعمدة متعددة في pandas DataFrame:
import numpy as np import pandas as pd #define function to calculate cv cv = lambda x: np. std (x, ddof= 1 ) / np. mean (x) * 100 #create pandas DataFrame df = pd. DataFrame ({'a': [88, 85, 82, 97, 67, 77, 74, 86, 81, 95], 'b': [77, 88, 85, 76, 81, 82, 88, 91, 92, 99], 'c': [67, 68, 68, 74, 74, 76, 76, 77, 78, 84]}) #calculate CV for each column in data frame df. apply (cv) a 11.012892 b8.330843 c7.154009 dtype:float64
لاحظ أنه سيتم ببساطة تجاهل القيم المفقودة عند حساب معامل التباين:
import numpy as np import pandas as pd #define function to calculate cv cv = lambda x: np. std (x, ddof= 1 ) / np. mean (x) * 100 #create pandas DataFrame df = pd. DataFrame ({'a': [88, 85, 82, 97, 67, 77, 74, 86, 81, 95], 'b': [77, 88, 85, 76, 81, 82, 88, 91, np. no , 99], 'c': [67, 68, 68, 74, 74, 76, 76, 77, 78, np. no ]}) #calculate CV for each column in data frame df. apply (cv) a 11.012892 b 8.497612 c5.860924 dtype:float64
مصادر إضافية
كيفية حساب معامل الاختلاف لـ R
كيفية حساب معامل التباين في برنامج إكسل
كيفية حساب معامل التباين في جداول بيانات جوجل