Siri masa ialah satu siri titik data yang direkodkan pada selang masa yang tetap. Ia digunakan untuk mengkaji arah aliran dalam corak, hubungan antara pembolehubah dan perubahan dalam tempoh masa yang ditentukan. Contoh biasa siri masa termasuk harga saham, corak cuaca dan penunjuk ekonomi.
Menganalisis data siri masa melalui teknik statistik dan matematik. Tujuan utama siri masa adalah untuk mengenal pasti corak dan arah aliran dalam data sebelumnya untuk meramalkan nilai masa hadapan.
Data itu dikatakan pegun, jika ia tidak berubah mengikut masa Perlu menyemak sama ada data itu pegun atau tidak mereka satu persatu.
Augmented Dickey-Fuller(ADF) ialah ujian statistik yang memeriksa kehadiran punca unit yang tersedia dalam data siri masa Akar unit ialah data yang tidak pegun Ia mengembalikan nilai statik dan p sebagai keluaran
Dalam output, jika nilai p lebih rendah daripada 0.05, ia menunjukkan data siri masa tidak pegun. Di bawah ialah contoh data pegun ADF. Kami mempunyai fungsi dalam Python yang dipanggil adfuller() yang tersedia dalam pakej statsmodel untuk menyemak sama ada data siri masa adalah pegun.
Dalam contoh ini kita sedang mencari statistik ADF dan nilai p Augmented Dickey Fuller menggunakan fungsi adfuller() bagi statsmodel pakej python .
from statsmodels.tsa.stattools import adfuller import pandas as pd data = pd.read_csv('https://raw.githubusercontent.com/selva86/datasets/master/a10.csv',parse_dates=['date'], index_col='date') t_data = data.loc[:, 'value'].values result = adfuller(t_data) print("The result of adfuller function:",result) print('ADF Statistic:', result[0]) print('p-value:', result[1])
Berikut ialah output yang dihasilkan selepas melaksanakan program di atas –
The result of adfuller function: (3.145185689306744, 1.0, 15, 188, {'1%': -3.465620397124192, '5%': -2.8770397560752436, '10%': -2.5750324547306476}, 549.6705685364172) ADF Statistic: 3.145185689306744 p-value: 1.0
Ujian lain untuk memeriksa punca unit ialah ujian KPSS. Singkatannya ialah Kwiatkowski-Phillips-Schmidt-Shin. Kami mempunyai fungsi yang dipanggil kpss() dalam pakej statsmodels untuk menyemak punca unit dalam data siri masa.
Di bawah ialah contoh mencari punca unit dalam data siri masa.
from statsmodels.tsa.stattools import kpss import pandas as pd data = pd.read_csv('https://raw.githubusercontent.com/selva86/datasets/master/a10.csv',parse_dates=['date'], index_col='date') t_data = data.loc[:, 'value'].values from statsmodels.tsa.stattools import kpss result = kpss(data) print("The result of kpss function:",result) print('KPSS Statistic:', result[0]) print('p-value:', result[1])
Berikut ialah hasil keluaran fungsi kpss() dalam pakej statsmodels.
The result of kpss function: (2.0131256386303322, 0.01, 9, {'10%': 0.347, '5%': 0.463, '2.5%': 0.574, '1%': 0.739}) KPSS Statistic: 2.0131256386303322 p-value: 0.01
Satu lagi cara untuk menyemak data siri masa ialah dengan memplot purata bergerak dan sisihan piawai bergerak bagi data siri masa yang diberikan dan menyemak sama ada data kekal malar. Jika data berubah mengikut masa dalam carta, data siri masa adalah tidak pegun.
Berikut ialah contoh untuk menyemak variasi data dengan memplot purata bergerak dan sisihan piawai bergerak menggunakan fungsi matplotlib plot() fungsi.#🎜 🎜#
import pandas as pd import matplotlib.pyplot as plt data = pd.read_csv('https://raw.githubusercontent.com/selva86/datasets/master/a10.csv',parse_dates=['date'], index_col='date') t_data = data.loc[:, 'value'].values moving_avg = t_data.mean() moving_std = t_data.std() plt.plot(data, color='green', label='Original') plt.plot(moving_avg, color='red', label='moving average') plt.plot(moving_std, color='black', label='moving Standard deviation') plt.legend(loc='best') plt.title('Moving Average & Moving Standard Deviation') plt.show()
Atas ialah kandungan terperinci Bagaimana untuk menyemak sama ada data siri masa adalah pegun menggunakan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!