はじめに
SciPyの中のinterpolateモジュールに含まれるinterp1d関数は、離散的なデータポイント間を補間するための強力なツールです。実験データや観測値など、限られたデータポイントしか得られない場合に、連続的な関数として近似するのに役立ちます。
コード

解説
モジュールのインポート
データの生成
np.linspace()を使用して0から20までを21等分した配列を生成します。また、np.random.rand()を使用して0から1の範囲のランダムな値を持つ、21個の要素からなる配列を生成します。
補間するための関数の生成
interp1d(x, y)のように使用します。補間の種類を指定しない場合は、デフォルトでlinearとなり線形補間が適用されます。kind=cubicと指定した場合は、3次スプラインによる補間が行われます。
補間データの生成
補間を行うためには、x_intの間隔をxよりも細かく設定する必要があります。f1(x_int)を実行することで、x_intの各点における補間値を取得できます。
図の表示
プロットの各要素にzorderパラメータを設定することで、重なり具合を調整できます。zorderの値が大きいほど、そのプロット要素は前面に表示されます。
コードをダウンロード(.pyファイル) コードをダウンロード(.ipynbファイル)まとめ
SciPyのinterp1d関数は、1次元データの補間に非常に便利なツールです。データの特性に応じて適切な補間方法を選択することで、より正確な推定が可能になります。特に、以下の点に注意して使用すると効果的です:
- 滑らかな曲線が必要な場合は高次のスプライン補間を使用する
- ノイズの多いデータでは、過剰適合を避けるために単純な補間方法が適していることがある
- 外挿(データ範囲外の推定)は慎重に行う必要がある
関連記事
ipywidgetsにより対話的に補間の調整をする方法

[ipywidgets] 2. interactで補間データの間隔を調整
jupyter notebookでは対話的にパラメータを調整できる機能(ipywidgets)がある。ここでは、その機能の一つであるinteractを使って、Scipyのinterpolate interp1dによる補間でのデータ間隔を調整する方法について説明する。

[ipywidgets] 3. RadioButtonsで任意の補間方法を選択する
jupyter notebookでは対話的にパラメータを調整できる機能(ipywidgets)がある。ここでは、その機能の一つであるRadioButtonsを使って、Scipyのinterpolate interp1dの補間方法を選択する方法について説明する。
2次元データの補間にはinterp2d

[SciPy] 11. interp2d関数を用いた2次元データの補間方法
SciPyのinterpolateモジュールにあるinterp2d関数を使用した2次元データの補間方法について解説します。不規則な格子点データから任意の点の値を推定する方法や実装例を紹介し、2次元補間の基本を学べます。
参考
https://docs.scipy.org/doc/scipy/reference/tutorial/interpolate.html#spline-interpolation-in-1-d-object-oriented-univariatespline

matplotlibの表示順に関する設定 - Qiita
grid gridが最前面にきて、plotに覆いかぶさることがたまにあります。 この場合、axisbelow(True)でgridが最背面に移動します。 ## axの場合 ax.set_axisbelow(True) ## rcParams...
コメント