วิธีการคำนวณความสัมพันธ์อัตโนมัติใน r
ความสัมพันธ์อัตโนมัติ จะวัดระดับความคล้ายคลึงกันระหว่างอนุกรมเวลาและเวอร์ชันที่ล่าช้าของตัวเองในช่วงเวลาที่ต่อเนื่องกัน
บางครั้งเรียกว่า “ความสัมพันธ์แบบอนุกรม” หรือ “ความสัมพันธ์แบบล่าช้า” เนื่องจากเป็นการวัดความสัมพันธ์ระหว่างค่าปัจจุบันของตัวแปรและค่าในอดีต
เมื่อความสัมพันธ์อัตโนมัติในอนุกรมเวลาสูง การทำนายค่าในอนาคตก็กลายเป็นเรื่องง่ายโดยการอ้างอิงถึงค่าในอดีต
วิธีการคำนวณความสัมพันธ์อัตโนมัติใน R
สมมติว่าเรามีอนุกรมเวลาต่อไปนี้ใน R ที่แสดงค่าของตัวแปรบางตัวสำหรับช่วงเวลาที่แตกต่างกัน 15 ช่วง:
#define data
x <- c(22, 24, 25, 25, 28, 29, 34, 37, 40, 44, 51, 48, 47, 50, 51)
เราสามารถคำนวณความสัมพันธ์อัตโนมัติสำหรับความล่าช้าแต่ละครั้งในอนุกรมเวลาได้โดยใช้ฟังก์ชัน acf() จากไลบรารี tseries :
library (tseries) #calculate autocorrelations acf(x, pl= FALSE ) 0 1 2 3 4 5 6 7 8 9 10 1.000 0.832 0.656 0.491 0.279 0.031 -0.165 -0.304 -0.401 -0.458 -0.450 11 -0.369
วิธีการตีความผลลัพธ์มีดังนี้:
- ความสัมพันธ์อัตโนมัติที่ความล่าช้า 0 คือ 1
- ความสัมพันธ์อัตโนมัติที่ความล่าช้า 1 คือ 0.832
- ความสัมพันธ์อัตโนมัติที่ความล่าช้า 2 คือ 0.656
- ความสัมพันธ์อัตโนมัติที่ lag 3 คือ 0.491
และอื่นๆ
นอกจากนี้เรายังสามารถระบุจำนวนความล่าช้าที่จะแสดงด้วยอาร์กิวเมนต์ lag :
#calculate autocorrelations up to lag=5 acf(x, lag=5, pl= FALSE ) Autocorrelations of series 'x', by lag 0 1 2 3 4 5 1.000 0.832 0.656 0.491 0.279 0.031
วิธีการพล็อตฟังก์ชันความสัมพันธ์อัตโนมัติใน R
เราสามารถพล็อตฟังก์ชันความสัมพันธ์อัตโนมัติสำหรับอนุกรมเวลาใน R ได้โดยไม่ใช้อาร์กิวเมนต์ pl=FALSE :
#plot autocorrelation function
acf(x)
แกน x จะแสดงจำนวนของความล่าช้า และแกน y จะแสดงความสัมพันธ์อัตโนมัติที่จำนวนความล่าช้าดังกล่าว ตามค่าเริ่มต้น พล็อตเริ่มต้นที่ lag = 0 และความสัมพันธ์อัตโนมัติจะเป็น 1 เสมอที่ lag = 0
คุณยังสามารถระบุชื่อเรื่องอื่นสำหรับโครงเรื่องโดยใช้อาร์กิวเมนต์ หลัก :
#plot autocorrelation function with custom title acf(x, main=' Autocorrelation by Lag ')
แหล่งข้อมูลเพิ่มเติม
วิธีการคำนวณความสัมพันธ์อัตโนมัติใน Python
วิธีการคำนวณความสัมพันธ์อัตโนมัติใน Excel