No.1
- 回答日時:
間違っているかもしれないので、参考意見として
中心座標の計算はn個の座標を足してnで割れば、中心が出ますね。
XY, XZ, YZ方向の傾きはXYの場合、X座標とY座標だけ用いて
最小二乗法で傾きが出ますね。他のXZ, YZでも同様に。
ただ、この傾きが実際どういうことに使えるのか不明です。
多くの点があり、その平均的な所を通る平面を求めたいのでは
ないでしょうか?
その場合はXY方向でなく、「XY軸上での傾き」などになるのでしょうね。
平均的な所を通る平面ですが、互いに垂直なベクトルが求まれば、
平面が定義できそうですが、それをどう求めるのか、ちょっと
分かっていません。
中心を求めた後に、中心の点から各座標へのベクトルを足し合わせる
といった感じでできそうな気がしますが。
popiahさん,ありがとうございます.
popiahさんが仰るとおり,多くの点があって,それらの点の平均的な所を通る平面を求めたいのです.
最小二乗法で,平均的な所を通る平面を求める計算式などはやはりないのでしょうか?
No.2
- 回答日時:
検索して下記の文章を見つけました。
http://www.aichi-inst.jp/html/reports/repo2001/R …
この部分の2.1の部分で、最小二乗平面(Z=Ax + By + C)を求める
方法が記載されています。(4)式を解いてA,B,Cを求めるようです。
No.3
- 回答日時:
考え方としてはANo.2の参考URLにあるとおりですが大変面倒な計算になります。
うまく収束するかどうか分かりませんが、Excelのソルバーを使って、残差2乗和が最小となるような、5個の未知パラメータを求めるのはどうでしょうか。
結果だけ書きますが、n個のデータ点と平面との距離の2乗の和 S が最小となるような次式の a, b, x0, y0, z0 を求めれば、平面が決定されます。
S = Σ [ i = 1, 2, ... n ] [ a*( xi - x0 ) + b*( yi - y0 ) + √{ 1 - ( a^2 + b^2 ) } *( zi - z0 ) ]^2
( xi, yi, zi ) はn個のデータ点(i = 1,2,.. n )です。a、b は平面の法線ベクトル(平面に垂直なベクトル)のx成分とy成分です。( x0, y0 , z0 ) この平面が通る点の座標です。法線ベクトルのz成分がないのは、a^2 + b^2 + c^2 = 1 と規格化したので、c = √{ 1 - ( a^2 + b^2 ) } と自動的に決まるからです。なぜこのような式になるかについては【詳細】に書きました。
未知パラメータ a, b, x0, y0, z0 のうち、x0, y0, z0 は、ANo.1さんのコメントにある「中心座標の計算はn個の座標を足してnで割れば」というのは、常に成り立つかどうか分かりません。ただ、初期値として、x0 = Σ(xi)、y0 = Σ(yi)、z0 = Σ(zi) とするのは良いと思います(Excelのソルバーは初期値の選択を誤ると収束しないので、もっともらしい値を初期値とすれば収束しやすくなります)。
【詳細】
法線ベクトル(平面に垂直なベクトル)が (a,b,c) で、点(x0,y0,z0) を通る平面の方程式は次式で表されます。
a*( x - x0 )+b*( y - y0 )+c*( z - z0 ) = 0 --- (1)
一方、n 個の点 ( xi, yi, zi ) [ i = 1, 2, ... n ] と平面との距離を Li [ i = 1, 2, ... n ] とすれば
Li^2 = {a*( xi - x0 ) + b*( yi - y0 ) + c*( zi - z0 ) }^2 / ( a^2 + b^2 + c^2 ) ---- (2)
となります。したがって、n個の点と平面(1)との距離の2乗の総和を S とすれば、
S = Σ [ i = 1, 2, ... n ] ( Li^2 ) = Σ [ i = 1, 2, ... n ] [ {a*( xi - x0 ) + b*( yi - y0 ) + c*( zi - z0 ) }^2 / ( a^2 + b^2 + c^2 ) ] --- (3)
となります。これが最小 となるような、a, b, c, x0, y0, z0 を求めるというのが最終目的です。
S が最小 であるとき、∂S/∂a = ∂S/∂b = ∂S/∂c = ∂S/∂x0 = ∂S/∂y0 = ∂S/∂z0 = 0 が成り立ちます。Sを偏微分すると、次の式が得られます(和の範囲はいつも [ i = 1, 2, ... n ] なので省略します)。
a*( b^2+c^2 )*Σ( xi - x0 )^2 + b*Σ( xi - x0 )*( yi - y0 ) + c*Σ( zi - z0 )*( xi - x0 ) = 0 --- (4)
b*( c^2+a^2 )*Σ( yi - y0 )^2 + a*Σ( xi - x0 )*( yi - y0 ) + c*Σ( yi - y0 )*( zi - z0 ) = 0 --- (5)
c*( a^2+b^2 )*Σ( zi - z0 )^2 + b*Σ( yi - y0 )*( zi - z0 ) + a*Σ( zi - z0 )*( xi - x0 ) = 0 --- (6)
a*Σ( xi - x0 ) + b*Σ( xi - x0 ) + c*Σ( zi - z0 ) = 0 --- (7)
()などを展開などして、この計算を続ければANo.2の参考URLにある式(4)に行く着くでしょうが、大変複雑な結果となります。
手っ取り早くには、式(3)の S が最小になるような、a, b, c, x0, y0, z0 を求めればいいわけです。
未知パラメータは6個あるように思えますが、実は5個です。a,b,c は比が分かればいいので、 a^2 + b^2 + c^2 = 1 と規格化してしまいます(とすれば |a|≦1、 |b|≦1、 |c|≦1 です)。すると、c^2 = 1 - ( a^2 + b^2 ) ≧ 0 ですから、a,bが決まれば c が決まりますので、c は求めなくていいのです。c の符号は±の2通りありますが、法線ベクトルというのは 、平面の表と裏を区別しないなら、(a,b,c) も (-a,-b,-c) も同じことですから、cの符号は+か-かどちらに決めてしまえばいいのです。したがって c > 0 とすることにすれば、c = √{ 1 - ( a^2 + b^2 ) } です。すると式(3)は
S = Σ [ i = 1, 2, ... n ] [ a*( xi - x0 ) + b*( yi - y0 ) + √{ 1 - ( a^2 + b^2 ) } *( zi - z0 ) ]^2 ---- (2')
となります。
なお、ANo1さんの「中心座標の計算はn個の座標を足してnで割れば」というのは、式(7)で、Σ( xi - x0 ) =0、 Σ( xi - x0 ) = 0
Σ( zi - z0 ) = 0 としてx0, y0, z0 を求めるものですが、Σ() <> 0でも式(7)が成り立つ場合もあるかと思います。
No.4ベストアンサー
- 回答日時:
質問者さんが誤差をどの方向に考えているかで変わってくると思います。
全ての点の平面からの距離の二乗和の最小を考えるなら皆さんが回答されている通りだと思います。
ただ、単純な最小2乗法は全ての点から直線までの距離が最小になるよう定めているわけ
ではありません。y方向に誤差を考えていて、その2乗和が最小になるy=a+bxのa,bを
求めています。回帰の説明などを見れば明らかですね。点から直線に伸ばす矢印(誤差の量)は
y軸に平行に書かれています。
http://szksrv.isc.chubu.ac.jp/lms/lms1.html
直線までの距離なら直線に対して垂直に書かなければなりません。
その場合はこの質問同様、もう少し複雑な式になります。
これと同じに考えるなら(つまりz軸方向への誤差の最小を考える)単純な重回帰に
なります。n個のデータ(xi,yi,zi)を使ってz=ax+by+cに回帰するには
aΣxi^2+bΣxiyi+cΣxi=Σxizi
aΣxiyi+bΣyi^2+cΣyi=Σyizi
aΣxi+bΣyi+cn=Σzi
の連立方程式を解いてください。なお、ここで例えばΣxi^2は
Σxi^2=x1^2+x2^2+x3^2+・・・・・+xn^2
でデータが得られているなら定数です。
age_momoさん,ありがとうございます.
n個のデータ(xi,yi,zi)を使ってz=ax+by+cに回帰させるとき,
> aΣxi^2+bΣxiyi+cΣxi=Σxizi
> aΣxiyi+bΣyi^2+cΣyi=Σyizi
> aΣxi+bΣyi+cn=Σzi
この3つの式を行列式に置き換えて計算したいのですが,
計算式は,
| Σxi^2 Σxiyi Σxi || a | | Σxizi |
| Σxiyi Σyi^2 Σyi || b |=| Σyizi |
| Σxi Σyi n || c | | Σzi |
で大丈夫でしょうか?
No.5
- 回答日時:
ANo.3です。
実は私も仕事で同じような計算をしたことがあります。具体的に言うと、数cm角の平面板が弾性体で支えられている試作品がいっぱいあって、その平面の傾斜分布を定量化するために、平面上の4点以上の点の高さをレーザ変位計で測定し、age_momoさんの連立方程式を解いて、最小2乗平面をそれぞれの試作品について求めました。
最終的には、法線ベクトルを方位角と天頂角の2変数に変換して、極座標グラフで分布(バラツキ)を表示させ、傾向の分析を行いましました。測定した平面は、傾斜しているといっても、そのバラツキは小さく、xyz 座標でいえば、法線ベクトルが z 軸から数度以内だったので、「測定点と平面のz座標の差の2乗」が最小となるようにして平面を決めていました(平面の法線ベクトルとz軸との角度が小さい場合は |z座標の差| ≒ 点と平面の距離 と考えていいので)。
しかし、求めたい平面がz軸にほぼ平行である場合を含め、向きが全く分からない場合は、点と平面の距離の2乗を最小とする方法が良いのではと判断して、ANo.3ではその方法を紹介しました。私は回帰分析の専門家ではないので数学的にどれが最良かというのはお答えできませんが、ある程度、平面の向きがわかっている場合には、計算が比較的簡単なので、age_momoさんの方法でも良いかと思います。
No.6
- 回答日時:
>この3つの式を行列式に置き換えて計算したいのですが,
>計算式は,
>| Σxi^2 Σxiyi Σxi || a | | Σxizi |
>| Σxiyi Σyi^2 Σyi || b |=| Σyizi |
>| Σxi Σyi n || c | | Σzi |
>で大丈夫でしょうか?
行列式というか行列そのもので
A=
| Σxi^2 Σxiyi Σxi |
| Σxiyi Σyi^2 Σyi |
| Σxi Σyi n |
の逆行列A^(-1)を計算して
A^(-1)| Σxizi |
| Σyizi |
| Σzi |
を計算すればいいです。
この回答への補足
>A=
>| Σxi^2 Σxiyi Σxi |
>| Σxiyi Σyi^2 Σyi |
>| Σxi Σyi n |
>の逆行列A^(-1)を計算して
>A^(-1)| Σxizi |
>| Σyizi |
>| Σzi |
これらの式はクラーメルの公式だと思うのですが,
求まったa,b,cの値はそのまま中心座標になりますか?
試しに自分で考えた測定点で,エクセルを使って計算しているのですが答えが求まりません.
10 10 10
20 10 10
10 10 20
20 10 20
お時間がありましたら,教えてください.
返事が遅くなってしまい申し訳ありません.
質問の趣旨がおかしくなってしまい,本来聞きたかったことが聞けませんでした.
聞きたかったことは,
aΣxi^2+bΣxiyi+cΣxi=Σxizi
aΣxiyi+bΣyi^2+cΣyi=Σyizi
aΣxi+bΣyi+cn=Σzi
↑の式から平面の中心座標(a,b,c)を求めるには,↑の式を行列に置き換えて,クラーメルの公式を使って求める方法でも(a,b,c)がでるかどうかとういことです.
本当に時間がかかってしまい,申し訳ありません.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
近似式(z=ax+by+c)を取得したい
その他(コンピューター・テクノロジー)
-
3次元での点群に対する最小二乗法での平面の算出について(点と平面の距離
数学
-
XYZ平面の近似式についてご教示ください
数学
-
-
4
仮想平面の計算
数学
-
5
Excelで平坦度
その他(Microsoft Office)
-
6
平面方程式の傾きについて
数学
-
7
任意の面内にある点の座標から面の傾きを求める方法を教えて下さい。
数学
-
8
2変数関数の近似曲線
数学
-
9
最小二乗平面
C言語・C++・C#
-
10
三次元の座標の回転をExcelで計算したい。回転行列?
Excel(エクセル)
-
11
Excelで座標から関数をつくることはできますか?
Excel(エクセル)
-
12
点と仮想平面の距離(例題)
数学
-
13
Excelでエラー(#N/Aなど)値を含む範囲で最大値や最小値をもとめ
その他(Microsoft Office)
-
14
EXCELで2つの数値のうち大きい方を採択する数式
Excel(エクセル)
-
15
円の方程式を最小二乗法で求める
数学
-
16
半角のφ
英語
-
17
平面度
数学
-
18
3次元の近似直線
数学
-
19
「nominal寸法」
英語
-
20
分岐や距離によって流体の圧力は変わりますか?
物理学
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報