6

2D データのカーブ フィッティングの問題はよく知られていますが (LOWESS など)、3D データ ポイントのセットが与えられた場合、このデータに 3D カーブ (スムージング/回帰スプラインなど) をどのように当てはめることができますか?

詳細: 既知の関係を持たないベクトル X、Y、Z によって提供されるデータに適合する曲線を見つけようとしています。基本的に、3D ポイント クラウドがあり、3D トレンドラインを見つける必要があります。

詳細: 曖昧で申し訳ありません。私はいくつかのアプローチを試しました (まだ線形フィットを変更しようとはしていません) が、ランダム NN が最もうまくいくようです。つまり、ポイント クラウドからポイントをランダムに選択し、(任意の球内で) その近傍の重心を見つけ、反復します。重心をつないで滑らかなスプラインを形成することは困難ですが、得られた重心は問題ありません。

問題を明確にするために、データは時系列ではなく、点群を最もよく表す滑らかなスプラインを探しています。つまり、この 3D スプラインを任意の 2 つの変数によって形成される平面に投影すると、投影されたスプライン ( 2D に) は、投影された点群を (2D に) 滑らかにフィットさせます。

IMG: 画像を追加しました。赤い点は、前述の方法から得られた重心を表します。

3D ポイント クラウドとローカル重心 http://img510.imageshack.us/img510/2495/40670529.jpg

4

5 に答える 5

2

関連する質問は次のとおりです。

シンプルな多次元カーブ フィッティング

一般に、このような問題は統計学習の観点から見ることができます。つまり、特定の方法でパラメーター化された基底関数 (スプラインなど) のセットがあり、最小二乗法またはその他の回帰手法を使用して最適な係数を見つけます。私はたまたま統計学習の要素が好きです

于 2009-02-25T23:56:33.540 に答える
1

It depends on what you mean by that. If you have a set of points f(x,y) -> z and you want to find a function that hits them all you could just do a spline.

If you have a known function and you want to adjust the parameters to minimize the RMS error, just consider x,y a composite object p (e.g., as if it were a complex or a 2-vector) and use an analog of the 2d case on f(p) -> z.

If you can be more specific about what you're trying to accomplish, I can be more specific with suggestions.

-- MarkusQ

So given the edited problem statement, I'd suggest the following:

  • If it's a time series (implied by your use of the term "trendline") I'd look at treating it as three parametric functions (x(t), y(t), z(t)) and doing 2d fitting on each of them.
  • Alternatively (but still assuming an ordered series), you may want to find a linear fit (a line through the heart of the cloud) and then add to that some sort of (probably polar) function based on the perpendicular projection from the points to the line.
  • If it isn't a time series (implied by the phrases "no known relation" and "point cloud") you have to define what "curve" you want to fit to them. Do you want a line? A surface / manifold? Do you want it to be a function of one or two of the variables, or independent of them (say, the convex hull). Does it have to be smooth, limited in degree, or...?

Really, the question is still too open ended.

于 2009-02-25T23:53:13.143 に答える
1

GAM http://www-stat.stanford.edu/software/gam/index.htmlのように、加算 (単一インデックス モデル) を試すことができ ます。

それは貪欲なアプローチであり、非常にスケーラブルで、いくつかの R パッケージにうまく実装されています

于 2009-06-24T21:23:53.797 に答える
0

Spacefilling Curve Heuristic を使用してみます。たとえば、空間充填曲線が通過する順序でポイントを並べ替えます。問題の解決策の 1 つは、その順序で取得された点を通るスプライン曲線です。より短く滑らかな曲線を得る (ただし、点から曲線までの RMS 距離を大きくする) には、スプラインが k 番目の点ごとに通過するように強制できます。すべての k 番目のポイントを選択した後、それらを通る短いハミルトニアン パスを探した場合、曲線を改善できます (巡回セールスマン問題と同様ですが、開いたパスの場合)。スプライン ノットを調整して RMS 距離を減らすこともできます。RMS 距離を計算するときは、空間充填曲線の順序を使用して、スプラインのどの部分が特定の点に最も近いかを示します。

于 2011-02-25T16:36:06.567 に答える
0

Charles Fefferman (はい - フィールズのメダリスト) と Boaz Klartag による新しい非常に素晴らしい作品があります。

どちらも Klartag の出版物ページで pdf ファイルとして見つけることができます。

于 2009-04-07T15:28:49.047 に答える