0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

R / 統計 > 切片を0とした回帰直線の式

Last updated at Posted at 2016-10-01
動作環境
RStudio 0.99.903 on Windows 7 pro
R version 3.3.1

R機能マップ
http://qiita.com/7of9/items/0f911bcb95d3a8bbd703

渡された資料の中の計算式に基づくC実装とExcel, Rの回帰直線の式の傾きを比較していた。

  • ExcelとRの回帰直線の係数は合う
  • C実装のものだけ値が違う

使用しているデータは同じ。

違いは以下だと気づいた。

  • 通常の回帰直線
  • 切片を0とした回帰直線

Rのlsfitを使ってもだめなわけだ。

「切片を0とした回帰直線」の式は、以下のPDF内の式(1)の上にあるaハットとして定義されている。
http://sgulrep.sgu.ac.jp/dspace/bitstream/10742/1711/1/JK-33-027.pdf

切片を0とした回帰直線の傾きの式 \\
a_1 = \frac{\sum x_i y_i}{\sum x_i x_i}

一方で通常の回帰直線の傾きは参考によると以下。

通常の回帰直線の傾きの式 \\
a_2 = \frac{N\sum x_i y_i - \sum x_i \sum y_i}{N\sum x_i x_i - {(\sum x_i)}^2}

Excelの方でSUMPRODUCT()を使ってsum(xx)とsum(xy)を計算し、「切片を0とした回帰直線」の傾きを求めたら、C実装と整合した。
Rの方でも以下の計算で整合した。

> sum(newx$V1*newx$V2)/sum(newx$V1*newx$V1)
[1] -5906.378

learned a lesson

次回、傾きの値が合わない状況に出くわしたら、このあたりを確認することにした。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?