前提・実現したいこと
pythonの重み付き最小二乗法(WLS)を用いて、パラメータの推定を行いたいと思っています。
●観測データ
x = np.array([6, 8, 8.6, 8.7, 11.6, 12.3, 14, 15, 21, 23, 26, 26.4, 26.3, 23.1, 19, 17, 14.5, 13.5, 10, 9, 9.7]) y = np.array([3.7, 3.3, 3.2, 2.8, 2.2, 2.24, 1.8, 1.83, 1.5, 1.36, 1.21, 1.52, 1.3, 1.34, 1.61, 1.41, 1.8, 1.88, 2.11, 2.36, 2.4])
●フィッティングしたい式
y=((-(a+(0.07*x))) + ((a+((0.07*x)**2)) - (4*0.07*math.log(0.1)))**0.5) / (2*0.07)
推定したいパラメータ→「a」
●問題
・初心者すぎてpythonを使いこなせていない
→いくつかサイトを見ると乱数で観測データを生成しているものがほとんどで、観測データ自体を扱っているものが皆無。そのため、手元のデータをどう扱っていいのか分からない。
・WLSの説明のほとんどが直線回帰
→直線近似でWLSを用いているサイトは見つけたのですが、それをどう非線形に応用すればいいのか全く分かりませんでした。
●主に参考にしているサイト
・https://scipython.com/book/chapter-8-scipy/examples/weighted-and-non-weighted-least-squares-fitting/
・https://medium.com/micin-developers/decipher-github-lr-sw-40e519a13c0a
サイトにあるサンプルは、今のところなんとなく理解できているので、それを変形していただけると、涙が流れるほど嬉しいです。
是非、先生方のお力添えを頂ければと存じます。
何卒宜しくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/18 04:04
2020/11/18 23:17
2020/11/21 06:31
2020/11/21 10:39
2020/11/21 11:43
2020/11/21 12:17
2020/11/22 04:39 編集
2020/11/22 04:58
2020/11/22 05:59 編集