💙

Pythonで関数データ分析を行う(scikit-fda)

2022/04/26に公開

scikit-fda

随時更新します。
Pythonで関数データ分析(FDA)を行うためのパッケージ。
2022年4月26日現在、scikit-fdaはPythonのバージョンが3.6か3.7ではないと使用できない。
以下のURLに公式ドキュメントあり。
コードは公式ドキュメントより引用。
https://fda.readthedocs.io/en/latest/index.html

インストール

方法1と方法2のどちらでもインストール可能可能

方法1

pipを使用する

pip install scikit-fda

方法2

githubからクローンする

git clone https://github.com/GAA-UAM/scikit-fda.git
pip install ./scikit-fda

分析の実施

データの準備

データの観測地点が同じ場合はFDataGridクラスを使用する。
FDataGridは、data_matrixとgrid_pointsの2つのアトリビュートを持つ。

  1. data_matrix:次元数と同じ長さのタプルを渡す。
    平たく言えば、このタプルが関数を切り替えるポイントとなる。
    そのため、1次元の場合は省略可能。
  2. data_matrix:測定値を渡す。

import skfda
import matplotlib.pyplot as plt

grid_points = [0, 0.2, 0.5, 0.9, 1]  # Grid points of the curves
data_matrix = [
    [0, 0.2, 0.5, 0.9, 1],     # First observation
    [0, 0.04, 0.25, 0.81, 1],  # Second observation
]

fd = skfda.FDataGrid(
    data_matrix=data_matrix,
    grid_points=grid_points,
)

fd.plot()
plt.show()

Discussion