0

線形関数を当てはめたこのデータがあり、その当てはめによって他の作業が決まります (気にしないで、重要ではありません)。私は を使用してnumpy.polyfitいます。データと適合度だけを含めると、他には何もありません。次のプロットが生成されます。

ここに画像の説明を入力

さて、適合は問題ありませんが、一般的なコンセンサスは、最適適合の線がその上の赤いデータ ポイントによって歪められているということです。実際には、そのすぐ下のデータに適合する必要があります。青い点の塊)。そこで、 への呼び出しに重み付けを追加しようとしましたがpolyfit、1/sqrt(y-values) の任意の重み付けを選択したため、基本的に小さい y 値がより有利に重み付けされます。これにより、以下が得られました。

ここに画像の説明を入力

どちらの方が確かに優れていますが、まだ満足していません。ラインがすぎるように見えるからです。私は理想的には中間点が欲しいのですが、実際に任意の重み付けを選択したので、一般的に Python を使用してより堅牢な適合を実行する方法があるかどうか、またはこれを使用して実行できるかどうか疑問に思っていましたpolyfit。動作する場合は別のパッケージを使用しても問題ありません。

4

2 に答える 2

0

この質問は、プログラミングや python とはあまり関係がなく、統計や線形代数とは関係ありません。

ベスト フィット ラインまたはベスト フィット 2 次曲線の誤差が少ない方の誤差の違いを確認してみてください。しかし、その多くはコンテキストに関連しています。

500 個のデータ ポイントがある場合、500 次の多項式を見つけて、データセットをゼロ エラーでモデル化できます。ただし、データ ポイントに重みを付ける場合は、データにとって意味のあるものにする必要があります。

最適なラインを「正しく見える」ようにしたい場合は、前戯をカットして、必要な場所に引きます。意味を成したい場合は、数学者に意味のある式を求めて、それに従ってください。

于 2016-03-07T04:15:33.427 に答える
0

statsmodels には、このような場合にうまく機能するさまざまな重み関数を備えた堅牢な線形推定器 RLM があります。

http://www.statsmodels.org/dev/generated/statsmodels.robust.robust_linear_model.RLM.html http://www.statsmodels.org/dev/examples/index.html#robust

これらは、"y 外れ値" に対してロバストな M 推定量ですが、影響力のある外れ値リグレッサーである "x 外れ値" に対してはロバストではありません。

于 2016-03-07T04:54:30.113 に答える