كيفية حساب الارتباط المتبادل في بايثون
الارتباط المتبادل هو وسيلة لقياس درجة التشابه بين سلسلة زمنية ونسخة متأخرة من سلسلة زمنية أخرى.
يعد هذا النوع من الارتباط مفيدًا في الحساب لأنه يمكن أن يخبرنا ما إذا كانت القيم في سلسلة زمنية واحدة تنبئ بالقيم المستقبلية في سلسلة زمنية أخرى. بمعنى آخر، يمكن أن يخبرنا ما إذا كانت إحدى السلاسل الزمنية هي مؤشر رئيسي لسلسلة زمنية أخرى.
ويستخدم هذا النوع من الارتباط في العديد من المجالات المختلفة، بما في ذلك:
الشركات: غالبًا ما يُعتبر الإنفاق على التسويق مؤشرًا رئيسيًا لإيرادات الأعمال المستقبلية. على سبيل المثال، إذا أنفقت الشركة مبلغًا كبيرًا بشكل غير عادي من المال على التسويق في ربع واحد، فيجب أن يكون إجمالي الإيرادات مرتفعًا x أرباعًا لاحقًا.
الاقتصاد: يعتبر مؤشر ثقة المستهلك (CCI) مؤشرا رئيسيا للناتج المحلي الإجمالي للبلد (GDP). على سبيل المثال، إذا كان مؤشر CCI مرتفعًا في شهر معين، فمن المرجح أن يكون الناتج المحلي الإجمالي أعلى بعد مرور x أشهر.
يوضح المثال التالي كيفية حساب الارتباط المتبادل بين سلسلتين زمنيتين في بايثون.
مثال: كيفية حساب الارتباط المتبادل في بايثون
لنفترض أن لدينا السلسلة الزمنية التالية في لغة بايثون والتي توضح إجمالي الإنفاق التسويقي (بالآلاف) لشركة معينة بالإضافة إلى إجمالي الإيرادات (بالآلاف) لمدة 12 شهرًا متتاليًا:
import numpy as np #define data marketing = n.p. array ([3, 4, 5, 5, 7, 9, 13, 15, 12, 10, 8, 8]) income = np. array ([21, 19, 22, 24, 25, 29, 30, 34, 37, 40, 35, 30])
يمكننا حساب الارتباط المتبادل لكل تأخر بين السلسلتين الزمنيتين باستخدام الدالة ccf() من حزمة statsmodels كما يلي:
import statsmodels. api as sm
#calculate cross correlation
sm. tsa . stattools . ccf (marketing, revenue, adjusted= False )
array([ 0.77109358, 0.46238654, 0.19352232, -0.06066296, -0.28159595,
-0.44531104, -0.49159463, -0.35783655, -0.15697476, -0.03430078,
0.01587722, 0.0070399 ])
إليك كيفية تفسير هذا الإخراج:
- الارتباط المتبادل في التأخر 0 هو 0.771 .
- الارتباط المتبادل في التأخر 1 هو 0.462 .
- الارتباط المتبادل في التأخر 2 هو 0.194 .
- الارتباط المتبادل في التأخر 3 هو -0.061 .
وما إلى ذلك وهلم جرا.
لاحظ أن الارتباط بين السلسلتين الزمنيتين يصبح أقل إيجابية مع زيادة عدد فترات التأخر. يخبرنا هذا أن الإنفاق التسويقي في شهر معين يتنبأ تمامًا بالإيرادات بعد شهر أو شهرين، ولكنه لا يتنبأ بالإيرادات بعد شهرين.
وهذا أمر منطقي: نتوقع أن يؤدي الإنفاق التسويقي المرتفع في شهر معين إلى التنبؤ بزيادة الإيرادات خلال الشهرين المقبلين، ولكن ليس بالضرورة زيادة في الإيرادات بعد عدة أشهر من الآن.
مصادر إضافية
كيفية حساب الارتباط التلقائي في بايثون
كيفية حساب الارتباط الجزئي في بايثون
كيفية حساب الارتباط النقطي الثنائي في بايثون