1

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 関数と一致しません。

4

1 に答える 1