Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk menyemak sama ada data siri masa adalah pegun menggunakan Python?

Bagaimana untuk menyemak sama ada data siri masa adalah pegun menggunakan Python?

WBOY
Lepaskan: 2023-08-31 17:37:05
ke hadapan
1625 orang telah melayarinya

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)

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.

Contoh

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])
Salin selepas log masuk

Output

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
Salin selepas log masuk

Ujian KPSS

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.

Contoh

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])
Salin selepas log masuk

Output

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
Salin selepas log masuk

Statistik Tatal

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.

Contoh

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()
Salin selepas log masuk
Output

Berikut ialah output menormalkan data siri masa dengan memplot purata bergerak dan sisihan piawai bergerak.

Bagaimana untuk menyemak sama ada data siri masa adalah pegun menggunakan Python?

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!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan