最小二乗法に関する質問
- f(a,b)=Σ[i=1~n]{y_i-(a+bx_i)}^2の最小値を求める方法に関する質問です。
- fの停留点(a_0,b_0)が得られ、f_aa(a_0,b_0)=2n>0であることがわかりました。
- ヘッセ行列式が正であることを示すための式変形に関する質問です。
- ベストアンサー
最小二乗法に関する質問です。
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
- 数学・算数
- 回答数5
- ありがとう数2
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
i=1 のときには, 2つの式 a+bx_1=y_1 ax_1+b(x_1)^2=x_1y_1 は同値です (上の式に x_1 を掛けると下の式が得られる). したがって, 2個の未知数に対し独立な式が 1つしかないので解が一意に定まりません. i>1 のときには f(a, b) を a と b で偏微分すると停留点を与える連立方程式として Σ(y_i - (a + bx_i)) = 0, Σx_i(y_i - (a + bx_i)) = 0 が得られますが, x_1=・・・=x_n の場合には下の式から x_i を共通因数としてくくりだすことができ, したがってやはり 2つの式が同値である (→解が一意に定まらない) ことが分かります.
その他の回答 (4)
- Tacosan
- ベストアンサー率23% (3656/15482)
おっととと. 「等号が成立する場合」は「最小二乗法を使う意味がない」って書いたけど, よく考えてみればこの場合にはそもそも停留点が一意に決まらないような気がします.
補足
回答していただき、ありがとうございます。 i=1の場合、x_1=・・・=x_nの場合ともに a+bx_1=y_1 ax_1+b(x_1)^2=x_1y_1 を満足する(a,b)が停留点ですよね? 申し訳ないのですが、もう少し詳しく教えていただけないでしょうか?
- Tacosan
- ベストアンサー率23% (3656/15482)
そう, 等号が成り立つ場合には最小二乗法を使う意味がない. 逆にいえば「最小二乗法を使うときには, 等号が成り立たないことを前提にできる」ということでもある.
- Tacosan
- ベストアンサー率23% (3656/15482)
ベクトル y として「すべて 1」のベクトルを考える. 「等号が成立しないこと」も確認してね. 別法: 「分散は負にならない」
補足
回答していただきありがとうございます。 等号成立が必ずしないという意味ではないですよね?>< i=1の時と、x_1=x_2=…=x_nの時に等号成立すると思うのですが、この2パターンはなぜ排除されるのでしょうか? i=1は、データ数が1つですし、x_1=x_2=…=x_nの時は、(x_i,y_i)が全てy=x_1上に乗るので、共に最小二乗法を使う意味がないと思ったのですが… 回答していただけないでしょうか?よろしくお願い致します。
- Tacosan
- ベストアンサー率23% (3656/15482)
コーシー・シュワルツの不等式.
補足
回答ありがとうございます。 コーシシュワルツの不等式というのは |(x,y)|≦(||x||)(||y||)でしょうか? 実は、これを使うのかな?と質問前に思ったのですが、今考えてる式はx_iしか現れていませんし、この不等式ではできないと判断し、質問しました。 (4nΣ[i=1~n](x_i)^2)-4(Σ[i=1~n]x_i)(Σ[i=1~n]x_i) に対して、どのように利用すれば>0を得られるのですか? 教えていただけないでしょうか? よろしくお願い致します。
関連するQ&A
- 最小二乗法に関する問題
『高校数学でわかる 統計学』という本を読んでいます。 ∑x_i e_i = 0 (※Σは、i=1からnまで) という性質があるそうですが、その証明がうまくいきません。 なお、 ∑e_i = 0 (※Σは、i=1からnまで) の証明はうまくいきましたので、下に書いておきます。 b = 1/n {∑y_i} - a/n {∑x_i} (※以下Σは、i=1からnまで)を途中で使います。 ∑ e_i =∑{y_i - f(x_i)} =∑{y_i - ax_i - b} =∑y_i - a ∑x_i - bn =∑y_i - a ∑x_i - n {1/n {∑y_i} - a/n {∑x_i} } =0 よろしくお願いします。
- ベストアンサー
- 数学・算数
- 最小二乗法について
いくつか教えてほしいです。 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}}とおいて実際に計算し微分すれば理解できるかもと言われ計算してみたのですがよくわかりませんでした。 どうかご教授お願いします。
- ベストアンサー
- 数学・算数
- 最小二乗法を応用した微分
C言語についてです。 規則性のある離散データを局所的(たとえば3点ごと)に最小二乗法を使って微分したいのですがどうすればいいでしょうか。 以下、データ全体に最小二乗法を適用するプログラムです。 #include<stdio.h> #define n 60 main() { FILE *fin; int i; float x[n],y[n]; double a=0,b=0,sumx=0,sumy=0,sumxy=0,sumx2=0; fin=fopen("data1.txt","r"); if(fin==NULL){ fprintf(stderr,"Not found\n"); } for(i=0;!feof(fin);++i){ fscanf(fin,"%f %f",&x[i],&y[i]); } for(i=0;i<n;++i){ sumx+=x[i]; sumy+=y[i]; sumxy+=x[i]*y[i]; sumx2+=x[i]*x[i]; } a=(n*sumxy-sumx*sumy)/(n*sumx2-sumx*sumx); b=(sumx2*sumy-sumxy*sumx)/(n*sumx2-sumx*sumx); printf("a=%f b=%f\n",a,b); fclose(fin); } データは以下のようなものです。 0 0.5 0.1 0.8 0.2 1.4 ・・・・・ 回答お願いします。
- 締切済み
- C・C++・C#
- 極値を求める問題です!
R^2上で定義された二変数関数 f(x,y)= x^4+8y^4-b^2(x-y)^2 (b≠0) の極値を求めなさい。 という解析学の問題で停留点を求めるところまではできたんですが Hesse行列とそのあと判定ができません どなたか教えてください よろしくお願いします
- ベストアンサー
- 数学・算数
- 最小二乗法の重みづけについて教えてください。
簡単のため、説明変数tと、目的変数xが、共に実数(スカラー)とします。 また、フィッティング関数 F=F(t,a,b,c) も、簡単のため3変数または4変数のスカラー値関数とし、フィッティングパラメータa,b,cも実数(スカラー)とします。また、Fがフィッティングパラメータを2つしか持たない場合(Fが3変数の場合)には、 F(t,a,b)と読み替えて考えることにします。 また、データ、即ち説明変数と目的変数の実測値の組 (t_{i},y_{i})がn個あるとする。 また、以下の4種類の評価関数を考えます。 A:所謂2ノルム A(a,b,c)=Σ|{y}_{i}-F({t}_{i},a,b,c)|^2 B:n個の正数w_{i}を用いて、重みづけ B(a,b,c)=Σ(w_{i}|{y}_{i}-F({t}_{i},a,b,c)|^2) C:単調(非退化、つまり任意の点で微分がバニッシュしない)な関数φを用いて変換 C(a,b,c)=Σ|φ({y}_{i})-φ(F({t}_{i},a,b,c))|^2 D:所謂1ノルム D(a,b,c)=Σ|{y}_{i}-F({t}_{i},a,b,c)| (Q1)このとき、以下の命題のうち、同値な命題はどれとどれですか? P「(a,b,c)がAの極値点である」 Q「(a,b,c)がBの極値点ある」 R「(a,b,c)がCの極値点ある」 S「(a,b,c)がDの極値点である」 (Q2)重みづけの意味について: *実際、最急降下法のプログラムを作ってみると、 Dの場合で、直線に近い形状になるように変換した場合(たとえばシクモイドの場合logをφに取る)。 Cの場合で、変化が緩慢なiに重みをつけた場合。 Aの場合。 の順に速度が速く、いずれの場合もだいたいの場合には、まあまあ(10000回ぐらい再起計算すれば) まあ、見た目に近いグラフが出てきます。 だとしたとき、wやφというのは、何を意味しているのでしょうか? ここで、最急降下法は、以下の意味で考えている 最急降下法の初期パラメータを(a_0,b_0,c_0)とし、 k回目の計算値を({a}_{k},{b}_{k},c_{k})と記載する。 このとき、({a}_{k},{b}_{k},c_{k})は、以下の漸化式を再帰的に数値計算することで求める。 (a_{k+1},b_{k+1},{c}_{k+1})=(a_{k},b_{k},{c}_{k})-ε*grad(J(a,b,c)) 但し。Jは、A,B,Cいずれかの評価関数で、εは充分小さい正定数 (Q4)εのテンソル化: というほど大げさなものではありませんが、εを正値の対角行列にした場合 収束が早いことがあります。この場合εの異方性がフィッティングパラメータの収束性 どのように作用しているのでしょうか?また、こんなことをしてもいいのでしょうか?
- ベストアンサー
- 数学・算数
- AはC上のn次正方行列のとき。
『AはC上のn次正方行列.E_nはn次単位行列,b∈Cとするとき、 1:bはAの固有値である。 2:det(bE_n-A)=0 の二つが同値を示せ』 という問題で、 i)1→2のとき Aの固有ベクトルをxと置く、 Ax=bx E_nはn次単位行列だから AE_n=A AE_nx=Ax=bx Ax=bE_nx A=bE_n このとき次数も等しいから det(bE_n-A)=0. ii)行列(bE_n-A)の次数は0より bE_n-A=0 bE_n=A E_nはn次単位行列 Aはn次正方行列 だから bはAの固有値. この2つから題意は示せますか?
- 締切済み
- 数学・算数
お礼
回答していただき、ありがとうございました。