두 시계열이 그래픽으로 유사한지 비교하려면 다음을 수행할 수 있습니다.
동일한 그래픽이 다른 시계열에 해당할 수 있기 때문에 그래픽의 유사성이 두 시계열 간의 유사성을 완전히 나타내지는 않는다는 점에 유의해야 합니다. 따라서 시계열을 비교할 때에는 정보의 여러 측면을 종합적으로 고려해야 합니다.
시작하기 전에 Python과 pip가 컴퓨터에 성공적으로 설치되었는지 확인해야 합니다. 설치하려면 매우 상세한 Python 설치 가이드를 참조하세요.
(선택 1) 데이터 분석을 위해 Python을 사용하는 경우 Anaconda를 직접 설치할 수 있습니다. Python 데이터 분석 및 마이닝에 유용한 도우미인 Anaconda에는 Python과 pip가 내장되어 있습니다.
(선택 2) 또한 모든 사람에게 권장됩니다. 많은 장점이 있는 VSCode 편집기를 사용하세요. Python 프로그래밍을 위한 최고의 파트너 - VSCode 상세 가이드.
종속성 설치 명령을 입력하려면 다음 방법 중 하나를 선택하세요. 1. Windows 환경에서 Cmd(Start-Run-CMD)를 엽니다. 2. MacOS 환경 터미널을 엽니다(command+space로 터미널 진입). 3. VSCode 편집기나 Pycharm을 사용하는 경우 인터페이스 하단의 터미널을 직접 사용할 수 있습니다.
pip install matplotlib pip install numpy
import matplotlib.pyplot as plt # 生成时间序列数据 x = [1, 2, 3, 4, 5] y1 = [10, 15, 13, 17, 20] y2 = [8, 12, 14, 18, 22] # 绘制两个时间序列的折线图 plt.plot(x, y1, label='y1') plt.plot(x, y2, label='y2') # 设置图形属性 plt.xlabel('Time') plt.ylabel('Value') plt.title('Comparison of two time series') plt.legend() # 显示图形 plt.show()
import numpy as np # 生成时间序列数据 x = [1, 2, 3, 4, 5] y1 = [10, 15, 13, 17, 20] y2 = [8, 12, 14, 18, 22] # 计算相关系数 corr = np.corrcoef(y1, y2)[0, 1] # 输出结果 print('Correlation coefficient:', corr)
import numpy as np # 生成时间序列数据 x = [1, 2, 3, 4, 5] y1 = [10, 15, 13, 17, 20] y2 = [8, 12, 14, 18, 22] # 动态时间规整算法 def dtw_distance(ts_a, ts_b, d=lambda x, y: abs(x - y)): DTW = {} # 初始化边界条件 for i in range(len(ts_a)): DTW[(i, -1)] = float('inf') for i in range(len(ts_b)): DTW[(-1, i)] = float('inf') DTW[(-1, -1)] = 0 # 计算DTW矩阵 for i in range(len(ts_a)): for j in range(len(ts_b)): cost = d(ts_a[i], ts_b[j]) DTW[(i, j)] = cost + min(DTW[(i-1, j)], DTW[(i, j-1)], DTW[(i-1, j-1)]) # 返回DTW距离 return DTW[len(ts_a)-1, len(ts_b)-1] # 计算两个时间序列之间的DTW距离 dtw_dist = dtw_distance(y1, y2) # 输出结果 print('DTW distance:', dtw_dist)
위 내용은 Python은 두 시계열을 비교하여 그래픽적으로 유사한지 확인합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!