アプリ版:「スタンプのみでお礼する」機能のリリースについて

先日別で投稿したのですがわかりにくかったので別に再度投稿致します。

近似直線の線の傾き数値の算出方法を調べたところ、

① (ΣXiYi-nX'Y')/(ΣXi^2-nX'^2) と
② Σ(Xi-X')(Yi-Y')/Σ(Xi-X')^2 が出てきます。(Nは標本数、X' Y' は平均)

どちらも同じ値を算出するとアドバイスを頂いたのですが本当に
(ΣXiYi-nX'Y')/(ΣXi^2-nX'^2) =Σ(Xi-X')(Yi-Y')/Σ(Xi-X')^2  ですか?
http://www2.ngu.ac.jp/~kkojima/pcstat/append/app …
このURLも教えて貰ったのですが自分には理解できず。。と言うかNは何処に行ってしまったんだ??

簡単なデータで計算してみました。
X    Y
7 600
12 1800

N=2
X'=9.5
Y'=1200

①では240の値が出ました。
②は全然違う値になっちゃいました。自分の計算手順がおかしいんだとは思っているのですが。。

②がどうしても期待する値が出ないのでこちらの計算手順を教えていただいても宜しいでしょうか。

A 回答 (2件)

あのー、2点であれば直接直線が引けます。



y = ax + b
として
(7, 600), (12, 1800) を代入して
 600 = 7a + b
 1800 = 12a + b
より
 y = 240x - 1080
です。

むりやり① (ΣXiYi-nX'Y')/(ΣXi^2-nX'^2) を使えば
  X' = 9.5, Y'= 1200
なので
  (7*600 + 12*1800 - 2*9.5*1200)/(7^2 + 12^2 - 2*9.5^2)
 = 240

② Σ(Xi-X')(Yi-Y')/Σ(Xi-X')^2を使えば
  [ (7 - 9.5)*(600 - 1200) + (12 - 9.5)*(1800 - 1200) ] / [ (7 - 9.5)^2 + (12 - 9.5)^2 ]
 = 240

どちらも「240」になりますよ。


最小二乗法は、(xi, yi) の観測値を
 Y = aX + b
の直線でフィッティングするときに
 Yi = axi + b
の関数値と、実測値 yi の偏差の二乗
 (Yi - yi)^2 = (axi + b - yi)^2
の i=1~N の合計を最小にするように a, b を決めるものです。

S = Σ[i=1~N](axi + b - yi)^2
とすると、これは a と b の二次式です。(xi、yi は全て具体的な数値ですから)
S を最小にする a, b の値は、
 ∂S/∂a = 0
 ∂S/∂b = 0
の連立方程式を解くことで求まります。

質問文中に書かれた「公式」めいたものを使うより、このやり方の方が「意味」が分かってよろしいかと思います。


a, b の公式は、次のようにして求めます。
S = Σ[i=1~N](axi + b - yi)^2
 = Σ[i=1~N](a^2xi^2 + 2abxi +b^2 - 2axiyi - 2byi + yi^2)
 = Σ[i=1~N](a^2xi^2 + 2abxi - 2axiyi - 2byi + yi^2) + Nb^2

ですから、[i=1~N]を省略して
 ∂S/∂a
= Σ(2axi^2 + 2bxi - 2xiyi)
= 2aΣ(xi^2 ) + 2Σ(bxi - xiyi)
= 0
より
 aΣ(xi^2 ) + bΣxi - Σxiyi = 0 (A)

 ∂S/∂b
= Σ(2axi - 2yi) + 2Nb
= 0
より
 aΣxi - Σyi + Nb = 0  (B)

(A)(B)の連立を解いて、
 Σxi /N = xi' (平均値)
 Σyi /N = yi' (平均値)
とおけば、a の値として、ご質問文の①式が得られます。
※普通は
 a = (NΣxiyi - ΣxiΣyi)/(NΣxi^2 - (Σxi)^2)
と書きます。

このときの b は、(B)式より
 b = (y'Σxi^2 - x'Σxiyi)/(Σxi^2 - nx'^2)
  = (Σxi^2 *Σyi - ΣxiΣxiyi)/(NΣxi^2 - (Σxi)^2)
となります。


ご質問文の②の式は、分母が
 Σ(xi - x')^2
つまり「xi の、平均値 x' 周りの分散」=σx^2
分子は
 Σ(xi - x')(yi - y')
つまり「x, y の共分散」= Cov(x, y)ですから、

 Cov(x, y) / σx^2

ということで、これまた「もっともらしい直線の傾き」ということになります。
↓ こちらを参照。
http://mathtrain.jp/leastsquares

ですから、確かにご質問文の①と②とも、「近似直線の線の傾き」を表わしています。数学には「等価」になっているはずです。

ただ、前半に書いたように、わけの分からない公式を使うよりも、きちんと最小二乗法のやり方に沿って「愚直に」やった方がよいと思います。仮に計算間違いしても、どこで間違えたかとレースできますから。
    • good
    • 0

まずは、第一の疑問①=②かですが、


①=②です。
分母同士、分子同士がそれぞれ等しいです。

第二の疑問nはどこへいったかですが、
nX'Y'=ΣX'Y' です。右辺の和をとる範囲を省略しているから分かりづらいですが、i=1からnなので、X'Y'をn個足すことになります。

最後のお願いですが、私なら表を作ります。
「以下の2つの式は同じでしょうか?」の回答画像2
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!