3D 点を通る線のフィッティングこんにちは、みなさん、
線を当てはめる必要がある 3D 点 (x、y、z) のリストがあります。3 つの異なるモデルをフィッティングしようとしましたが、それぞれが列のバランスを使用して以降の出力 (Y(x,z) のように) を予測しましたが、3 つの出力を使用しても線が得られません。私にできる最善の方法は、Y(z) と X(z) を使用し、最終的に予測される最適な適合値 (x,y,z) に z の値を使用することです。ただし、Z 値の予測がないのは不満です。また、z 値を予測する方法として行番号 Z(row#) を使用してみましたが、z は部品に沿った動きであり、その変動が検査ヘッドの変動に関連付けられているため、これはこの例でのみ機能する可能性があります。検査ポイント間の移動。
3 つの OLS モデル y(z)、X(z)、Z(row#) を使用する


一緒にプレイするためのデータについては添付を参照してください。アイデアがあればよろしくお願いします。
基本的なデータ分析とモデリングRe: 3D 点を通る直線のフィッティング線を 3 次元に当てはめるというアイデアを理解するのに苦労しています。独自の最適な平面はありますが、3 次元のうち 2 つの次元を指定する独自の最適な直線があるだけだと思います。これらの二変量近似を行ったようですが、何を探しているのでしょうか。また、質問が実際には一般的ではなく、投稿したようなデータに特化したものである場合、X と Y はほぼ完全に相関しているため、実際には 2 次元しかありません。これが、X 対 Z および y 対 Z の近似がほぼ同一である理由です (ただし、明らかに線形ではありません)。
Re: 3D 点を通る直線のフィッティングプロットしたい 2 つの z 変数を積み重ねて、プラットフォームのカラー機能を使用して表面と線を表示しました。

Re: 3D 点を通る直線のフィッティングdlehman1 について考えてくれてありがとう。私もこれについて考えると少し斜視になっています。私は同僚が結果を比較できるように、検査プログラムが行っていることを模倣できるように支援しようとしています。プログラムは 3D 点を通る線を当てはめ、最適な点と測定点からの距離を測定します。オンラインでいくつかの記事を読みましたが、特にピンとくるものはありませんでした(頭の中で数学の話がたくさん出てきました!)。ある記事では PCA の使用を提案していましたが、これを試して X、Y、Z 値を予測させたところ、直線は表示されませんでした。
そうですね、Y と X に相関関係があるのは興味深いですね。
考え続けますが、質問を解決するために他に必要なことがあれば、お知らせください。
スティーブ
Re: 3D 点を通る直線のフィッティングこんにちは@sampton82 、
私は一緒です@dlehman1これにより、3D の線は座標系の変換によって常に X & Y または Y & Z のような 2 つの独立した変数に分解できるため、その線を含む固有の平面が得られます。 しかし、あなたのデータは何か違うようです。 3D でラインをフィッティングするという全体的なポイントがまだわかりません。 どうしても必要な場合は、「3D」データを含む平面がちょうど XY 対角線に沿っているため、座標系を変更するだけだと思います。
あなたが共有したデータの場合、z 方向に 75 単位 (mm、um、nm?) の一定間隔で測定された何かのプロファイル測定値があるようです。 x 対 z および y 対 z プロファイルを見ると、AFM データまたは類似のものによく似ています。 そして、X と Y には非常に強い相関があるため、まるで 231 単位 (Y 単位) のステップ (Y x X の近似グラフの切片) をラスター化し、その後アイテムが再度測定されるかのようです。
私がよく理解できないことの 1 つは、あなたが使用しているこのプログラムからどのような種類の情報を取得しようとしているのかということです。3D 点を通る線を当てはめて、最適な点からの距離を測定すると述べています。そして測定点は? これは基本的に近似の残差を調べることです。つまり、データが近似からどれだけ離れているかを調べます。 残差を予測しようとしていますか? 本当に Z 値を予測しようとしているのでしょうか、それとも X と Y を予測しようとしているのでしょうか? 共有したデータに当てはめた線は、Z ではなく X と Y を予測しています。
よくわからないこともたくさんありますが、おそらくすべてを共有することはできないからだと思います。 ただし、より多くの情報を共有し、匿名性を保つことができればできるほど、お客様が求めている解決策の実現に近づく可能性があります。
お役に立てれば!、
DS
Re: 3D 点を通る直線のフィッティングいいね!そのグラフを作成するために行った手順を示していただけますか?
Re: 3D 点を通る直線のフィッティングありがとう@SDF1 !
別の工場で遠隔にいる同僚を手助けしようとしているので、すべての詳細を持っているわけではないので、それが難しいことは認めますが、データを分析しながら理解しています。私もあなたと同じ結論に達しました。X と Y は測定ヘッドの検査経路であり、Z は部品の表面プロファイルの主成分であると思われます。

ヒット間隔の分布には奇妙な点があり (Z の値が大きく異なるとともに、ヒット間隔が重なっている場合もあります)、直線をたどることができない理由もあり、MSA の問題があると思います。も対処します。
なぜ 3D 空間でデルタが必要なのかはわかりませんが、彼らからさらに詳細を聞いてみます。
対角線上にあったので、平面を回転させてから、Z(x) を使用して最終的なフィット感を見つけるつもりでした。興味深いことに、Y と X で直交回帰を使用し、分散を等しいように設定すると、予測された Y と X を出力する Y と X の最適な直線を取得できることがわかりました。したがって、これらの直交値 (OV) を回転してから、回転した X の OV と Z 値を当てはめることで、線を Z 値に当てはめることができるようになり、x、y、z の予測子が得られると思います。
経過や追加情報があればお知らせします。たくさんのご意見ありがとうございます!!
スティーブ
Re: 3D 点を通る直線のフィッティング- 「テーブル」=>「スタック」プラットフォームを使用して、予測 Z 列と異なる予測 Z 列をスタックしました。
- 3D 散布図プラットフォームをオープンしました
- X、Y、およびデータ列を Y 列として選択しました
- ラベル列をカラー列として選択しました
- 「OK」をクリックしました
Re: 3D 点を通る直線のフィッティングああ、ありがとうジム!!
Re: 3D 点を通る直線のフィッティングおい@SDF1 、 @txnelson 、 そして@dlehman1
分かったと思います!
最初のステップは、直交回帰を使用して、分散が等しいという仮定で直線を最適に近似することです。JMP では、X と Y の両方の予測値を出力できます。

次に、X または Y に対して垂直になるように線を回転する必要があります。私はXを選びます。これには、ラインとデータ ポイントを 39.06 度回転する必要があります (近似ラインの傾き 0.811473 によって決定されます)。
次に、Y by X のフィットを実行します。ここで、x は回転された予測 X 値、Y は Z 生データ値です。
次に、このモデルからの数式予測を保存すると、3D で最適な直線から x、y、z の値が予測されたことになります。

すべての値が対角線上にないようにしたい場合は、回転した pred Y および X を Pred Z 値とともに使用できます。
誰かが理解できるように、データテーブルに数式を添付しました。
また、txnelson の提案に従って、うまく機能する 2 つのデータ ソースをオーバーレイするための積み上げデータ テーブルを以下に追加し、上のグラフを作成しました。
Re: 3D 点を通る直線のフィッティングこんにちは@sampton82 、
はい、データを 3D で単一の平面 (XZ または YZ) に投影し、線にフィットさせることで座標系を回転する方法については正しいです。 これは、必要な座標平面への cos(θ) または sine(phi) 投影を考慮します。
当面の特定の問題の主題マスターではないため、非線形性の高いデータセットにラインを当てはめて残差を計算するという目的がまだよくわかりませんが、それが必要な場合は、次のとおりです。それを行う方法。
同僚の解決に向けて前進していると聞いてうれしいです。
DS
Re: 3D 点を通る直線のフィッティングやあ、スティーブ、
ここでは主成分分析が良いアプローチだと思います。 最初の主成分は、ある意味、データポイントの 3D クラウドを通る最もよく適合する線です。
最初の主成分を元の XYZ 座標系に変換するには、PCA レポートの赤い三角形から [列の保存] > [予測を成分式として保存] を選択します。 ワークフローが添付されました。
-------------------
編集して追加:
達成しようとしている内容によっては、PCA に「標準化」ではなく「スケールなし」を選択する必要がある場合があります。 ノンスケール版も添付します。
Re: 3D 点を通る直線のフィッティングありがとうジョーダン、これは素晴らしいですね!このプロジェクトを開始したとき、ウェブ上でこの方法について言及した検索があったので試してみましたが、3D 空間内の点を予測しようとしただけの 2 つのコンポーネントを保存するように要求したため、別の方法を試すことにしました。PCA をあまり使用したことがなかったので、私が何を求めているのか明らかにわかりませんでした。 指示に従って出力を 1 コンポーネントに設定すると、完璧に機能しました。
この方法は手順が大幅に少なくなります。