Rumah > Artikel > pembangunan bahagian belakang > Python membandingkan sama ada dua siri masa adalah serupa secara grafik
Untuk membandingkan sama ada dua siri masa adalah serupa secara grafik, anda boleh melakukan perkara berikut:
Perlu diambil perhatian bahawa persamaan dalam grafik tidak sepenuhnya mewakili persamaan antara dua siri masa, kerana grafik yang sama boleh sepadan dengan siri masa yang berbeza. Oleh itu, apabila membandingkan siri masa, pelbagai aspek maklumat perlu dipertimbangkan secara menyeluruh.
Sebelum anda mula, anda perlu memastikan bahawa Python dan pip telah berjaya dipasang pada komputer anda. Jika tidak, anda boleh melawati artikel ini: Panduan Pemasangan Python Terperinci untuk memasangnya.
(Pilihan 1) Jika anda menggunakan Python untuk analisis data, anda boleh memasang Anaconda secara terus: Anaconda, pembantu yang baik untuk analisis dan perlombongan data Python, mempunyai Python dan pip terbina dalam.
( Pilihan 2) Di samping itu, anda disyorkan agar menggunakan editor VSCode, yang mempunyai banyak kelebihan: Rakan kongsi terbaik untuk pengaturcaraan Python—Panduan Terperinci VSCode.
Sila pilih mana-mana kaedah berikut untuk memasukkan arahan untuk memasang dependensi: 1. Buka Cmd (Start-Run-CMD) dalam persekitaran Windows. 2. Persekitaran MacOS Open Terminal (perintah+ruang untuk memasuki Terminal). 3. Jika anda menggunakan editor VSCode atau Pycharm, anda boleh terus menggunakan Terminal di bahagian bawah antara muka.
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)
<.>
Atas ialah kandungan terperinci Python membandingkan sama ada dua siri masa adalah serupa secara grafik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!