• 締切済み

一般化逆行列と最小二乗法

最小二乗法は割と簡単に理解することができますし、式の誘導も簡単ですが、分数が出てきたら分母がゼロでないとか、逆行列が存在するとか理想的な条件を仮定しているように思います。そこでその理想的な条件が存在しない場合、すなわち逆行列が存在しない場合、”一般化逆行列を用いて計算する”とサラリと書いてある本がありました。データ解析ソフトRなどもそれに対応しているかもしれません。一般化逆行列というのはすんなり受け入れられるものでしょうか。何か別の指標があってそれを最小化するとか何らかのペナルティとか損失を甘受した上で計算していると思うのですが、いきなりピンチヒッターとして出てくることができるみたいに書いてありました。数理統計の本には共線性がある場合とか行列式が極めて小さな値になるとかの場合に出てくるようです。少し読んでみると固有値・固有ベクトル(正規直交行列を構成)で行列を展開したもののような記述もあり、これはこれで普通のことのように思うのですが。一般化逆行列とはどのようなものだと思えばいいでしょうか。

みんなの回答

  • f272
  • ベストアンサー率46% (8003/17108)
回答No.2

Aをm*n行列,bをm*1行列,xをn*1行列とするとき線形連立方程式Ax=bを解くことを考えます。 1. Aが正方でフルランク(rank(A)=m=n)のときは,x=A^(-1)*bです。 2. Aが縦長で列フルランク(rank(A)=n<m)のときは,不能です。 3. Aが横長で行フルランク(rank(A)=m<n)のときは,不定です。 4. Aがランク落ち(rank(A)<min(m,n))のときは,1ー3のどれかに帰着できます。 2.のときは全方程式の2乗誤差が最小となる点を解とします。 つまりx*= (1/2)||Ax-b||^2を最小化するxです。 計算するとx*=(A^t*A)^(-1)*A^t*b 3.のときは全解候補のうちL2ノルムが最小となる点を解とします。 つまりx*= Ax=bを満たすxのうち(1/2)||x||^2を最小化するxです。 計算するとx*=A^t*(A*A^t)^(-1)*b 4.の場合には(A^t*A)^(-1)や(A*A^t)^(-1)が計算できませんが,A=BCただしBはm*r行列,Cはr*n行列でr=rank(A)とすることで計算不能を回避できます。Ax=BCx=bから x*=A-*b=C-*B-*b=C^t*(C*C^t)^(-1)*(B^t*B)^(-1)*B^t*b です。つまりA-=C^t*(C*C^t)^(-1)*(B^t*B)^(-1)*B^tです。これが一般逆行列(ムーア-ペンローズ)です。 通常はB=U,C=Σ*V^tとして計算します(特異値分解)。ただしUはm*m行列,Vはn*n行列,Σはm*n行列でUとVは直交し,Σは対角行列でrまでは非零です。 > 解として認められるとしても限定的ではないかと思うのですが。 多数ある最小2乗点のうちの最小ノルム点を解とする場合に対応します。

skmsk1941093
質問者

お礼

懇篤な回答ありがとうございます。大変参考になりました。2番目の不定解の場合、未知数に対して式が多すぎるという風に見えます。条件が多すぎるので問題をすり替えて最小二乗解を求めることに変更した、と読めます。そういうことでしょうか。そのことを納得するのはデータ解析の回帰曲線の同定で納得できることはできますが、それは数学ではないという感じです。では、3番目はどのように理解すればいいでしょうか。L2ノルムを最小化するというのは小さな解を求める問題に設定変更したということのようですが。4番目は2,3に帰着できるので3番目の理解が壁になっています。

  • f272
  • ベストアンサー率46% (8003/17108)
回答No.1

https://ja.wikipedia.org/wiki/%E6%93%AC%E4%BC%BC%E9%80%86%E8%A1%8C%E5%88%97 これのことを指している場合がほとんどです。

skmsk1941093
質問者

お礼

回答ありがとうございます。初等線形代数では行列は穏当なものであり、ガウスの消去法のような原始的な方法で解けることが前提でその枠組みから抜け出せないでいたのですが、実際は行列が穏当なものか(正則ってことかもですが、)調べて使えるところで使う(行数、列数が元のものと違う)ということなのかなと思います。一般化逆行列でも解というものは出力されるのだろうと思います(ともかく逆行列と言っているので)。その解はふつうどのように使うのでしょうか。解として認められるとしても限定的ではないかと思うのですが。

関連するQ&A

  • 一般逆行列の求め方

    6×4の行列の逆行列を計算しようとしたのですが,求め方がわからず困っています。以下に教えていただきたい逆行列を示します。 [-a2 a1 0 0] [-a3 0 a1 0] [-a4 0 0 a1] [ 0 -a3 a2 0] [ 0 -a4 0 a2] [ 0 0 -a4 a3] この行列のランクをmaximaを使って計算すると「3」だったのでランク落ちしていることがわかりました。 教科書で確認したところ、ランク落ちの行列には逆行列が存在しないと書いてあったので逆行列を作ることができないのでしょうか? もしくは、ランク落ちを回避して逆行列を作ることができないのでしょうか?

  • 固有ベクトルの逆行列が存在しない?

    行列A= (0,1,1) (1,0,1) (1,1,0) の固有値と固有ベクトルを求める(ただし各固有ベクトルの最大の成分は1となるようにする) 問題なのですが, 固有値λ=-1(重解),2 と求め 固有ベクトルをそれぞれ x=(x1,x2,x3)=(1,-1/2,-1/2),(1,1,1) と求めたのですが, 対角化行列P= (1,1,1) (1,-1/2,-1/2) (1,-1/2,-1/2) の行列式が0になってしまいPの逆行列が存在しないことになってしまいます。 これはどこかで計算ミスをしているのでしょうか? それとも固有ベクトルに逆行列が存在しないことはあるのでしょうか? 自分ではこれ以上見直しても分からないので 教えてくださると助かります。

  • 行列のベキ乗

    最小多項式が重解をもったり、固有値が虚数になる場合などの対角化不可能な整数の行列(たとえば2×2)のベキ乗の一般項を、手計算で求める方法はあるのでしょうか? 数値によっては、ケイリーハミルトンなどで次数を下げたときに、等差数列などに帰着できれば可能かと思いますが、、、。

  • 行列の分解不能性と逆行列の存在について

    いま、数学の問題を解いていて困っています。お助け下さい。 ある行列Xが分解不能である     ならば Xには逆行列が存在する という関係は成立するのでしょうか。 もし、関係があるのであれば、 ・固有値の存在 ・Xが非負行列である などの条件との関連も教えてください。 よろしくお願いします。

  • 行列の固有ベクトルについて

    線形代数を勉強しています。 ある行列の固有ベクトルが、異なるものが二つ存在したとします。 その固有ベクトルは必ず互いに直交しますか? テキストには直交する例のみ載っているのですが、 直交しない場合も想像出来るので、悩んでおります。

  • 掃き出し法 逆行列

    掃き出し法について質問させて頂きます。 連立1次方程式を解く場合に、掃き出し法を用います。 AX=Bとすると、Aを係数行列、[A|B]を拡大係数行列。 上に従って連立1次方程式から拡大係数行列を作ります。 拡大係数行列について、行(列)基本変形を行い[A|B]における Aを階段行列にします。 ここで、質問なのですがAを階段行列にした際に、 Aが単位行列となる場合は必ず自明解を持つと 言う認識で良いでしょうか? また、Aの階段行列より導かれる階数をrankAとすると rankA=rank[A|B]の場合は連立一次方程式に解 が存在します。 この時、Aが単位行列でない場合は一般解(特殊解)が 存在すると言う認識ですが正しいでしょうか? 掃き出し法は計算にコツが入りそうだったので、 逆行列を求める場合は、余因子行列を用いて求めていました。 しかし、知人から掃き出し法で求める方が効率が良いと助言を 頂いたので勉強し直している次第です。 以上、ご回答よろしくお願い致します。

  • 逆行列は存在するの?

    Aの逆行列をA(-1)と表してみます。 高校生のとき不思議だったのが、   A、Bに逆行列が存在するとき、    (AB)(-1)=B(-1)A(-1) という性質でした。これ自体に疑問を持ったのではなく、ABの逆行列の存在を無条件に受け入れている様に思うからです。だって、=で結ばれているということは右から左に変形できてもよさそうじゃないですか。 そこで質問ですが、この状態でABという行列の逆行列は必ず存在するのでしょうか。高校の先生は「うーん。これは、左辺は右辺の計算をすれば出てくるという式だ」というだけで、私には理解できませんでした。分かりやすく教えてください。

  • 最小二乗法について

    最小二乗法では二乗和の誤差 Σ[i=1~n]{Yi-(α+βXi )}^2 (iは添え字です) を最小化するα,βを推定することを考えますが、 これは単純にα,βで偏微分してそれを0とおいて 連立方程式を解くだけでよいのですか? といいますのも、2変数関数の極値を求める場合、 Hessianを計算して判別しますよね? ただ一階偏導関数が0になるからといって、 そこで極値をとるとは限らない気がしたので… それとも最小二乗法の場合は必ずとるようになっているのでしょうか? 手元の本には、 「この二乗和は非負値なので、αとβで偏微分したものを0とするα,βが上式を最小にする値である」 とあるのですが、一般に非負値だとこの ようなことが言えるのでしょうか?

  • 最小二乗法の過程で分散共分散行列が・・・

    最小二乗法の過程で分散共分散行列が目にしました。 重回帰モデルが y=Xβ+ε で与えられるとき、最小二乗法を施すと βの期待値bが (X'・X)-1・X'・yで表せるのですが、 (ただし、X'は行列Xの転置行列、-1は逆行列を表します。) このbの分散共分散行列を計算すると E[(b-E(b))(b-E(b))'] = σ^2 (X'X)^(-1) となるのですが、 この計算をする際にE(b)=β とするのですが、どうしてこれが成り立つのでしょうか? 教えてください!!よろしくお願いします。 また、もしよろしければ、次のことを教えてください。ご存じなければ、上の質問だけでももちろん助かります。 bの分散共分散行列 E[(b-E(b))(b-E(b))'] を計算すると E[εε']=σ^2I となる過程が出てくるはずです。(Iは単位行列) どうしてこの変形が出来るのでしょうか? 単位行列にはならないはずですが、単位行列になるという 仮定を用いているようです。 どうしてこの仮定が生じたのか、ご存知の方いらっしゃれば教えてください。とても困っています。

  • 逆行列の有無

    2行2列の行列で逆行列を持たないものの一般形として (ka ma)ですべての場合を表せているでしょうか?(k,mは実数) (kb mb) 「ある行列は逆行列を持たない」という設定で成分計算するときに、逆行列の場合分けのパターンが結構あるので大変です。