كيفية حساب الارتباط المنزلق في r


الارتباطات المتداولة هي الارتباطات بين سلسلتين زمنيتين عبر نافذة منزلقة. إحدى فوائد هذا النوع من الارتباط هو أنه يمكنك تصور الارتباط بين سلسلتين زمنيتين مع مرور الوقت.

يشرح هذا البرنامج التعليمي كيفية حساب الارتباطات المتداولة في R.

كيفية حساب الارتباطات المتداول في R

لنفترض أن لدينا إطار البيانات التالي الذي يعرض إجمالي عدد المنتجات المباعة لمنتجين مختلفين ( x و y ) خلال فترة 15 شهرًا:

 #create data
data <- data.frame(month=1:15,
                   x=c(13, 15, 16, 15, 17, 20, 22, 24, 25, 26, 23, 24, 23, 22, 20),
                   y=c(22, 24, 23, 27, 26, 26, 27, 30, 33, 32, 27, 25, 28, 26, 28))

#view first six rows
head(data)

  month xy
1 1 13 22
2 2 15 24
3 3 16 23
4 4 15 27
5 5 17 26
6 6 20 26

لحساب الارتباط المتداول في R، يمكننا استخدام وظيفة rollapply () من الحزمة حديقة الحيوان .

تستخدم هذه الوظيفة بناء الجملة التالي:

rollapply(data, width, FUN, by.column=TRUE)

ذهب:

  • البيانات: اسم إطار البيانات
  • width: عدد صحيح يحدد عرض النافذة للارتباط المنزلق
  • FUN: الوظيفة المراد تطبيقها.
  • by.column: يحدد ما إذا كان سيتم تطبيق الوظيفة على كل عمود على حدة. يكون هذا صحيحًا بشكل افتراضي، ولكن لحساب الارتباط المتداول نحتاج إلى تحديد أنه خطأ.

فيما يلي كيفية استخدام هذه الدالة لحساب الارتباط المتجدد للمبيعات لمدة 3 أشهر بين المنتج x والمنتج y :

 #calculate 3-month rolling correlation between sales for x and y
rollapply(data, width=3, function (x) cor(x[,2],x[,3]), by.column= FALSE )

 [1] 0.6546537 -0.6933752 -0.2401922 -0.8029551 0.8029551 0.9607689
 [7] 0.9819805 0.6546537 0.8824975 0.8170572 -0.9449112 -0.3273268
[13] -0.1889822

تقوم هذه الدالة بإرجاع الارتباط بين مبيعات منتجين خلال الأشهر الثلاثة الماضية. على سبيل المثال:

  • وكان ارتباط المبيعات في الأشهر 1-3 0.6546537 .
  • كان ارتباط المبيعات في الأشهر 2-4 هو -0.6933752.
  • وكان ارتباط المبيعات في الأشهر 3-5 -0.2401922.

وما إلى ذلك وهلم جرا.

يمكننا بسهولة تعديل هذه الصيغة لحساب الارتباط المتداول لفترة زمنية مختلفة. على سبيل المثال، يوضح التعليمة البرمجية التالية كيفية حساب الارتباط المتجدد للمبيعات لمدة 6 أشهر بين المنتجين:

 #calculate 6-month rolling correlation between sales for x and y
rollapply(data, width=6, function (x) cor(x[,2],x[,3]), by.column= FALSE )

 [1] 0.5587415 0.4858553 0.6931033 0.7564756 0.8959291 0.9067715 0.7155418
 [8] 0.7173740 0.7684468 0.4541476

تقوم هذه الدالة بإرجاع الارتباط بين مبيعات المنتجين خلال الأشهر الستة الماضية. على سبيل المثال:

  • وكان ارتباط المبيعات في الأشهر 1-6 هو 0.5587415 .
  • كان ارتباط المبيعات في الأشهر 2-7 هو 0.4858553.
  • كان ارتباط المبيعات في الأشهر 3-8 هو 0.6931033.

وما إلى ذلك وهلم جرا.

تعليقات

ضع النقاط التالية في الاعتبار عند استخدام الدالة rollapply():

  • يجب أن يكون العرض (أي النافذة المنسدلة) مساويًا أو أكبر من 3 لحساب الارتباطات.
  • في الصيغ أعلاه، استخدمنا cor(x[,2],x[3]) لأن العمودين اللذين أردنا حساب الارتباطات بينهما كانا في الموضع 2 و 3 . اضبط هذه الأرقام إذا كانت الأعمدة التي تهتم بها موجودة في مواضع مختلفة.

ذات صلة: كيفية حساب الارتباط المتداول في Excel

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *