誰か最小自乗法について、わかる人いませんか?
今自分初心者で一応高校数学までは、なんとなくわかるのですが(でも、最小自乗法が...)
誰か説明できる人いませんか?教えてください〜
VBの質問とも思えませんが・・・。
ぶっちゃけた話、
単に、「普通に差をとって、その値が最小にしようとすると、
符号を考慮しないといけないから面倒なので、2乗しちゃえ」
という方法です。
原理さえわかれば(実を言うと原理がわからなくても)
公式に放り込めば答えがでます。よく覚えてないけど。
って昔、線形代数で習ったような・・・。それとも基礎物理だったっけ。
この種のネタは秋山仁さんならおもしろおかしく解説してくれそうですね。
っていうか、詳しくききたかったら数学サイトにでも行ったら?
板違いでしょ。
説明変数の観測値の bector を x とする.G = (x, I) を基底とする平面を想定し,
推定す可き被説明変数の bector を y とすると,y は vector c = (a, b) に
よって与えられる G 上の点,y = Gv として表される.
一方,観測された被説明変数の bector を y' は y に対して最短の位置にある
だろうと考えると,d = y - y' は G と直交することになる.従って,
G・d = Transpose(G)d = Transpose(G)(y - y')
= Transpose(G)y - Transpose(G)y'
= Transpose(G)y - Transpose(G)Gv
= 0
これより,
Transpose(G)Gv = Transpose(G)y
だから,
Inverse(Transpose(G)G)(Transpose(G)G)v
= Inverse(Transpose(G)G)(Transpose(G)y)
即ち
v = Inverse(Transpose(G)G)(Transpose(G)y)
である.解かったかね?
訂正:
「観測された被説明変数の bector を y' は y に対して最短の位置にある...」
を
「観測された被説明変数の bector を y' とすると,y' は y に対して
最短の位置にある...」
に.
げろげろ,y と y' が入れ替わってる・・・(泣
逝って来ます・・・
確かに・・・VBで最小二乗法の質問されるのはどうかと・・・
ですが、一応、参考に・・・
http://aoki2.si.gunma-u.ac.jp/lecture/mb-arc/arc009/274.html
他にも解説されているところは多数ありますが・・・
※ ただし、計算結果が正しいかどうかを検証するには、
エクセルを使っての1次か2次多項式フィッティング
を行い、その式を表示させれば、自分の計算式と結果
が近似しているかどうかを確認できます。
グラフでの目視チェックもできますし・・・
先のURLにもある通り、そのフィッティングの為の
方法の選択の違いで誤差が出ます。
線形と非線形でも、当然、違いが出ます。
線形の場合の方は、逆に1次元の連立方程式の解を求
める方法で簡単ですが・・・元のデータの素性が解ら
ないと、方法の選択ができないというか・・・
浮動小数点以下、何ケタ目まで欲しいか解りませんの
で、敢えてこの程度のことしか言えません。
※ 信号処理等で、異常データの検出と、データ補間とし
ての推定で使用されるのでしたら、理論的な部分を確
実に押さえられた方がいいですヨ!
ご参考までに。
以上。
ありがとうございました!
また、VBのサイトで最小自乗法をきいてしまいすみません。
いろいろな、わかりやすい説明で参考になりました。ありがとうございます。
次は、VB関連にて、わからないことありましたら、よろしくお願いします。