3
4

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】多項式回帰

Posted at

備忘録的なメモです。

多項式回帰分析の方法。

使うデータフレームは、Rの標準データの、

DNase

です。

データの読み込み

#データの読み込み
DF <- DNase

まずは、次のような2次式を回帰式とした場合、

y = b_0 + b_1x_1 + b_2x_1^2
\\

この場合は、こんなスクリプト。

LM2a <- lm(density ~ conc + I(conc^2), data = DF)

あるいは、こんな書き方でもいける。

LM2b <- lm(density ~ poly(conc, degree = 2, raw = TRUE), data = DF)

**coefficients()**で回帰係数を確認すると、

#回帰係数を確認
coefficients(LM2a)
coefficients(LM2b)
> #回帰係数を確認
> coefficients(LM2a)
(Intercept)        conc   I(conc^2) 
 0.12197753  0.31807970 -0.01501489 
> coefficients(LM2b)
                        (Intercept) poly(conc, degree = 2, raw = TRUE)1 poly(conc, degree = 2, raw = TRUE)2 
                         0.12197753                          0.31807970                         -0.01501489 

続いて、次のような3次式を回帰式とした場合、

y = b_0 + b_1x_1 + b_2x_1^2 + b_3x_1^3
\\

こんなスクリプト。

LM3a <- lm(density ~ conc + I(conc^2) + I(conc^3), data = DF)

あるいは、

LM3b <- lm(density ~ poly(conc, degree = 3, raw = TRUE), data = DF)

**coefficients()**で回帰係数を確認すると、

coefficients(LM3a)
coefficients(LM3b)
> coefficients(LM3a)
(Intercept)        conc   I(conc^2)   I(conc^3) 
 0.05779811  0.46110796 -0.05173350  0.00206439 
> coefficients(LM3b)
                        (Intercept) poly(conc, degree = 3, raw = TRUE)1 poly(conc, degree = 3, raw = TRUE)2 
                         0.05779811                          0.46110796                         -0.05173350 
poly(conc, degree = 3, raw = TRUE)3 
                         0.00206439 

こんな感じで多項式回帰分析をやります。

#最終的なスクリプト

#Rをきれいにする
rm(list = ls())

#データの読み込み
DF <- DNase

#回帰分析(二次式)
LM2a <- lm(density ~ conc + I(conc^2), data = DF)
LM2b <- lm(density ~ poly(conc, degree = 2, raw = TRUE), data = DF)

#回帰係数を確認(二次式)
coefficients(LM2a)
coefficients(LM2b)

#回帰分析(三次式)
LM3a <- lm(density ~ conc + I(conc^2) + I(conc^3), data = DF)
LM3b <- lm(density ~ poly(conc, degree = 3, raw = TRUE), data = DF)

#回帰係数を確認(三次式)
coefficients(LM3a)
coefficients(LM3b)
3
4
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
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?