scipyを用いずにデータ補間をしたいです。
今のところ
python
1from scipy import signal, interpolate
の中にある秋間法
python
1interpolate.Akima1DInterpolator()
を用いているのですが、scipyだと都合がつかないためscipyを使わない方法を探しております。
pandasも使用したくなく、手詰まりになっています。
データ補間の方法は秋間法か三次スプライン補間だと嬉しいのですが、ヒントになるかもしれないのでなんでも結構です。
よろしくお願いいたします。
scipy, pandas はなぜ使えないのでしょうか?というのも紹介するにあたり他のライブラリを使った方法ならいいのかどうかということです。外部ライブラリがダメなのであれば、その理由も記載してください
自動微分を用いたいのですがscipyのinterpolateの部分でエラーになってしまうのでscipyを使いたくありません。pandasも同様です。
自動微分とは数値微分のことですか?interpolate.interp1d で作った関数で数値微分はできると思いますが。https://org-technology.com/posts/univariate-interpolation.html
autogradを用いた場合でも可能ですか?
https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.make_interp_spline.html#scipy.interpolate.make_interp_spline で補完式を作ると、作成した関数の係数が取れるので、autograd で使う場合は、それを使って微分式を定義する必要があるかと思います。https://pytorch.org/tutorials/beginner/examples_autograd/two_layer_net_custom_function.html
補間した後の関数の係数で微分式を定義するということで合っていますか?
はい、そうです。自作した関数は、微分式を一緒に定義しておく必要があります。
あなたの回答
tips
プレビュー