
9/30 6세션
시계열-단변량 숫자형
시계열-단변량 범주형
시계열-이변량 숫자&숫자
시간의 흐름에 따른 패턴 찾기!
sns.lineplot(x, y, data)# 축을 양쪽에 두고 그립시다.
plt.figure(figsize = (12,5))
# 왼쪽 축
ax1 = sns.lineplot(x = 'Date', y = 'Close', data = kospi, label = 'Close', color = 'blue', linewidth = .5)
plt.legend(loc='upper left')
# 오른쪽 축 생성
ax2 = ax1.twinx()
sns.lineplot(x = 'Date', y = 'Volume_Lag', data = kospi, label = 'Volume', color = 'green', linewidth = .5)
plt.legend(loc='upper right')
# 그래프 출력
plt.show()

반복 추세와 반복 패턴(주기)을 찾아내는 과정sm.tsa.seasonal_decompose() 사용period 매개변수로 분해 방법 설정
특정 시점의 데이터와 이전 시점의 데이터 차이 구하기 (변화량)
> nums = [10, 12, 16, 23, 20, 15, 16, 21, 20, 25, 18]
> nums_diff = pd.Series(nums).diff()
0 NaN
1 2.0
2 4.0
3 7.0
4 -3.0
5 -5.0
6 1.0
7 5.0
8 -1.0
9 5.0
10 -7.0
# 지연 속성 50개 추가
for x in range(1, 51):
temp[f'Count_Lag_{x}'] = temp['Count'].shift(x)
temp.dropna(inplace=True)
또는
# 자기상관함수 모듈
from statsmodels.graphics.tsaplots import plot_acf
# 자기상관 분석 시각화
fig, ax = plt.subplots(figsize=(12, 3))
plot_acf(data['Count'], lags=50, alpha=0.05, ax=ax)
plt.show()

# 모듈 불러오기
from statsmodels.tsa.stattools import ccf
# 교차 상관 계수 계산
ccf_values = ccf(data['Count'], data['Temperature'])[:50]
# 시각화
plt.figure(figsize=(12, 3))
plt.bar(range(50), ccf_values)
plt.title('Cross-Correlation(Count, Temperature)', size=12, pad=10)
plt.show()

# 가변수화
seasons = ['Spring', 'Summer', 'Autumn','Winter']
weekday = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
holiday = ['No Holiday', 'Holiday']
x['Seasons'] = pd.Categorical(x['Seasons'], categories=seasons)
x['Weekday'] = pd.Categorical(x['Weekday'], categories=weekday)
x['Holiday'] = pd.Categorical(x['Holiday'], categories=holiday)
x = pd.get_dummies(x, drop_first=True, dtype=int)