scipy でノイズの多いデータの近似を作成しようとしていますが、この特定の関数では機能しないようです。平滑化係数「s」を適用しても何も変わりません。近似ではなく補間で終わります。奇妙なことに、通常は同じタイプの関数 (x^-2) を近似します。どのように変更できますか?
import numpy as np
import matplotlib.pyplot as plt
from scipy.interpolate import UnivariateSpline as unis
h = 11
data = {'d':12, 'f':0.22, 'h':11, 'G':250}
HA = np.linspace(data['d']*data['f'], h, 50)
FA = (data['G'] * ((np.arcsin((data['d']*data['f'])/(2*HA)))))+np.random.normal(scale=1, size=len(HA))
app = unis(HA, FA, s=2)
HA2 = np.linspace(np.min(HA), np.max(HA), 1000)
plt.plot(HA, FA, 'ro')
plt.plot(HA2, app(HA2))