ホームページ > バックエンド開発 > Python チュートリアル > Python のデータ分析ライブラリを使用して時系列データを処理および予測する方法

Python のデータ分析ライブラリを使用して時系列データを処理および予測する方法

王林
リリース: 2023-10-20 18:58:52
オリジナル
731 人が閲覧しました

Python のデータ分析ライブラリを使用して時系列データを処理および予測する方法

Python のデータ分析ライブラリを使用して時系列データを処理および予測する方法

時系列データとは、時系列に並べられたデータを指します。関連性と傾向。株式市場の予測、天気予報、売上予測など、多くの分野で時系列データ分析が重要な役割を果たしています。 Python には、NumPy、Pandas、Statsmodels など、時系列データの処理と予測に役立つ強力なデータ分析ライブラリが多数あります。この記事では、Python でこれらのライブラリを使用して時系列データを処理および予測する方法を紹介し、具体的なコード例を示します。

1. データの前処理

時系列データを処理する前に、通常、データ クリーニング、欠損値や外れ値の処理など、データの前処理が必要です。 Pandas は、時系列データの前処理プロセスを簡素化する非常に便利なライブラリです。

まず、必要なライブラリをインポートする必要があります:

import pandas as pd
import numpy as np
ログイン後にコピー

次に、Pandas を使用して時系列データを読み取り、日付列が DatetimeIndex 型に解析されます:

data = pd.read_csv('data.csv', parse_dates=['date'], index_col='date')
ログイン後にコピー

データが Pandas DataFrame にロードされると、データをクリーンアップしたり、欠損値や外れ値を処理したりできます。たとえば、dropna() メソッドを使用して欠損値を削除できます。

data = data.dropna()
ログイン後にコピー

fillna() メソッドを使用して欠損値を埋めることもできます。

data = data.fillna(method='ffill')
ログイン後にコピー

2. データの探索

時系列データを処理した後、通常はデータを視覚化して探索する必要があります。これは、データの傾向、季節性、外れ値などの特性を理解するのに役立ちます。 Matplotlib と Seaborn は、この目標の達成に役立つ Python で一般的に使用されるデータ視覚化ライブラリです。

まず、必要なライブラリをインポートする必要があります:

import matplotlib.pyplot as plt
import seaborn as sns
ログイン後にコピー

次に、Matplotlib を使用して時系列データの折れ線グラフを描画できます:

plt.plot(data.index, data['value'])
plt.xlabel('Date')
plt.ylabel('Value')
plt.title('Time series data')
plt.show()
ログイン後にコピー

Seaborn 時系列データのボックス プロットを描画します:

sns.boxplot(data=data)
plt.xlabel('Variable')
plt.ylabel('Value')
plt.title('Boxplot of time series data')
plt.show()
ログイン後にコピー

3. データ モデリングと予測

時系列データを調査した後、通常はデータをモデル化して予測する必要があります。 Statsmodels は、時系列モデリングと予測の実装に役立つ Python で一般的に使用される統計モデル ライブラリです。

まず、必要なライブラリをインポートする必要があります:

import statsmodels.api as sm
ログイン後にコピー

次に、Statsmodels の ARIMA モデルを使用して、時系列データをモデル化および予測できます。 ARIMA (自己回帰移動平均モデル) は、時系列データの自己相関関数と偏自己相関関数をフィッティングすることで将来の値を予測する、一般的に使用される時系列予測モデルです。

次は、時系列予測に ARIMA モデルを使用するコード例です:

model = sm.tsa.ARIMA(data['value'], order=(1, 0, 0))
model_fit = model.fit(disp=False)
forecast = model_fit.forecast(steps=10)
ログイン後にコピー

上記のコードでは、ARIMA(1, 0, 0) モデルを使用して時間をモデル化します。 series data を取得し、forecast() メソッドを使用して次の 10 時点の値を予測します。

4. 結果の評価と視覚化

時系列予測を実行した後、結果を評価して視覚化する必要があります。これは、モデルの精度と信頼性を判断するのに役立ちます。

Pandas と Matplotlib を使用して、予測結果の折れ線グラフを描画できます:

plt.plot(forecast.index, forecast.values, label='Forecast')
plt.plot(data.index, data['value'], label='Actual')
plt.xlabel('Date')
plt.ylabel('Value')
plt.title('Time series forecast')
plt.legend()
plt.show()
ログイン後にコピー

Pandas を使用して、予測結果の二乗平均平方根誤差 (RMSE) を計算することもできます:

rmse = np.sqrt(np.mean((forecast.values - data['value'].values[-10:])**2))
print('RMSE: ', rmse)
ログイン後にコピー

上記は、データの前処理、データの探索、データのモデリングと予測、結果の評価と視覚化を含む、Python のデータ分析ライブラリを使用して時系列データを処理および予測するための基本的なプロセスです。この記事のサンプル コードが、読者がこれらのライブラリをよりよく理解し、時系列データの処理と予測に適用するのに役立つことを願っています。

以上がPython のデータ分析ライブラリを使用して時系列データを処理および予測する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート