R / 統計 > 切片を0とした回帰直線の式
動作環境
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
次回、傾きの値が合わない状況に出くわしたら、このあたりを確認することにした。
Author And Source
この問題について(R / 統計 > 切片を0とした回帰直線の式), 我々は、より多くの情報をここで見つけました https://qiita.com/7of9/items/80dfd6d4e7551b5d23bb著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .