• 締切済み

XYZ平面の近似式についてご教示ください

すみませんがお助けください。 任意の3次元座標(Xi,Yi,Zi)がn個あるとします。 Xi>0,Yi>0,Ziは正負混合です。 上記n個の座標から近似平面式Z=aX+bY+cを構成する乗数a,b,cを求めたいのですが下記理由により最小二乗法は使えません。 最小二乗法の場合は D=Σ(Zi-aXi-bYi-c)^2が最小になるa,b,cを求めることになりますが、今回求めたいa,b,cは、 各座標のdi=(Zi-aXi-bYi-c)、すなわちn個のdiについて『diの最大値-diの最小値』が最も小さくなる場合のa,b,cです。 なお『diの最大値-diの最小値』についての補足ですが diの最大値=5,diの最小値=2の場合 『diの最大値-diの最小値』は5-2=3となり、 diの最大値=5,diの最小値=-2の場合 『diの最大値-diの最小値』は5-(-2)=7となります お手数かけて恐縮ですが宜しくお願い申し上げます。

みんなの回答

回答No.2

>ここの再度「ツール→ソルバー~」の操作を不要にして、Xi、Yi、Zi の一部数値を変更すると、即a,b,cの数値が変更される方法はありますでしょうか? これはわかりません。マクロとかVBAとかで出来るのかどうか??ですが、エクセルに詳しい方の回答に期待するか、あるいは再度ここで質問されてみたらいかがでしょうか? プログラムを組めばエクセルソルバーのような手作業は省けますが、この問題は最小自乗法ではないのでニュートン法などが使えず結構難しそうです。多少時間がかかっても問題なければ乱数を使ったモンテカルロ法か遺伝的アルゴリズムのような手法が使えるかもしれませんが。。。

k-right
質問者

お礼

最初のご回答が期待以上の内容で、大いに業務効率UPにつながりました。ここから先は自分で色々とやってみることにします。 本当にありがとうございました。

回答No.1

エクセルのソルバーを使えば下記の手順で a、b、c が求まります。 以下は EXCEL2002の場合で、データ数は n = 20 とします。 1)B~D 列にデータ Xi、Yi、Zi を入力する。 (第1行は xi 等のラベルを入れ、データは第2行から第23行まで) 2)K2~K4 に可変パラメータ a、b、c の初期値(例えばゼロ)を入れる。 3)E2 に =D2-$K$2*B2-$K$3*C2-$K$4 を入れて、E3~E23 にそれをコピーする。    4)G2 に =MAX(E2:E23) と入力する。 5)G3 に =MIN(E2:E23) と入力する。 6)G4 に =G2-G3 と入力する。 7)G4 を選択した状態でツール→ソルバーをクリックする。 (ここでソルバーのウインドウが開き、目的セルが $G$4 となっている。) 8)ソルバーウインドウの目標値を◎最小値に選ぶ。 9)ソルバーウインドウの変化させるセルを選択した後にワークシートのK2~K4を選択する。 10)ソルバーウインドウの実行ボタンをクリックする。 11)最適解が見つかったら◎解を記入するを選択してOKボタンをクリックする。 12)上記の結果 K2~k4 に解 a、b、c が得られる。 蛇足ながらツールの中にソルバーが見当たらない時はアドインする必要があります。 またこの問題では問題ないようですが最適解に収束しない場合は K2~K4 の初期値を変えます。

k-right
質問者

お礼

ありがとうございました。おかげさまで解決しました。 ところで一旦「ツール→ソルバー~」の操作をしてa、b、cを求めた後に、Xi、Yi、Zi の一部数値を変更した場合は再度「ツール→ソルバー~」の操作をしてa,b,cを求めることになりますが、ここの再度「ツール→ソルバー~」の操作を不要にして、Xi、Yi、Zi の一部数値を変更すると、即a,b,cの数値が変更される方法はありますでしょうか?もしあればご教示いただきたく存じます。

関連するQ&A

  • 最小二乗平面

    ある複数の空間座標(x1,y1,z1)~(xn,yn,zn)(nは3以上)から、平面近似式である最小二乗平面の方程式を求める関数を作ろうと考えています。 平面方程式はz=ax+by+c(a,b,cが定数)であらわされ、引数を座標と座標個数n、戻り値をa,b,cにします。 ここ(http://oshiete1.goo.ne.jp/qa2802443.html)を参考に 最小二乗平面の連立方程式を解くコードを書いたのですが、 どうも答えが合いません。どなたかご教授願えないでしょうか? 開発環境はC++Builder2007です。 ↓の数式をコードにしましたが、コードが間違っているのか、 数式自体がダメなのかさっぱりわかりません。 //与えられるn個の3次元座標(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 Σxiyi Σxi | |a| = |Σxizi| // |Σxiyi Σyi^2 Σyi | |b| = |Σyizi| // |Σxi Σyi n | |c| = |Σzi | //ここで // |Σxi^2 Σxiyi Σxi | // A = |Σxiyi Σyi^2 Σyi | // |Σxi Σyi n | // // |Σxizi| // B = |Σyizi| // |Σzi | // // |a| // C = |b| // |c| // //とすると // // C = B・A^-1 // //で求めることができる

  • 最小二乗法において

    y=ax^2+bx=c とおいたとき、最小自乗法から a,b,cの値を求めるには?という問題で、 S=Σ(yi-(axi^2 + bxi + c))^2 とおき、 ∂S/∂a=-2Σxi^2(yi-(axi^2 + bxi + c)) ∂S/∂b=-2Σxi(yi-(axi^2 + bxi + c)) ∂S/∂c=-2Σ(yi-(axi^2 + bxi + c)) となり、 aΣxi^4 + bΣxi^3 + cΣxi^2 = Σxi^2yi aΣxi^3 + bΣxi^2 + cΣxi = Σxiyi aΣxi^2 + bΣxi + cΣ = Σyi というとこまでは出来たのですが、ここから先と誤差の求め方がわかりません。 初心者なので出来ればわかりやすく教えて下さい。

  • 重回帰理論

    3次元空間のn個の点、(xi,yi,zi)i=1~n, の最小二乗近似平面を決定する理論を、大学1年生レベルで読みこなせる日本語の書物を教えて下さい。簡単に、プログラミングしたいので懇切丁寧に書かれたものが希望です。

  • スキャンした画像から円の方程式を求めたい

    円(の一部)をスキャンしたものからレタッチソフトなどで円周上の点の座標(Xi,Yi)を求め、 そこから円の中心(a,b)や半径rを求めたいのですが、 当然のことながらスキャン時等に誤差が生じるため3点に限らず多くの点の座標から 最小二乗法などで求めるようにしたいと思っています。 しかしながらΣ{(Xi-a)^2+(Yi-b)^2-r^2}^2が最小になるように式の導出を行おうとすると、 ab,ar,br等の交差項が現れ私の計算力では求めることができません。 うまく行う方法、または代わりの方法はないものでしょうか。

  • 最小二乗法の分散の求め方

    http://oshiete1.goo.ne.jp/qa3077638.htmlに関連しての質問です。 例えば、y=Xβ+εに関して最小二乗解を求めると b = [ nΣ(xi yi) - (Σxi) (Σyi)]/[ nΣ(xi^2) - (Σxi)^2 ] となります。ここから分散を求めるためにはどうすればよいのでしょうか?教科書を引っ張ってみると求め方の行列の式しか書いていなくいまいちピンときません(確かに計算すれば正しい結果を得られるようですが)。具体的にこの式だけを使って分散を求めるということはできないのですか?

  • 計量経済の問題

    計量経済の問題です 解いてほしいのではなくどの程度の問題かを知りたいです。 大学院の入試問題です。 どの山本拓さんのテキストのレベルよりかなり上でしょうか I 単純回帰モデル Yi=Bo+BiXi+Ui (i=1・・・n)・・・・(a) を考える。ただし撹乱項Ui は互いに独立であり、すべてのiについて E(Ui|Xi)=0, Var(Ui|Xi)=σ2乗 が成立するものと仮定する。このとき、次の問題に答えよ。 I-A 1. B1の最小2乗推定量Bハット1の分散を求めよ・ 2.Bハット1を標準化した、 Bハット1-E(Bハット1)/√Var(B1)〔VarからB1までがルートにはいっています。〕 はどのような分布に従うものか。理由とともに答えなさい。また条件が必要であればその条件についても言及しなさい。 I―B  i=n+1のときも(a)式の関係および撹乱項に関する仮定が成り立つものとする。Xn+1が与えられるとき、(Xi,Yi)(i=1.・・・n)のデータによって求めた(a)式の Bi(i=0,1)の最小2乗推定量Bハットiを用いてYn+1の予測を行いたい。 3 Yn+1の予測量Yハットn+1=E(Yn+1|Xn+1,Xn,・・・X1.Yn・・・Y1)を求めなさい 4.Yハットn+1の平均二乗誤差を求めなさい。また、平均2乗誤差がもっとも小さくなるのは、Xn+1がどのような値のときであるか。 II  線形回帰モデル  Yi=Bo+Bixi+B2Zi+Ui を考える。ただし、撹乱項Uiは互いに独立であり、すべてのiについて E(Ui|xi,zi)=0 Var(Ui|Xi,Zi)=σ2乗が成り立つものと仮定する。このとき次の問題を答えなさい。 (1) B1=2B2という制約をつけて、この線形回帰モデルの最小2乗推定を行いたい。損失関係の制約最小化から、B1、B2の最小2乗推定量Bハット1、Bハット2を導出しなさい。 (2) 帰無仮説をB1=2B2、対立仮説をB1≠2B2として仮説検定を行う。検定等軽量を構成し、帰無仮説の元でそれがどのような分布に従うかを答えなさ

  • 最小自乗法の勾配を推定する式

    原点を通る直線の最小自乗法において、 勾配aを推定する式を導出して下さい。 ここで、  yi=axi+εi (i=1~n) とします。

  • 【-1≦相関係数r≦+1】の証明について

    【-1≦相関係数r≦+1】の証明を シュヴァルツの不等式を使わずに行なったのですが ☆の部分について、教えて頂きたいと思っております。 よろしくお願いいたします。 xiとyiについて zi=(xi-xbar)/Sx(・・・・・・xbar:xの平均値、Sx:標準偏差) wi=(yi-ybar)/Sy(・・・・・・ybar:yの平均値、Sy:標準偏差) とするとき r=(1/n)Σziwiであるので 【証明】 (1/n)Σ(zi±wi)^2=(1/n)Σ(zi^2±2ziwi+wi^2)(・・・^2=二乗) =(1/n)Σzi^2±(1/n)Σ2ziwi+(1/n)Σwi^2 ☆=1±2r+1☆ =2(1±r) 左辺は二乗なので常にプラスである。 1±r≧0よって -1≦r≦+1 と言うところまで色々あって分かったような気がします。 そこで質問なのですが ☆のところで (1/n)Σzi^2と(1/n)Σwi^2が 1に変化するのはナゼですか。 ziとwiの分散については標準化した値であることから 両方とも「1」であるのは分かるのですが (1/n)Σzi^2と(1/n)Σwi^2が分散の式とどうしてイコールなのか わかりません。 よろしくお願いいたします。

  • 基本情報技術者試験の過去問で平成16年度春期 問10が分かりません。問

    基本情報技術者試験の過去問で平成16年度春期 問10が分かりません。問題は「2種類の文字‘A’、‘B’を1個以上、最大n個並べた符号を作る。60通りの符号を作るときのnの最小値は幾らか。」です。解説としては「文字A、Bをn個並べたとき、表せる符号の数は、2のn乗とおりとなる。従って、60通りの符号を表すnの最小値は、 2の1乗+2の2乗+2の3乗+2の4乗+2の5乗=62 より、5であることがわかる。」となっています。 「文字A、Bをn個並べたとき、表せる符号の数は、2のn乗とおりとなる」のであれば、2の6乗=64なので6ではないかと考えたのですが、なぜ「2の1乗+2の2乗+2の3乗+2の4乗+2の5乗=62 より、5であることがわかる。」となるのでしょうか? 本当に無知で恥ずかしいのですが、誰か分かりやすく教えていただけないでしょうか?

  • 近似曲線の式

    y(x+a)=b+c(x+a) この式の係数a,b,cを最小二乗法で求める式を導き出しなさい。 という問題が出て、解いてみたのですが合っているのか自信がありません。 解き方のわかる方、回答をのせてください。