時系列データに対して、自己相関係数を計算する。
-
Python Version
- Python 3.6.3 :: Anaconda, Inc.
-
Library Version
- requirements.txtを参照のこと
pipをインストールしている場合は、
$ pip install -r requirements.txt
プログラムの実行は、以下のコマンドで行う。
実行する際には、プログラムまでのパスに注意する。
$ python3 main.py
分析したいファイルへのパスの入力では、絶対パス・相対パス、どちらでも可能。
絶対パス: /Users/username/Autocorrelation-Analysis/data/sample.txt
相対パス: ./data/sample.txt
複数ファイルの入力をしたい場合は、以下のように入力する。
拡張子をしていすれば、その拡張子のファイルのみ読み込む。指定がない場合は、ディレクトリ下のファイルをすべて読み込む。
こちらも絶対パス・相対パス、どちらでも可能。
絶対パス: /Users/username/Autocorrelation-Analysis/data/*.txt
相対パス: ./data/*.txt
計算モードの選択では、ずらしかたの指定ができる。
データ数の50%~100%分だけずらしたい場合は、1を入力する。このモードでは、入力データの前半X%を使用して、自己相関の計算をする。
データ数3000行のデータを入力した場合、前半50%(1500行)のデータを1500回ずらす、前半60%(1800行)のデータを1800回ずらす、...、前半100%(3000行)のデータを3000回ずらすことになる。
任意の回数(X回)をずらしたい場合は、2を入力し、ずらしたい回数を入力する。このモードでは、入力データのうち、前半X行を使用して、自己相関の計算をする。
データ数3000行のデータを入力し、Xを300回とした場合、前半300行のデータを300回ずらすことになる。
連続して、任意の回数をずらしたい場合は、3を入力し、1回目にずらしたい回数、2回目...、N回目にずらしたい回数を入力する(デフォルトでN=3)。また、ずらす回数は「1回目≧2回目≧3回目」となるようにする。このモードでは、入力データすべてを使用して、自己相関の計算をする。
データ数3000行のデータを入力し、ずらす回数を300回・200回・100回とした場合、計算結果は以下のようになる。
- A. データ全体を300回ずらしたもの (出力は前半の300行)
- B. Aの結果全体を200回ずらしたもの (出力は前半の200行)
- C. Bの結果全体を100回ずらしたもの (出力は前半の100行)
データの水増しと自己相関係数の計算を並行して行いたい場合は、4を入力する。処理は、以下の順番で行う。
- ①
ずらす回数の入力→自己相関の計算 - ②
→水増し区間の入力→前回の計算結果を使用して、データの水増し→ずらす回数の入力→自己相関の計算* N回 (デフォルトでN=2)
データの水増しのみ行いたい場合は、5を入力し、水増しの対象となる区間(開始時間、終了時間)と何個のデータに水増しするか入力する。
水増しでは、元データより対象の区間を切り取り、任意の個数になるように対象区間をコピーし、つなげる。
任意の回数(X回)をずらしたい場合は、6を入力し、ずらしたい回数を入力する。このモードでは、入力データのうち、すべての行を使用して、自己相関の計算をする。
またモード3~6では、データの区切り文字の選択ができる。
区切り文字がスペースの場合は、1を入力し、区切り文字がタブの場合は、2を入力する。
出力は、out/[各mode]/ディレクトリに行う。
出力ディレクトリ名は、プログラムの実行時間になる。
1つの入力ファイルにつき、12個のファイルが出力される。
- データ数の50%~100%だけずらしたファイル(6個) × インデックスの有無(2個)
1つの入力ファイルにつき、2個のファイルが出力される。
- インデックスの有無(2個)
1つの入力ファイルにつき、2*N個のファイルが出力される。
- インデックスの有無(2個) × 連続して計算した回数(N)
1つの入力ファイルにつき、最終結果ディレクトリに8個のファイルが、計算途中結果ディレクトリ(out/mode4/midway_cal/)に5個のファイル出力される。
- 最終結果ディレクトリ
- ①のインデックスの有無(2個)
- (②のインデックスの有無(2個) + 水増しの設定ファイル) × 連続して計算した回数(N)
- 計算途中結果ディレクトリ
- ①のインデックスの有無(2個)
- (②のインデックスの有無(2個) + 水増しの設定ファイル) × 連続して計算した回数(N-1)
1つの入力ファイルにつき、3個のファイルが出力される。
- 水増し結果(インデックスの有無(2個)) + 水増しの設定ファイル
1つの入力ファイルにつき、2個のファイルが出力される。
- インデックスの有無(2個)
"Autocorrelation-Analysis" is under MIT license.