สมมติว่าคุณมี Series และต้องการคำนวณ autocorrelation (ความสัมพันธ์เชิงอนุกรมเวลา) รวมถึง autocorrelation ที่มี lag ระบุ
วิธีแก้ปัญหา
- สร้าง Series (มีค่า NaN ได้)
- ใช้
series.autocorr()คำนวณ autocorrelation lag 1 (default) - ใช้
series.autocorr(lag=2)คำนวณ autocorrelation lag 2
ตัวอย่างโค้ด
import pandas as pd
import numpy as np
series = pd.Series([2, 10, 3, 4, 9, 10, 2, np.nan, 3])
print("Series ต้นฉบับ:\n", series)
print("\nAutocorrelation (lag=1 default):")
print(series.autocorr())
print("\nAutocorrelation (lag=2):")
print(series.autocorr(lag=2))
ผลลัพธ์
Series ต้นฉบับ:
0 2.0
1 10.0
2 3.0
3 4.0
4 9.0
5 10.0
6 2.0
7 NaN
8 3.0
dtype: float64
Autocorrelation (lag=1 default):
-0.4711538461538461
Autocorrelation (lag=2):
-0.2933396642805515
คำอธิบาย:
- Autocorrelation: ความสัมพันธ์ระหว่าง series กับตัวเองที่เลื่อนเวลา (lag)
lag=1เปรียบเทียบค่ากับค่าก่อนหน้า 1 ช่วงlag=2เปรียบเทียบค่ากับค่าก่อนหน้า 2 ช่วง- ค่าอยู่ระหว่าง -1 ถึง 1: ใกล้ 1 = สัมพันธ์เชิงบวก, ใกล้ -1 = สัมพันธ์เชิงลบ, ใกล้ 0 = ไม่สัมพันธ์
- ค่า NaN จะถูกข้ามในการคำนวณ