데이터 시대가 도래하면서 분석과 예측을 위해 수집되고 활용되는 데이터가 점점 더 많아지고 있습니다. 시계열 데이터는 시간을 기준으로 한 일련의 데이터를 포함하는 일반적인 데이터 유형입니다. 이러한 유형의 데이터를 예측하는 데 사용되는 방법을 시계열 예측 기술이라고 합니다. Python은 강력한 데이터 과학 및 기계 학습 지원을 갖춘 매우 인기 있는 프로그래밍 언어이므로 시계열 예측에도 매우 적합한 도구입니다.
이 기사에서는 Python에서 일반적으로 사용되는 시계열 예측 기술을 소개하고 실제 프로젝트에서 사용하는 몇 가지 예를 제공합니다.
정상 시계열이란 통계적 특성이 시간이 지남에 따라 변동하고 시간이 지나도 변하지 않는 시계열을 말합니다. 많은 경우 시계열 데이터는 고정되어 있지 않습니다. 즉, 시간 추세와 계절 구성 요소가 있음을 의미합니다. 이 데이터를 고정 시계열로 변환하기 위해 두 연속 시점 간의 차이를 계산하는 차분 기법을 사용할 수 있습니다. Python의 pandas 라이브러리는 이 작업을 수행하는 데 사용할 수 있는 함수를 제공합니다.
다음은 차분 기술을 사용하여 비정상 시계열을 정상 시계열로 변환하는 예입니다.
import pandas as pd # 读取时间序列数据 data = pd.read_csv("time_series_data.csv", header=None) # 对数据进行一阶差分 data_diff = data.diff().dropna()
이동 평균은 원본 데이터를 특정 범위 내 데이터의 평균으로 바꾸는 것을 의미합니다. 주어진 기간의 집합 동일한 기간의 값에 대한 방법입니다. Rolling() 함수로 구현된 pandas 라이브러리를 사용하여 구현할 수 있습니다. 이동 평균은 노이즈를 제거하고, 시계열을 평활화하고, 추세 및 순환(예: 계절성) 구성 요소를 찾는 데 유용합니다.
다음 시계열 값을 예측하기 위해 이동 평균을 사용하는 방법에 대한 샘플 코드는 다음과 같습니다.
import pandas as pd import numpy as np # 读取时间序列数据 data = pd.read_csv("time_series_data.csv", header=None) # 使用5个数据点进行移动平均 rolling_mean = data.rolling(window=5).mean()[5:] # 预测下一个时间步的值 last_value = data.values[-1][0] prediction = np.mean(rolling_mean) + last_value print(prediction)
자동 회귀 이동 평균(ARIMA)은 일반적으로 사용되는 시계열 예측 모델입니다. 자동회귀 과정과 이동평균 과정으로 구성된 선형 모델로 Python의 statamod 라이브러리에 있는 ARIMA() 함수를 사용하여 구현할 수 있으며 시계열 데이터의 정상성과 이동평균 매개변수를 지정할 수 있습니다. .
다음은 ARIMA 모델을 사용한 시계열 예측을 위한 샘플 코드입니다.
from statsmodels.tsa.arima_model import ARIMA # 读取时间序列数据 data = pd.read_csv("time_series_data.csv", header=None).values.flatten() # 训练ARIMA模型 model = ARIMA(data, order=(2, 1, 0)) model_fit = model.fit(disp=0) # 预测未来 n 个时间点的值 future_prediction = model_fit.predict(start=len(data), end=len(data)+n-1)
Summary
Python에는 시계열 분석 및 예측을 위한 강력한 도구가 있습니다. 그 중 고정 시계열과 차분 기법은 비정상 시계열을 고정 시계열로 변환할 수 있습니다. 이동 평균은 잡음을 줄이고 시계열을 평활화하기 위해 널리 사용되는 평활화 기술입니다. ARIMA(자기회귀 이동평균)는 자기회귀 및 이동평균을 사용하는 일반적으로 사용되는 시계열 예측 모델입니다.
이러한 기술을 사용하면 주식 예측, 일기 예보 등을 포함한 응용 시나리오를 사용하여 독립적이고 반복 가능한 시계열 분석 및 예측 코드를 Python으로 작성할 수 있습니다.
위 내용은 Python의 시계열 예측 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!