私はオーディオデータを扱っているので、私のデータセットは通常約40000〜120000ポイント(1〜3秒)です。現在、私は線形補間をいくつかのタスクに使用しており、結果を改善するために3次補間を使用したいと考えています。interp1dの代わりに "大きな"データセットの正3次補間?
interp1d
とkind='linear'
を使用して補間関数を生成しています。これは素晴らしい作品であり、非常に直感的です。
しかし、kind='cubic'
に切り替えると、コンピュータが狂ってしまう---メモリがスラッシングを開始し、Emacsウィンドウが暗くなり、マウスポインタの動きが非常に遅くなり、ハードドライブが非常にアクティブになります。私はこれが大量のメモリを使用しているためだと思います。私は(非常にゆっくりと)新しい端末ウィンドウを開き、htop
を実行して、Pythonのプロセスを強制終了します。 (私はLinuxを使用しているはずです。)
キュービック補間についての私の理解は、一度に5点のデータセットしか調べる必要がないということですが、誤っている可能性があります。
どのような場合でも、どのようにしてこの線形補間から3次補間に簡単に切り替えることができますか? interp1d
のすべての例は、データポイントをほとんど使用していません。ドキュメントのどこにも言及されていないため、高次の注文ではうまく機能しません。
編集:私はちょうどUnivariateSpline
を試しました。それは私が探しているものです。問題は、補間がすべてのデータポイントに接触しないことです。私はすべてのデータポイントを通過する滑らかな曲線を生成する何かを探しています。
Edit2:おそらくInterpolatedUnivariateSpline
は私が探していたものです。
interp1dの内容は不明ですが、過去に〜1MポイントのセットでInterpolatedUnivariateSplineを使用しました。 – DSM