統計学の基礎知識:逆行列と転置行列について

このQ&Aのポイント
  • 統計ソフト「R」を使用して、逆行列を求める方法を教えてほしいです。
  • 逆行列の計算は、統計ソフトの「solve」を使えば簡単に求めることができますが、手計算での方法も知りたいです。
  • 転置行列についてもわかりやすい具体例を教えてほしいです。
回答を見る
  • ベストアンサー

統計に詳しい方お願いします。

統計に詳しい方お願いします。 まず画像の一番上の行列の逆行列というのは統計ソフトならsolveを使えば一気に出ますが、 手で計算する(パソコンを使わずに)方法ってないのでしょうか? 計算の仕方があれば教えてほしいです。 あと、転置行列についてですが、画像の真ん中と下のような関係のことをいうのでしょうか? なぜこの画像でいう、2・3だけが入れ替わるのでしょうか? 1・4は入れ替わらないのでしょうか? 転置行列とは行と列を入れ替えた行列といった風には習ったのですが・・・・ あくまで自分は文系のものなんであまりシグマばかりを使った説明とかはよくわかりません。 もしできるのならそういうのではなくわかりやすい具体例などでお願いしたいです。 統計ソフト「R」というのを使っています。

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

  • ベストアンサー
  • at9_am
  • ベストアンサー率40% (1540/3760)
回答No.1

普通の行列演算なので、数学カテの方が良いかとは思いますが・・・。 まず転置行列はこれでOKです。 逆行列ですが、手計算でもできますが、結構面倒くさい場合が多いです。 1 2 3 4 という行列の逆行列を取る場合であれば、 1 2 : 1 0 3 4 : 0 1 という形で、目的の行列と単位行列を並べて書いて、 1 2 : 1 0 0 -2 : -3 1 ←下の行-上の行×3 1 0 : -2 1 ←上の行+下の行 0 -2 : -3 1 1 0 : -2 1 0 1 : 3/2 1/2 ←下の行÷(-2) という形で、連立方程式を解くような形で左側を単位行列にするように変形することで逆行列を求めることができます。 2×2か3×3までであれば公式もありますが、Σ等を使わないものということであれば、この方法が良いかと思います。

関連するQ&A

  • 行列の積の計算について

    ;は行換え、,は列換えを表すものとします。 Pk = [1,2,3] 1行3列 Qk = [1;2;3] 3行1列 R = [3,2,1; 2,4,5; 7,2,1] 3行3列 としたときに、Pk*Qk*Rを計算したいのですが、まず、 Pk*Qkを計算すると、1*1 + 2*2 + 3*3で1行1列の[14] になります。その後、この[14]*Rを計算するわけですが、 行列の積は、左の行列の列数と右の行列の行数が一致していない と計算できないので、この場合はどう計算するんですか?

  • 行列転置データのファイル変換方法

    200行4000列の数値データの情報処理を行うのですが、 このデータをEXCELファイルとして、4000行200列のデータの形として保管しています。EXCELは255列までしか扱えないので、これを転置することはできません。そこで、例えば、SASやSPSS、SYSTATなどの統計ソフトで処理できるよう、行列を転置して、これらのソフトに読込めるように、ファイル変換をする方法を探しています。  どなたか、教えて!

  • 助けて。。。。。。。。

    1.W=WT(転置行列) G行列はR W>0かつdetG は0ではないとき (Gの転置行列)GTWG>0を証明する W=WT(転置行列) について W>0ならばW—1(W行列の逆)>0 を証明 符号は表示しにくいので 申し訳ございません

  • エクセルでの行列計算がうまくいきません

    よろしくお願いします。 いまエクセルで行列計算をしています。 行列[108(行)×35(列)]とその転置行列[35×108]の積から行列[108×108]を出そうとしているのですがうまくいきません。 #valueエラーがでます。 関数mmultを使用しています。 転置行列は関数transposeを使いました。 [35×108]・[108×35]=[35×35]ではちゃんとでるのですが、108×108ではだめなので、元データには問題はないと思います。 一体何がエラーの原因として考えられるのでしょうか。 よろしくお願いします。

  • 画像の自己相関行列

    私は画像処理の勉強をしているのですが、 ある本を読んでいると、 ある画像AiがN枚あった(iはAの添え字 i=1,2,・・・N)とき、画像集合の自己相関行列Rは R=1/NΣAi*Ai(T)  A(T)はAの転置行列 Σはi=1からN で定義されるとあったのですが、 ある画像と同じ画像の転置行列で求められた自己相関行列Rというのが、 いったいどのような意味を持つものなのかがわかりませんでした。 わかる方がいらっしゃったら教えていただけないでしょうか?

  • 行列の和の逆行列について

    情報処理系の数学(カルマンフィルタとか)では(A+B+C)^(-1)とか(A+BCF)^(-1)のように行列の和(あるいは行列と行列の積の和)の逆行列の表式があり、公式のようなものが与えられていたりします。その中で例えば(A+B+C)^(-1)でA,B,Cとは何かと言うと行列(普通は正方行列?)なわけですが、例えば単に1つの値(スカラー)であった場合は逆数というのは自然な拡張としてあり得ると思います。1行1列の行列の対角成分だけの行列と見なすわけです。これはいいだろうと思います。問題はAなどがベクトルだったときです。これは計算できないということでいいでしょうか。ベクトルだったら1行N列の行列(N行1列でも)ということであり、逆行列が定義できないということになるでしょうか。カルマンフィルタなどではベクトルではないかと思うものが式の中に入っているのですが。Rで実験してみるとAの逆行列はsolve(A)だけで求まります。Aがスカラーだったら予想どおり逆数なります。ベクトルだったらエラーです。やはりベクトルだと当然ダメということでしょうか。

  • 統計ソフトRに距離行列の読み込み

    統計ソフトRに距離行列を読み込む方法をご存知の方はいらっしゃらないでしょうか. 例えば,次のような距離行列をRに読み込みたいとします.  A B C B 1 C 1 1 D 1 1 1 これを通常の行列のようにread.table()等で読み込んだとしても, 当然ですがデータの種類は正方行列data.frameになってしまいます. 距離行列distとして,読み込むにはどうしたらいいでしょうか. 言い換えれば質問は, > class(読み込んだデータ) [1] "dist" と返されるにはどうしたらいいか,です. 尚,Rのdist()を使って距離行列を作成する方法は知っています. どうしても他のソフトで作成した距離行列をRに読む込む必要があります.

  • 統計ソフトRについての質問です。

    統計ソフトRについての質問です。 四分位数の計算方法(コマンドではない)を知りたいのですが、どこを参照すればよいのでしょうか? Rでは四分位数の計算方法が複数あると聞いたのですが、どのように計算しているか、ヘルプのどこら辺に載っていますか?

  • 行列の計算

    A=(6 2)    B=(1 1)    (2 6)      (1 0) があって、(AとBは2行2列の行列です。表記の仕方はそう思ってください) D=A^(-1)+A^(-1)×B×(I -B'×A^(-1)×B)^(-1) ×B'×A^(-1) を求めよ。という問題があったのですが、普通に計算していけば答えは出ます。ただ、もっと上手な解法があるのかが気になります。あるようであれば、教えていただけると幸いです。 (A^(-1) は Aの逆行列、B'は Bの転置行列、Iは単位行列です)

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

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