時系列データ

時系列データの外れ値の統計的な求め方(1次元)

時系列データの外れ値の統計的な求め方(1次元)の解説 – S-Analysis
外れ値とは、統計において他の値と比べて極端に大きな値かもしくは極端に小さな値のことを指します。
外れ値とは|外れ値と異常値の違い|四分位範囲(IQR)|zスコア|pythonの実験

アンサンブル学習(Ensemble learning)解説と実験

前回はアンサンブル学習のアルゴリズムを開設しました。アンサンブル学習のアルゴリズムは、同じ学習アルゴリズムの多数のEstimatorからの予測結果を組み合わせた技術である。今回は様々なアンサンブル学習手法を解説と実験したいと思います。 目次 1.  アンサンブル学習の概要 ___1.1 アンサンブル学習(Ensemble learning)とは ___1.2 バイアス(Bias)とバリアンス(Variance) 2. 基本的なアンサンブル学習 ___2.1 Max Voting ___2.2 Weighted Average Voting 3. 高度なアンサンブル学習 ___3.1 Bagging ___3.2 Boosting ___3.3 Stacking 4. まとめ 1.  アンサンブル学習の概要 1.1 アンサンブル学習(Ensemble learning)とは アンサンブル学習とは、(英:ensemble learning)とは日本語で合奏を意味します。その名の通り、簡単に言えば多数決をとる方法です。個々に別々の学習器として学習させたものを、融合させる事によって、未学習のデータに対しての予測能力を向上させるための学習です。 ビジネス判断に考えると、アンサンブル学習は1人で問題を解くより、複数人で意見を出し合って知識を補い合いながら解く方が、正答率上がるということになっています。 Kaggleなどのデータ解析競技には、頻繁にこの「アンサンブル学習」の話題が上がります。事実、多くのコンペティションの上位にランクインする方々はアンサンブル学習を活用しています。 1.2 バイアス(Bias)とバリアンス(Variance) アンサンブル学習を理解する上で前提となる知識、「バイアス(Bias)」「バリアンス(Variance)」の2つを説明します。機械学習の精度を向上するということは「予測値」と「実際値」の誤差を最小化することですが、その誤差をより的確に理解するために「バイアス」「バリアンス」が用いられます。 下の図は青い点が機械学習モデルの予測した値、赤い点がデータの実際の値を図式化したものです。 バイアス(Bias)は、推定値と実際値の平均的な違い。高いバイアス エラーは、性能が悪いモデルで、データ中の重要なトレンドを見逃します。 バリアンス(Variance)同じ観測で推定値の異なり具合。バリアンスが高いモデルは訓練データに当てはまりすぎて、訓練外では性能が悪いです。 低バイアスの状態(予測値と実際値の誤差が少ない)になりますが、その一方でバリアンスは高まり過学習に陥るケースがあります。良いモデルはバイアスとバリアンスの最も適切なバランスを調整してモデルの精度を向上させていきます。 アンサンブル学習の種類 アンサンブル学習の大まかな分類は以下になります。基本的なアンサンブルと高度なアンサンブル学習手法の大分類があります。(以下図の以外の方法もあります) 2.   基本的なアンサンブル学習手法 2.1 Max Voting Max Votingは異なる機械学習分類器を組み合わせ、多数決や予測の平均投票を使用し、クラスラベルを予測することです。そのような分類器は個々の弱点を相殺するため、モデルの生成に有効である場合もあります。 複数のモデルを訓練して各モデルの予測を最終的に多数決して決めます。 …

アンサンブル学習(Ensemble learning)解説と実験 Read More »

DTW(Dynamic Time Warping)動的時間伸縮法

前回「時系列データの評価方法」について解説しました。 時系列データの向け、時系列同士の類似度を測る際にDTWという手法があります。今回の記事はDTW(Dynamic Time Warping)/動的時間伸縮法について解説したいと思います。 目次 1.  DTWの概要 ___1.1 DTW(Dynamic Time Warping)/動的時間伸縮法とは ___1.2 DTWの計算 2.   tslearn.clusteringの説明 ___2.1 tslearn.clusteringのクラス ___2.2 パラメタの説明 3. 実験 ___3.1 データ理解 ___3.2 EuclideanとDTWのk-meansクラスター ___3.3 可視化 4. まとめ 1. DTWの概要 1.1 DTW(Dynamic Time Warping)/動的時間伸縮法とは DTWとは時系列データ同士の距離・類似度を測る際に用いる手法です。波形の距離を求める手法としてはユークリッド距離(Euclidean Distance)や マンハッタン距離等(Manhattan distance)があるかと思います。 DTWは2つの時系列の各点の距離(誤差の絶対値)を総当たりで求め、全て求めた上で2つの時系列が最短となるパスを見つけます。時系列同士の長さや周期が違っても類似度を求めることができます。 1.2 DTWの計算 類似度を算出したい2つの時系列データ S=s1,s2,…,sm,T=t1,t2,…,tn, があるとき,各時系列データを横・縦に並べたグリッドを考えることができる. このグリッドの点 (i,j)は要素siとtj間のアライメントに相当します。 ワーピングパス W=w1,w2,⋯,wk は 時系列データSとTの各要素を”距離”が小さくなるようにアライメントします。つまり,Wはグリッドの点の系列となります。   Derivative DTW Derivative DTWは時系列データ S=s1,s2,⋯,smの各要素に対して,次のような変換を行った時系列データS′=s′1,s′2,…,s′mをりようします。 …

DTW(Dynamic Time Warping)動的時間伸縮法 Read More »

時系列データの評価方法

  前回の記事は「時系列データの特徴」を説明しました。今回の記事は時系列データの評価方法を説明します。 モデル機械を評価するために、データを学習データとテストデータに分割することがよく使われています。学習データはモデルを作成し、テストデータはモデルの評価に使用されます。順番がシャッフルされてしまうため、時系列データに対しては使いにくいという問題がありました。各観測は従属的であるため、それらをランダムにグループに分割することはできません。 また、データリーケージ(Data leakage)の問題も発生します。 データリーケージ(Data leakage) データリーケージとは、モデルを作成るときに、本来知らないはずの情報(変数やデータ)を不当に使ってしまうことです。 手元のデータでは高い精度が出たのに、本番環境ではまったく精度が出ない、といった事態になります。   3つの時系列データモデルの評価方法を説明します。 1)Train-Test Splits:時間的順序を考慮した学習・テスト分割 2)Multiple Train-Test Splits:時間的順序を考慮した複数の学習・テスト分割 3)Walk-Forward Validation ではモデル評価の比額を実験しましょう。 東京の日平均気温の月平均値(℃) 1988年12月から2018年11月まで30年の月次気温データ(360件) データのパス   # sunspotデータロード from pandas import Series from matplotlib import pyplot series = Series.from_csv(‘ tokyou_temp.csv’, header=0) print(series.head()) series.plot() pyplot.show()   month Dec-88     8.4 Jan-89     8.1 Feb-89     7.5 Mar-89     9.6 Apr-89    15.6 Name:  temp, dtype: …

時系列データの評価方法 Read More »