0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

時系列データの対数差分を取る 【python】

Posted at

・時系列データ

時系列データとは、ある時間とその時の何かの値が時系列に沿って記録されているデータです。
例えば、株価の日時データは一日単位の時系列データになります。

・VARモデルと因果推論

VARモデルとは、その時系列データに対し、「ある時点でのデータはそれより前のデータ幾つかの重ね合わせで表せる」というモデルで、過去のデータ点幾つかに対して線形モデルを作って回帰し、未来のデータ点を予想することができます。このモデルでは、Granger因果、インパルス応答分析など、ある2種類のデータ列に、どちらかからどちらかへの因果(例えば、1日の気温とその日のアイスの売り上げなど)があるかどうかを分析することができます。

詳細は省略しますが、その際にデータの対数差分を取る必要が出てくることがあります。
これは、単位根過程のデータに対して対数差分を取ることで見せかけの回帰を回避できるためです。

・対数差分の取り方
※全てのデータが正の数であることが条件。
①全てのデータに1を加える。
※負の数になることを回避するため。
②データの対数を取る。
③各データからそれぞれ一つ前のデータを引く。

・Pythonコード

import numpy as np

def logdiff(df):
    
    df_ = df.copy()
    df_ = np.log(df_ +1)
    df_ = df_.diff() 
    df_ = df_.iloc[1:,:]
    return df_


0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?