x で測定されたエラー y_err のあるデータ y があります。matlab のコード、特に堅牢な「オン」の fit メソッドを模倣し、重みを 1/yerr として与えて、これに直線を合わせる必要があります。matlab のドキュメントには、バイスクエア法 (TukeyBiweight 法とも呼ばれます) を使用すると書かれています。これまでの私のコードは..
rlm_model = sm.RLM(y, x, M=sm.robust.norms.TukeyBiweight())
rlm_results = rlm_model.fit()
print rlm_results.params
ただし、yerr から派生した重みを含める方法を見つける必要があります。人々が助けてくれることを願っています.statsmodelモジュールを使用しようとしたのはこれが初めてです.
最初の答えに応えて:私は試しました。
y=y*(yerr)
x=x*(yerr)
x=sm.add_constant(x, prepend=False)
rlm_model = sm.RLM(y, x, M=sm.robust.norms.TukeyBiweight())
results=rlm_model.fit()
残念ながら、これは matlab 関数と一致しません。