วิธีการคำนวณความสัมพันธ์ข้ามใน python
ความสัมพันธ์ข้าม เป็นวิธีการวัดระดับความคล้ายคลึงกันระหว่างอนุกรมเวลาและเวอร์ชันที่ล่าช้าของอนุกรมเวลาอื่น
ความสัมพันธ์ประเภทนี้มีประโยชน์ในการคำนวณเพราะสามารถบอกเราได้ว่าค่าในอนุกรมเวลาหนึ่งเป็นการทำนายค่าในอนาคตในอนุกรมเวลาอื่นหรือไม่ กล่าวอีกนัยหนึ่ง มันสามารถบอกเราว่าอนุกรมเวลาหนึ่งเป็นตัวบ่งชี้ที่สำคัญสำหรับอนุกรมเวลาอื่นหรือไม่
ความสัมพันธ์ประเภทนี้ถูกนำมาใช้ในหลายสาขา ได้แก่:
ธุรกิจ: การใช้จ่ายด้านการตลาดมักถือเป็นตัวบ่งชี้ชั้นนำของรายได้ทางธุรกิจในอนาคต ตัวอย่างเช่น หากบริษัทใช้จ่ายเงินจำนวนมากผิดปกติเพื่อการตลาดในหนึ่งไตรมาส รายได้รวมก็ควรจะสูง x ไตรมาสในภายหลัง
เศรษฐกิจ: ดัชนีความเชื่อมั่นผู้บริโภค (CCI) ถือเป็นตัวบ่งชี้ชั้นนำของผลิตภัณฑ์มวลรวมภายในประเทศ (GDP) ของประเทศ ตัวอย่างเช่น หาก CCI สูงในเดือนหนึ่ง GDP ก็มีแนวโน้มที่จะสูงขึ้น x เดือนต่อมา
ตัวอย่างต่อไปนี้แสดงวิธีคำนวณความสัมพันธ์ข้ามระหว่างอนุกรมเวลาสองชุดใน Python
ตัวอย่าง: วิธีการคำนวณความสัมพันธ์ข้ามใน Python
สมมติว่าเรามีอนุกรมเวลาต่อไปนี้ใน Python ที่แสดงการใช้จ่ายทางการตลาดทั้งหมด (เป็นพัน) สำหรับบริษัทหนึ่งๆ รวมถึงรายได้รวม (เป็นพัน) เป็นเวลา 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 ])
ต่อไปนี้เป็นวิธีตีความผลลัพธ์นี้:
- ความสัมพันธ์ข้ามที่ lag 0 คือ 0.771
- ความสัมพันธ์ข้ามที่ความล่าช้า 1 คือ 0.462
- ความสัมพันธ์ข้ามที่ lag 2 คือ 0.194
- ความสัมพันธ์ข้ามที่ lag 3 คือ -0.061
และอื่นๆ
โปรดทราบว่าความสัมพันธ์ระหว่างอนุกรมเวลาทั้งสองจะเป็นบวกน้อยลงเรื่อยๆ เมื่อจำนวนความล่าช้าเพิ่มขึ้น ข้อมูลนี้บอกเราว่าการใช้จ่ายด้านการตลาดในเดือนที่กำหนดสามารถคาดการณ์รายได้ได้ค่อนข้างมากในหนึ่งหรือสองเดือนต่อมา แต่ไม่สามารถคาดการณ์รายได้เกินสองเดือนได้
สิ่งนี้สมเหตุสมผล: เราคาดว่าการใช้จ่ายด้านการตลาดที่สูงในเดือนหนึ่งๆ จะเป็นการคาดการณ์ถึงรายได้ที่เพิ่มขึ้นในช่วงสองเดือนข้างหน้า แต่ไม่จำเป็นต้องเพิ่มรายได้ในอีกหลายเดือนนับจากนี้
แหล่งข้อมูลเพิ่มเติม
วิธีการคำนวณความสัมพันธ์อัตโนมัติใน Python
วิธีการคำนวณความสัมพันธ์บางส่วนใน Python
วิธีการคำนวณความสัมพันธ์แบบ point-biserial ใน Python