>백엔드 개발 >파이썬 튜토리얼 >Python의 시계열 분석 예

Python의 시계열 분석 예

PHPz
PHPz원래의
2023-06-10 09:17:591324검색

Python은 강력한 데이터 처리 및 시각화 기능을 통해 데이터 과학 분야에서 널리 사용되는 인기 있는 프로그래밍 언어입니다. 시계열 분석 측면에서 Python은 시계열 데이터를 처리하고 분석하는 데 도움이 되는 풍부한 도구와 라이브러리를 제공합니다. 이 기사에서는 Python의 시계열 분석의 몇 가지 예를 소개합니다.

1. 데이터 수집

시계열 분석에서 가장 일반적으로 사용되는 데이터 유형은 타임스탬프와 날짜 개체입니다. Python에 내장된 datetime 모듈은 이러한 유형의 데이터를 쉽게 처리할 수 있습니다. 시계열 데이터를 얻을 때 read_csv(), read_excel(), read_sql()과 같은 Python pandas 라이브러리에서 제공하는 데이터 읽기 함수를 사용할 수 있습니다.

다음은 CSV 파일에서 시계열 데이터를 읽는 샘플 코드입니다.

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('data.csv', parse_dates=['Date ' ], index_col='Date')
print(df.head())

이 예에서는 read_csv() 함수를 사용하여 CSV 파일을 읽고 구문 분석 매개변수를 ['Date'] 목록으로 설정합니다. 데이터의 타임스탬프를 Python 날짜 객체로 변환합니다. 또한 날짜 열을 데이터의 인덱스로 사용하기 위해 index_col 매개변수를 'Date'로 지정했습니다.

2. 시계열 시각화

Python은 다양한 데이터 시각화 도구를 제공하며, 그 중 가장 일반적으로 사용되는 것은 matplotlib 라이브러리입니다. matplotlib의plot() 함수를 사용하여 시계열 데이터를 플롯하고 x축을 시계열로 설정할 수 있습니다. 다음은 샘플 코드입니다.

plt.plot(df.index, df['Value'])
plt.xlabel('Date')
plt.ylabel('Value')
plt.title('Time Series' )
plt.show()

시계열 데이터 df의 시계열을 x축, 데이터 열을 y축으로 사용하고, 이전 차트의 가로, 세로 축 레이블과 제목을 설정하는 코드입니다. 그림.

3. 시계열의 정상성 테스트

시계열 분석에서는 일반적으로 데이터의 정상성을 테스트해야 합니다. 고정 시계열의 평균과 분산은 시간이 지나도 변하지 않으므로 자기회귀 모델(AR) 및 이동 평균 모델(MA)과 같은 몇 가지 강력한 분석 방법을 사용할 수 있습니다.

Python의 통계 라이브러리 statsmodel을 사용하여 정상성 테스트를 완료할 수 있습니다. 라이브러리는 Dickey-Fuller 테스트 방법을 사용하여 시계열 데이터의 정상성을 테스트할 수 있는 adfuller() 함수를 제공합니다. 다음은 샘플 코드입니다.

from statsmodels.tsa.stattools import adfuller

result = adfuller(df['Value'])
print('ADF Statistic: %f' % result[0])
print('p -value: %f' % result[1])
print('중요 값:')
키의 경우 결과의 값[4].items():
print(' %s: %.3f' % (key , value))

이 예에서는 df['Value'] 값을 테스트해야 하는 시계열 데이터로 사용합니다. adfuller() 함수는 분석을 위해 인쇄하는 테스트 결과와 주요 통계를 반환합니다.

4. 시계열의 계절 분해

시계열 분석에서는 계절 분해가 중요한 분석 방법입니다. Python 라이브러리 statsmodels에서 제공하는seasonal_decompose() 함수를 사용하여 시계열 데이터의 계절성 분해를 수행할 수 있습니다. 다음은 샘플 코드입니다.

from statsmodels.tsa.seasonal importseasonal_decompose

result =season_decompose(df['Value'], model='multiplicative', period=12)
result.plot()
plt.show( )

이 예에서는 df['Value'] 값을 분해해야 하는 시계열 데이터로 사용하고 각각 곱셈 모델 사용을 나타내는 매개변수 model='multiplicative' 및 period=12를 설정합니다. 분해 및 연간 12개월마다 주기적으로 발생합니다. 마지막으로 분해 결과가 플롯되어 표시됩니다.

결론

이 기사에서는 데이터 수집, 시계열 시각화, 정상성 테스트 및 계절 분해를 포함하여 시계열 분석에 사용되는 Python의 몇 가지 고전적인 예를 소개합니다. 위의 방법은 Python 시계열 분석의 빙산의 일각에 불과합니다. 지속적인 학습과 연습을 통해 다양한 시계열 분석 방법을 더욱 숙달하고 더 나은 결과를 얻을 수 있습니다.

위 내용은 Python의 시계열 분석 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.