iT邦幫忙

2023 iThome 鐵人賽

DAY 23
0
AI & Data

30天成為資料分析師-手把手R語言與資料分析教學系列 第 23

[Day23] R語言-迴歸預測模型(連續型)

  • 分享至 

  • xImage
  •  

預測是使用過去的歷史資料來推估未來的情況,模型的準確率越高代表在預測未來情況的時候將可能越準。此外,資料量多寡、資料的穩定性也有助於模型準確率提升

迴歸模型是最簡單且常見的連續型預測模型,使用迴歸模型時資料須包含自變數(X)和應變數(Y),也是一種監督式學習模型,在訓練模型的時候需要有標籤(Y)的資料,舉個例子: 利用氣溫(X)來預測商店冰淇淋的銷售數(Y)

# 資料
ice_cream_predict = data.frame( 
                      temperature = c(30, 35, 25, 30, 23, 34, 10, 25, 15, 10,
                                      42, 38, 31, 25, 30, 33, 13, 26, 17, 12,
                                      35, 32, 33, 27, 36, 36, 15, 28, 15, 13,
                                      35, 34, 13, 23, 30, 30, 10, 25, 19, 15), 
                      sales = c(47, 48, 42, 45, 42, 47, 33, 42, 38, 35,
                                53, 49, 46, 42, 45, 46, 36, 43, 38, 36,
                                44, 46, 46, 44, 52, 50, 38, 44, 38, 36,
                                48, 47, 34, 42, 45, 45, 30, 42, 40, 38)
                              ) 

使用lm()函數來建立迴歸模型,並利用summary()來查看模型結果,由下表可以看到temperature是影響銷量的顯著因素,因為 Pr(>|t|) < 2e-16 顯示P-value < 0.05,當該變數的P-value不顯著時,代表他不是影響銷售量的主要因素,可以選擇不加入模型做訓練。
判斷模型好壞: R-squared 約為 0.93,顯示模型的解釋例高

# regression model
model <- lm(sales ~ temperature, data = ice_cream_predict)
summary(model)
Call:
lm(formula = sales ~ temperature, data = ice_cream_predict)

Residuals:
    Min      1Q  Median      3Q     Max 
-4.0666 -0.4374 -0.0666  0.8954  3.3705 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 28.36449    0.62109   45.67   <2e-16 ***
temperature  0.56292    0.02319   24.28   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.331 on 38 degrees of freedom
Multiple R-squared:  0.9394,	Adjusted R-squared:  0.9378 
F-statistic: 589.3 on 1 and 38 DF,  p-value: < 2.2e-16

確認模型的解釋力高之後,可以進行其他的數據預測
例如: 預測當溫度為40度的時候,冰淇淋銷售量為多少? (約為45支)

predict(model, data.frame(temperature = 30))
     1 
45.252 

還可以再加入其他變數,例如:氣溫(X1)、每天進入該店的人數(X2)來預測冰淇淋銷售量(Y),也可以使用同樣的函數lm(), summary()來看模型表現好壞


上一篇
[Day22]資料分析-假說檢定(2)
下一篇
[Day24] R語言-邏輯斯迴歸(分類模型)
系列文
30天成為資料分析師-手把手R語言與資料分析教學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言