0
0

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 1 year has passed since last update.

Rで「あてはめ」ができるまでの道筋 とりあえずやってみる(単回帰)

Last updated at Posted at 2023-10-07

とりあえずやってみる(単回帰)

何はともあれ、とりあえずやってみましょう。
まず全体像をつかむことで、より早くRに慣れ親しめると思います。今回は細かいことは書きません。

タイトルの「あてはめ」とは、手元にあるデータをうまく説明する直線または曲線を特定する作業です。今回は「あてはめ」の代表、単回帰にチャレンジします。

ライブラリ準備

本稿で用いるライブラリは以下の通りです。
あらかじめ呼び出しておきます。

library(tidyverse)

データの準備

以下のデータを用います。

d <- read.csv("./sampledata1.csv")

sample1-0.png

「直線」状に並んでいるように見えますよね。
今からやりたいことは、その「直線」を求める作業になります。

このデータはここからダウンロードできます。
乱数を用いて適当に作ったものですが、参考までに作り方を示しておきます。

x <- runif(50, 0, 10)
f <- function(x) {
	y <- rep(0, 50)
	for (i in 1:50) {
		y[i] <- x[i] + rnorm(1, 0, sd=1)
	}

	return(y)
}
y <- f(x)
d <- data.frame(x, y)	

単回帰

いよいよ「あてはめ」の実行です。
与えられたデータに対して最小二乗法で単回帰するわけですが、Rを使えば、次の1行で完了します。
結果がsample.lm に代入されます。

sample.lm <- lm(y~x, data=d)

たったこれだけです!
結果をテキスト情報で見てみましょう。

> summary(sample.lm)

Call:
lm(formula = y ~ x, data = d)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.3382 -0.5340  0.1310  0.6636  1.8289 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  0.17415    0.26243   0.664     0.51    
x            0.96350    0.05187  18.574   <2e-16 ***
---
Signif. codes:  0 *** 0.001 ** 0.01 * 0.05 . 0.1   1

Residual standard error: 0.9719 on 48 degrees of freedom
Multiple R-squared:  0.8779,	Adjusted R-squared:  0.8753 
F-statistic:   345 on 1 and 48 DF,  p-value: < 2.2e-16

結果の読み方ですが、求めたい「直線」の切片は0.17415、傾きは0.96350と推定されています。切片のp値は0.51と大きいですが、傾きに関しては$10^{-16}$程度なので十分小さいと言えるでしょう。

描画

さて、この結果を描画してみましょう。
ggplot2で描画するには

d %>%
  ggplot(aes(x, y)) +
  geom_point() +
  geom_smooth(method = "lm", se=FALSE, formula = y ~ x)

結果がこちら
sample1.png

R標準のplot()で描画することもできます。

plot(d)
abline(sample.lm)

結果がこちら
sample1_plot.png

以上が単回帰という、Rでできることのほんの一例です。
次回以降、項目に分けてより詳しく述べていく予定です。

トップページはこちら

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?