GPSデータ(time, latitude, longitude)を元にFirst Passage Time (FPT) 解析を行うプログラムです。FPT解析は、動物の移動解析、特に Area-restricted search (ARS) の解析において広く用いられる手法です。FPTとは、動物がある半径の円の中に留まり続ける時間を指します。この時間を計算することで、動物が特定の場所をどの程度利用しているかを定量的に評価できます。

FPT解析により、次のような情報を得ることが可能です:
- 動物が餌を探して集中して探索しているエリアの特定
- 移動の効率性や行動モード(探索、移動など)の識別
- 移動パターンの空間的・時間的な特性の理解
これらは生態学研究や行動解析において重要な洞察をもたらします。さらに詳細な理論的背景については、Fauchald and Tveraa (2003) を参照してください。また、本プログラムは、Sakamoto et al. (2019) により公開されたIgor Pro用アドインプログラム(Ethographer)を参考にPythonで再現されたものです。ただし、Ethographerでは等間隔データに変換して解析を行うため、出力結果に若干の違いが生じます。
本スクリプトでは、以下のデータを含むCSVファイルおよびそれを可視化するためのグラフを生成します。
- UTM座標を利用した距離計算によるFPT解析
- 指定した半径(km単位)でのFPT分布(分単位)の可視化
- 移動経路中のFPTを可視化
- 選択した半径に対応する結果データのCSV出力
実行方法
使用するPython環境に必要なライブラリ(matplotlib)をインストールしてください。
pip install matplotlib
Pythonコード(FPT_analysis.py)とデータ(data_gps.csv)をダウンロードして、Pythonのプロンプト上でそれらを保存したディレクトリに移動して、以下のコマンドを実行します。
python FPT_analysis.py
コードを実行中、以下の情報を順に入力します:
- ファイル名(拡張子CSVを除く、例: data_gps)
- UTMゾーン番号(例:
54
) - 最小半径 (km)(解析で用いる最小空間スケール、例: 0.05)
- 最大半径 (km)(解析で用いる最大空間スケール、例: 1.0)
- 半径ステップ幅 (km)(解析で半径を増加させる間隔、例: 0.05)
(base) D:\>Python FPT_analysis.py Enter the file name (without .csv): data_gps Enter the UTM zone (e.g., 54 for Zone 54N): 54 Enter minimum radius (km): 0.05 Enter maximum radius (km): 1 Enter step radius (km): 0.05 Variance plot saved to variance_log_fpt_vs_spatial_scale.png
スクリプトの前半で、空間スケールごとの Variance of Log FPT
をプロットした以下のファイルが生成されます:

このグラフを確認し、解析に適した半径(空間スケール)を選択します。上記のグラフでは、値が急激に減少する0.3 (km) を半径としてプロンプト上で入力します。
ARSの検出において、Variance of Log FPT
が急激に減少する点(膝点)は、探索行動から移動行動への転換を示すスケールと解釈されます。このスケールを閾値として設定し、その範囲内でのFPTを解析することで、動物が集中して探索を行ったエリア(ARS領域)を特定できます。膝点は、動物が特定の場所に留まる傾向が最も強いスケールを反映しており、行動パターンや環境特性を評価するための重要な指標となります。ただし、この解析結果はデータの解像度や収集条件に依存するため、背景情報を考慮した適切なスケール設定が求められます。
Enter the selected radius for DisplayFPT (km): 0.3 Histogram saved to data_gps_FPT_0.3km_histogram.png Timeseries plot saved to data_gps_FPT_0.3km_timeseries.png FPT on Movement Path saved to data_gps_FPT_0.3km_FPT_on_MovementPath.png Results saved to data_gps_FPT_0.3km.csv
選択した半径に基づき、以下の結果が生成されます:
- ヒストグラム:選択した半径におけるFPTの分布。動物が特定の空間スケールでどれだけ長く留まったかを示す。
- 時系列図:選択した半径におけるFPTが時系列でどのように変化しているかを示し、動物の行動が時系列でどのように変化しているかを可視化する。
- 散布図: 移動経路中のFPTの変化をシンボルの大きさと色で表現し、動物のARS領域を空間的に可視化(本ページの最初の図)。
- CSVファイル:選択した半径におけるFPTの値および元のデータ(時刻、緯度経度、UTM座標)が含まれる。

