最小二乗法の関数を四則演算と累乗だけで表す

このQ&Aのポイント
  • 最小二乗法の関数を四則演算と累乗だけで表す方法について質問があります。
  • 測定結果から得られた行列を使用して、値を計算し、P(x)の式を完成させたいです。
  • しかし、演算子を限定する条件のもとで表すことができないと挫折しています。
回答を見る
  • ベストアンサー

最小二乗法の関数を四則演算と累乗だけで表す

(x,y)=(a,b)、(c,d)、(e,f)、(g,h)、(i,j) という測定結果が与えられていて、 http://atsugi5761455.fc2web.com/calking4/c4_020.gif の行列からa_1~a_4の値を計算し、 http://atsugi5761455.fc2web.com/calking4/c4_013.gif の式にそれらを代入しP(x)の式を完成させたいのですが、 完成したP(x)の式を「+」「-」「*」「/」「^」だけの演算子でどうにか表せないでしょうか? 途中までやってみたのですが50%くらいのところで挫折してしまいました・・・。 かなり長い式になると思います。 分かる方いらっしゃいましたら、大変恐縮ですがご回答の方よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • ur2c
  • ベストアンサー率63% (264/416)
回答No.1

a_1, a_2, a_3, a_4 をを画像で添付します。けど多分、読めないでしょう。そこで Maxima でのやり方を載せておきます。 load("eigen"); y:columnvector([b,d,f,h,j]); X:matrix([1,a,a^2,a^3],[1,c,c^2,c^3],[1,e,e^2,e^3],[1,g,g^2,g^3],[1,i,i^2,i^3]); XX:transpose(X).X; Xy:transpose(X).y; XX^(-1).Xy;

その他の回答 (2)

  • ur2c
  • ベストアンサー率63% (264/416)
回答No.3

ごめんなさい、まちがえました。 誤: XX^(-1).Xy; 正: invert(XX).Xy; Maxima と、他の言語とで混乱しました。 結果は長すぎて、4,000 文字に収まりません。

blue_notes
質問者

お礼

ご回答頂きありがとうございます! 無理難題な質問に尽力して頂いて心が痛みます・・・。 4000字には収まりませんか・・・。 ちょっと予想外ですw 私のディスプレイは1980*1080なので画面一杯びっしり英数字が埋まりそうですね。 何か別な方法を探してみます。 代替手段が見つかれば良いのですが。

  • ur2c
  • ベストアンサー率63% (264/416)
回答No.2

結果を string になおしました。 matrix([(i^3*j+g^3*h+e^3*f+c^3*d+a^3*b)/(i^3+g^3+e^3+c^3+a^3)+(i^2*j+g^2*h+e^2*f+c^2*d+a^2*b)/(i^2+g^2+e^2+c^2+a^2)+(i*j+g*h+e*f+c*d+a*b)/(i+g+e+c+a)+(j+h+f+d+b)/5],[(i^3*j+g^3*h+e^3*f+c^3*d+a^3*b)/(i^4+g^4+e^4+c^4+a^4)+(i^2*j+g^2*h+e^2*f+c^2*d+a^2*b)/(i^3+g^3+e^3+c^3+a^3)+(i*j+g*h+e*f+c*d+a*b)/(i^2+g^2+e^2+c^2+a^2)+(j+h+f+d+b)/(i+g+e+c+a)],[(i^3*j+g^3*h+e^3*f+c^3*d+a^3*b)/(i^5+g^5+e^5+c^5+a^5)+(i^2*j+g^2*h+e^2*f+c^2*d+a^2*b)/(i^4+g^4+e^4+c^4+a^4)+(i*j+g*h+e*f+c*d+a*b)/(i^3+g^3+e^3+c^3+a^3)+(j+h+f+d+b)/(i^2+g^2+e^2+c^2+a^2)],[(i^3*j+g^3*h+e^3*f+c^3*d+a^3*b)/(i^6+g^6+e^6+c^6+a^6)+(i^2*j+g^2*h+e^2*f+c^2*d+a^2*b)/(i^5+g^5+e^5+c^5+a^5)+(i*j+g*h+e*f+c*d+a*b)/(i^4+g^4+e^4+c^4+a^4)+(j+h+f+d+b)/(i^3+g^3+e^3+c^3+a^3)]);

関連するQ&A

  • 遂次最小二乗法について

    遂次最小二乗法についてです。 y=a*x+b*dx+c というように 微分dxが入る場合も2次方程式の場合と同様にして解けるのでしょうか。 未知パラメータベクトルθを(a b c) データベクトルXを(x dx 1)としてy=θXを考え 共分散行列Pを3×3の行列として解けばいいのでしょうか。 どなたか教えていただけると幸いです。 よろしくお願いします。

  • 多倍長演算での累乗

    ElGamal暗号のプログラムをjavaで書いているのですが、累乗の計算で困っています。 RSA暗号で出てくる「a^b mod p」の場合はBigIntegerを使うと「a.modPow(b,p)」ですよね。 しかし今回使う式は「a*(b^p-x-1) mod p」といったような式です。 ということで a.miltiply.b.pow(p.subtract(x).subtract(x)).mod(p) としたんですが、コンパイルしてエラーが出たので調べたところ、指数部分はint型でないとpow()が使えないことを知りました。 しかし、この式の指数部分が1024ビットなので32ビットのint型には変換できません。 int型以外の値で累乗するにはどうしたらいいのでしょうか?

  • 最小二乗法について

    いくつか教えてほしいです。 min f(x)=||Ax-b||2・・・・(I) (1)||Ax-b||2ならわかるんですが||Ax-b||の上と下に2がつくのはどういったことでしょうか?? (2)(I)式を行列表現で表すと (A^T)Ax=(A^T)bとなりますが過程は <Ax,b><Ax,b> =<x,(A^T)Ax>-2<(A^T)b,x>+||b|となり最小化するので偏微分をし=0とおくのですが <A,x>の微分はAというのを用いれば-2<(A^T)b,x>の微分が2(A^T)bとなるのはわかるんですが <x,(A^T)Ax>の微分が2(A^T)Axとなるのがわかりません。 内積の微分は講義ではやってないので独学になります。 教授に聞いたらx=(x1,x2) (A^T)Aを2×2{{a,b},{c,d}}とおいて実際に計算し微分すれば理解できるかもと言われ計算してみたのですがよくわかりませんでした。 どうかご教授お願いします。

  • 最小2乗

    (1) (x,y)=(-3,4),(-2,1),(-1,0),(0,-1),(1,1),(2,2),(3,3)を 方程式 y = ax^2 + bx + c で最小2乗法に当てはめたときの a,b,cを求める (2) 要素(x,y,z)=(1,3,2),(2,1,1),(3,2,4),(4,5,3),(5,4,5)が z = ax + by + p とモデル化されるとき、残差の2乗Σp^2 が 最小になるように定式化して、最小となるa,bを求める という問題です。 これらを行列を用いて解きたいのですが、どのようにすればよいか分かりません。よろしくお願いします。

  • 円の方程式を最小二乗法で求める

    工具顕微鏡で測定した測定点の座標から、エクセルにて円の方程式を最小二乗法で求める方法をお教え下さい。  過去の質問から、「楕円」についてのご回答があり、参照させていただき、自分なりに応用(xa+yb+c=-(x^2+y^2)として)してみたのですが、測定点の座標から得られる行列P、及び、その転置行列P'との積の逆行列とP'と()内の式の右辺から得られる行列との積を計算することができません。(3点のデータでは計算できましたが、Pを入力し、P'を求め、…と云った段階的な計算方法を採りました。)  宜しくお願いします。

  • 複雑な最小二乗法

    いま、最小二乗法で困っています。 ln{1/L*ln(1/(1-P))} = aln((X-c)/d)-bln((e-X)/f) という式で、Lは定数で、Pは確率(おそらく0~1なのかとおもいます)です。 aからfがパラメータなのですが、cとeはとりあえず定数としても かまわないそうです。 私には複雑すぎてどうしていいのかわかりません。 もしおわかりになる方がいらっしゃったら宜しくお願いいたします。

  • 最小二乗法に関する質問です。

    f(a,b)=Σ[i=1~n]{y_i-(a+bx_i)}^2の最小値(極小値)を求めるために、まずfの停留点を求めると、一組だけ停留点(a_0,b_0)が得られました。 そして、fのaに関する2階偏導関数f_aaを計算すると2nだったので、 f_aa(a_0,b_0)=2n>0であることもわかりました。 これより、あとはfの((a_0,b_0)に関する)ヘッセ行列式 det(H_f(a_0,b_0))=(4nΣ[i=1~n](x_i)^2)-4(Σ[i=1~n]x_i)(Σ[i=1~n]x_i) が、正であることが示せれば、fが極小値をとることが示されると思ったのですが、 (4nΣ[i=1~n](x_i)^2)-4(Σ[i=1~n]x_i)(Σ[i=1~n]x_i)>0はどのように式変形すれば示されるのでしょうか? 回答よろしくお願い致しますm(_ _)m

  • 簡単な四則演算のはずが、納得いかない答に・・・

    2次関数の一般形を、標準形に式変形していく過程で、 「平方完成」のような事をします。 最初の y=ax^2+bx+c から変形していくやつです。 式変形の終盤に、a(x+b/2a)^2 +c- b^2/4a という所までたどりつき、+から後ろを通分して完成なのですが、 何度やっても通分のところで、正しい答えと符号が逆になってしまいます・・・。 自分が通分すると 分母を4aにして、cに分母の4aをかけて4acになり、それに-b^2を足して 答えは「4a分の4ac-b^2」になってしまいます。 しかし正しい答えは「4a分の-b^2-4ac」です。 一体どこが間違っているのか、わからずに眠れないのでどなたか教えてください。。

  • 2次関数で求める正方形内の四角形における面積最小値

    2次関数の問題についての疑問です。 1辺の長さがaの正方形ABCDにおいて, 辺AB, BC, CD, DA 上にそれぞれ点P, Q, R, Sを AP = BQ = CR = DS となるようにとる. このとき, 四角形PQRSの面積の最小値を求めよ. という問題が参考書にあります。解答には AP = BQ = CR = DS = ax とおくと, xは 0 < x < 1 ・・・(1) を変化する変数である. とあり、三角形APSの面積は 1/2AP・AS = 1/2ax(a-ax) = a^2/2x(1-x) と求めています。四角形の面積は、正方形からそれら三角形の面積を取り除いて求め、 答えは, 値をyとおき y = a^2 - a^2/x(1-x)・4 = a^2{1-2x(1-x)} = a^2(2x^2-2x+1) = a^2{ 2(x-1/2)^2 + 1/2 } ・・・(2) (1), (2)より求める最小値は, a^2/2 となっています。 以下私の疑問です。 私は AP = BQ = CR = DS = ax ではなく、 AP = BQ = CR = DS = x  ・・・ i として問題を解きました。このとき、式は y = a^2 -1/2x(a-x) * 4 = a^2 -2xa + 2x^2 = 2(x - a/2)^2 + a^2/2  ・・・ii となり、やはり最小値は a^2/2 となります。 私の解いた方法では間違いでしょうか。 気になるのは、参考書の解説では最小値のときの値が、x = 1/2 と文字がまざらず、私の方法では最小値 a^2/2 のとき x = a/2 と文字が混ざってしまいます。 それに加え、参考書の答えと比較し, ではaは1なのかとおもい、私の式iiにa = 1を代入して解いてみたのですが、何か具合がよろしくありません。 私のやっていることおかしいでしょうか。 また、問題を解いていて思ったのですが、a = a^2 となる数字は1しか存在しませんか。 最初から1を代入するのではなく、aやa/2を代入して、解いてからグラフ上でa = 1を代入すると上手くいくように思えるのですが、これはいったいどういうことなんでしょう。 独学なもので、身近にだれも聞ける人がおりません。 どなたか、よろしくお願いいたします。

  • 最小二乗法の中に登場する直交階乗多項式について

    C.R.ワイリー著「工業数学<上>」という本で数学を勉強しているものです。最小二乗法という節の中に、直交多項式の定義が出てきました。この式の導出方法は、W.E.Milneの文献を参照せよと注意書きがありましたが、英語が読めないので、同じ出版会社から出ている参考書を探し、幸いにも導出方法が載っていました。しかし、この中でもどうしても分からない部分があり質問します。内容は、以下の通りです。途中導出過程は、長いのと、この質問箱では、表記に限界があるので、はぶきます。知りたいという方は、おっしゃっていただければ、強引にでも書きますが・・・。この道に明るい方、納得できる回答をよろしくお願いします。 定義: Σ_(x=0)^n P_(j,n)*P_(k,n) = 0 (j≠k) 参考書によるこの式の導出方法: P_(m,n)(x) = 1 + b_1*x + b_2*(x)^(2) + ... + b_m*(x)^(m)とする。 Σ_(x=0)^n (x+s)^(s)P_(m,n)(x) = 0 ...........(1) (注:ここで現す(x)^(m)などは、階乗多項式です。つまり、例えばx^(3)なら、x^(3) = x(x-1)(x-2)。以下同様) (1)を満たすP_(m,n)(x)は、二項展開を用いた式となりますので省略します。分からないのは、この次。 次数qの任意の多項式Q(x)は、次のように書ける。 Q(x) = Σ_(s=0)^q A_s*(x+s)^(s) (補:多分A_sとは、(x+s)^(s)の係数(実数値)と思われる。) この方程式に、P_(m,n)(s)をかけてx=0からx=nまで、xについて加えると(1)式から分かるようにq<mであるときは次のようになる。 Σ_(x=0)^n Q(x)P_(m,n)(x) = 0 (?!) (ここが一番分からない) 特別にもしm≠kであれば、 Σ_(x=0)^n P_(m,n)(x)P_(k,n)(x) = 0 (?!) となる。これは始めに述べた定義式である。 以上で式の導出は終わりです。 一番引っかかるのは、「特別にもしm≠kであれば」というところ。(一番かんじんな所のような気がする。) 長々と書きましたが、理解できないところは言ってください。誰かわかる人お願いします。