1 課程目標

本週上課將介紹迴歸的基本原理,配合之前討論的研究設計,可以描述兩個變數之間的關係。例如:

library(UsingR)
## Loading required package: MASS
## 
## Attaching package: 'MASS'
## The following object is masked from 'package:dplyr':
## 
##     select
## Loading required package: HistData
## Loading required package: Hmisc
## Loading required package: lattice
## Loading required package: survival
## Loading required package: Formula
## Loading required package: ggplot2
## 
## Attaching package: 'Hmisc'
## The following objects are masked from 'package:dplyr':
## 
##     src, summarize
## The following objects are masked from 'package:base':
## 
##     format.pval, units
## 
## Attaching package: 'UsingR'
## The following object is masked from 'package:survival':
## 
##     cancer
ggplot(nym.2002, aes(age, time)) +
       geom_point(col="#808000", size=2) +
       geom_smooth(method="lm")  +
       theme_bw() +
       theme(axis.title=element_text(size=12), 
             axis.text = element_text(size=12))

2 迴歸的意義

  • 迴歸的目的是找到依變數或是反應變數(outcome)Y與一個或是一個以上的預測變數(predictor)X的函數關係。
  • 迴歸的基礎觀念是條件機率,也就是迴歸線逼近在X成立的條件下,Y的平均值。所以模型的對象是\(E[Y|X]\),也就是X變化時,Y的平均值變化大小。
  • 母體迴歸函數(Population regressio function)一般表示為\(E(Y|X)=\beta_{0}+X\beta_{1}+\epsilon\),或者\(Y=f(X)+\epsilon\)。就是盡可能逼近X各類別下Y的平均數的函數。一旦找到這樣的迴歸函數,可以用來預測其他的觀察值,或是進行因果推論。根據資料的特性,可使用不同的關聯性指標:
  • 迴歸名詞解釋

  • 參數:\(E[Y|X]\)是觀察不到的母體參數,所以模型的對象\(E(Y|X)\)。是因為我們只有一組樣本,所以得到的只是\(E[Y|X]\)的估計其中之一。
  • 樣本統計:\(\hat{E}[Y|X]\)
  • 估計:某一個樣本所得到的\(\hat{E}(Y|X)\)
  • 2.1 有母數與無母數迴歸

  • 母數模式意為函數是由一組母數所規範;具有某種固定的型態,例如線性、對數等等。無母數的模式則為未知的函數型態,簡單地講,也就是沒有母數的限制。
  • 母數迴歸模式的最大優點是可以推論迴歸結果,但是其缺點就是迴歸形式固定而呆板。無母數迴歸的優點是符合資料程度高,但是難以推論。
  • 無母數迴歸不假設變數之間有線性關係,目的是選擇合適的平滑參數,讓通過樣本的迴歸線能夠最好地逼近真實的迴歸曲線,也就是讓均方誤差為最小。
  • 無母數迴歸可以作為測試最小平方法迴歸模型是否線性的基礎。
  • 無母數迴歸及散佈圖可以作為瞭解資料分佈的基礎,有可能是非線性分佈。
  • 無母數迴歸係數無法像線性迴歸係數,可以進行\(t\)檢定或是推論母體的參數。它只能讓我們觀察最接近每一個點的線。
  • 無母數迴歸使用的樣本統計(estimator)有很大的彈性。帶寬越小,越有彈性,預測值的變異數也越大。
  • 帶寬越大,越不具彈性,與真實模型之間的誤差越大。

  • 3 有母數統計:線性迴歸

  • 線性迴歸假設條件平均值呈現線性。
  • \(E[Y|X]=\beta_{0}+X\beta_{1}\)

  • 只有兩個係數。\(\beta_{0}\)稱為截距或常數,\(\beta_{1}\)稱為斜率係數。當X=0,\([Y|X=0]\)等於Y的期望值,也就是\(\beta_{0}\)
  • 線性假設的其中之一是截距為固定。 使用觀察資料,或者訓練資料,會得到預測值,表示為: \(\hat{y}=\hat{\beta}_{0}+\hat{\beta}_{1}x\)
  • \(y_{i}\)\(\hat{y}\)之間的差異稱為殘差\(e_{i}\),或者residual
  • 電視廣告與銷售量

  • 電視廣告與銷售量之間的關係以迴歸表示為:
  • sales \(\approx {\beta}_{0}+{\beta}_{1}\cdot\) TV

    site="http://www-bcf.usc.edu/~gareth/ISL/Advertising.csv"
    Advertising<-read.csv(file = url(site), sep=',', header = TRUE)
    m1<-lm(sales ~ TV, data=Advertising)
    summary(m1)
    ## 
    ## Call:
    ## lm(formula = sales ~ TV, data = Advertising)
    ## 
    ## Residuals:
    ##     Min      1Q  Median      3Q     Max 
    ## -8.3860 -1.9545 -0.1913  2.0671  7.2124 
    ## 
    ## Coefficients:
    ##             Estimate Std. Error t value Pr(>|t|)    
    ## (Intercept) 7.032594   0.457843   15.36   <2e-16 ***
    ## TV          0.047537   0.002691   17.67   <2e-16 ***
    ## ---
    ## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    ## 
    ## Residual standard error: 3.259 on 198 degrees of freedom
    ## Multiple R-squared:  0.6119, Adjusted R-squared:  0.6099 
    ## F-statistic: 312.1 on 1 and 198 DF,  p-value: < 2.2e-16
    資料來源:James et al., 2013
  • 電視廣告與銷售量之間的關係可寫成sales = \(7.03+0.04\cdot\) TV
  • 但是觀察到的sales與迴歸線預測的之間會有差異。
  • 畫圖如下:

    library(ggplot2)
    A1<-ggplot(Advertising, aes(x=TV, y=sales)) +
      labs(y = 'Sales', x = 'TV')  +
      geom_point(col="saddlebrown") +
      geom_smooth(method="lm", col='blue', se=F, size=1.5) ; A1

    加上預測值以及觀察值與預測值之間的殘差(參考BLOGR):

    Advertising$predicted <- predict(m1)   # Save the predicted values
    Advertising$residuals <- residuals(m1) # Save the residual values
    
    # Quick look at the actual, predicted, and residual values
    #library(dplyr)
    #Advertising %>% select(predicted, residuals) %>% head()
      ggplot(Advertising, aes(x=TV, y=sales)) +
        geom_point(color="saddlebrown") +
        geom_point(aes(y = predicted), shape = 1, color="red") +
        geom_segment(aes(xend=TV, yend=predicted), color="lightgray") +
        theme_bw()

  • 如果殘差的總和越小,預測值與觀察值就越接近,所得到的迴歸係數以及整個模型就越能預測未來的依變數。
  • 3.1 複迴歸

    複回歸的優點

  • 可以統計更多資訊,做為描述之用
  • 改善模型的預測能力,解釋單一變數無法解釋的變異量
  • 控制可能的「混淆」(confounding)變數,以利因果推論
  • 估計更複雜的模型(例如:\(Y=\beta_{0}+\beta_{1}X_{1}+\beta_{2}X_{2}^2\))
  • 估計有交互作用變項的模型(例如:\(Y=\beta_{0}+\beta_{1}X_{1}+\beta_{2}X_{2}+\beta_{3}X_{1}X_{2}\))
  • 單迴歸的模型寫成: \(E[Y|X_{1}=x_{1}]=\beta_{0}+\beta_{1}x_{1}\)
  • 雙變數的迴歸模型可寫成: \(E[Y|X_{1}=x_{1}, X_{2}=x_{2}]=\beta_{0}+\beta_{1}x_{1}+\beta_{2}x_{2}\)
  • 複迴歸模型

  • 先分別估計單迴歸模型:
  • library(foreign)
    iq<-read.dta("kidiq.dta")
    f1 <- with(iq, lm(kid_score ~ mom_hs) )
    summary(f1)
    ## 
    ## Call:
    ## lm(formula = kid_score ~ mom_hs)
    ## 
    ## Residuals:
    ##    Min     1Q Median     3Q    Max 
    ## -57.55 -13.32   2.68  14.68  58.45 
    ## 
    ## Coefficients:
    ##             Estimate Std. Error t value Pr(>|t|)    
    ## (Intercept)   77.548      2.059  37.670  < 2e-16 ***
    ## mom_hs        11.771      2.322   5.069 5.96e-07 ***
    ## ---
    ## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    ## 
    ## Residual standard error: 19.85 on 432 degrees of freedom
    ## Multiple R-squared:  0.05613,    Adjusted R-squared:  0.05394 
    ## F-statistic: 25.69 on 1 and 432 DF,  p-value: 5.957e-07

    估計結果寫成:
    kid_score = \(77.548 + 11.77\cdot\) mom_hs

    f2 <- with(iq, lm(kid_score ~ mom_iq))
    summary(f2)
    ## 
    ## Call:
    ## lm(formula = kid_score ~ mom_iq)
    ## 
    ## Residuals:
    ##     Min      1Q  Median      3Q     Max 
    ## -56.753 -12.074   2.217  11.710  47.691 
    ## 
    ## Coefficients:
    ##             Estimate Std. Error t value Pr(>|t|)    
    ## (Intercept) 25.79978    5.91741    4.36 1.63e-05 ***
    ## mom_iq       0.60997    0.05852   10.42  < 2e-16 ***
    ## ---
    ## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    ## 
    ## Residual standard error: 18.27 on 432 degrees of freedom
    ## Multiple R-squared:  0.201,  Adjusted R-squared:  0.1991 
    ## F-statistic: 108.6 on 1 and 432 DF,  p-value: < 2.2e-16

    估計結果寫成:
    kid_score = \(25.799+ 0.609\cdot\) mom_iq

  • 雙變數模型:
  • \(\widehat{\mathrm {Kid's\hspace{.25em} Scores}}=\hat{\beta}_{0}+\hat{\beta}_{1}(\mathrm {Mom\hspace{.25em} has\hspace{.25em} HS\hspace{.25em} degree})+\hat{\beta}_{2}(\mathrm {Mom's\hspace{.25em} IQ})\)

    \(X_{1}=1\)(母親有高中學歷), \[ \begin{eqnarray} \widehat{\mathrm {Kid's\hspace{.25em} Scores}} & = &\hat{\beta}_{0}+\hat{\beta}_{1}\cdot 1+\hat{\beta}_{2}(\mathrm {Mom's\hspace{.25em} IQ}) \\ & = &\hat{\beta}_{0}+\hat{\beta}_{1}+\hat{\beta}_{2}(\mathrm {Mom's\hspace{.25em} IQ}) \end{eqnarray} \]

    \(X_{1}=0\)(母親沒有高中學歷),
    \[ \begin{eqnarray} \widehat{\mathrm {Kid's\hspace{.25em} Scores}} & = &\hat{\beta}_{0}+\hat{\beta}_{1}\cdot 0+\hat{\beta}_{2}(\mathrm {Mom's\hspace{.25em} IQ}) \\ & = &\hat{\beta}_{0}+\hat{\beta}_{2}(\mathrm {Mom's\hspace{.25em} IQ}) \end{eqnarray} \]

    也就是說,這兩個模型的斜率一樣,但是當\(X_{1}=1\)時,截距多了 \(\hat{\beta}_{1}\)
    進行估計如下:

    f3 <- with(iq, lm(kid_score ~ mom_hs + mom_iq))
    summary(f3)
    ## 
    ## Call:
    ## lm(formula = kid_score ~ mom_hs + mom_iq)
    ## 
    ## Residuals:
    ##     Min      1Q  Median      3Q     Max 
    ## -52.873 -12.663   2.404  11.356  49.545 
    ## 
    ## Coefficients:
    ##             Estimate Std. Error t value Pr(>|t|)    
    ## (Intercept) 25.73154    5.87521   4.380 1.49e-05 ***
    ## mom_hs       5.95012    2.21181   2.690  0.00742 ** 
    ## mom_iq       0.56391    0.06057   9.309  < 2e-16 ***
    ## ---
    ## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    ## 
    ## Residual standard error: 18.14 on 431 degrees of freedom
    ## Multiple R-squared:  0.2141, Adjusted R-squared:  0.2105 
    ## F-statistic: 58.72 on 2 and 431 DF,  p-value: < 2.2e-16

    估計得到的模型為:\[\hat{Y}=25.73+5.95\cdot 高中畢業與否 +0.56\cdot 母親智商\]
    係數分別代表的意義為:

  • \(\hat{\beta}_{0}\)代表母親沒有高中畢業的迴歸線的截距
  • \(\hat{\beta}_{1}\)代表母親有無高中畢業的兩條迴歸線的垂直距離
  • \(\hat{\beta}_{2}\)代表兩條線的斜率
  • ggplot(iq, aes(x=mom_iq, y=kid_score, group=mom_hs)) +
        geom_point(aes(color=factor(mom_hs)), shape=1, size=2)  +
        geom_abline( slope=0.56, intercept=25.73, col="indianred", size=1.2) +
        geom_abline(slope=0.6, intercept=31.73, col="blue", size=1.2) +
        scale_color_discrete(name = "Mother with High School Degree",
                             labels=c("No High School Degree","High School Degree")) +
        theme_bw() +
        theme(legend.position = "top") +
        labs(x="Mother's IQ", y="Kid's Score")

    3.2 兩個連續變數

  • 改用母親的智商與年齡這兩個連續變數預測依變數:學生成績,估計模型:
  • fit4 <- with(iq, lm(kid_score ~ mom_iq + mom_age))
    summary(fit4)
    ## 
    ## Call:
    ## lm(formula = kid_score ~ mom_iq + mom_age)
    ## 
    ## Residuals:
    ##     Min      1Q  Median      3Q     Max 
    ## -56.941 -12.493   2.257  11.614  46.711 
    ## 
    ## Coefficients:
    ##             Estimate Std. Error t value Pr(>|t|)    
    ## (Intercept) 17.59625    9.08397   1.937   0.0534 .  
    ## mom_iq       0.60357    0.05874  10.275   <2e-16 ***
    ## mom_age      0.38813    0.32620   1.190   0.2348    
    ## ---
    ## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    ## 
    ## Residual standard error: 18.26 on 431 degrees of freedom
    ## Multiple R-squared:  0.2036, Adjusted R-squared:  0.1999 
    ## F-statistic: 55.08 on 2 and 431 DF,  p-value: < 2.2e-16

    \[ \hat{Y}=17.6+0.6\cdot 母親智商 +0.39\cdot 母親年齡 \]

    雙連續變數的迴歸係數分別代表的意義為:

  • \(\hat{\beta}_{0}=17.6\)代表母親智商與年齡等於0的截距(沒有意義)
  • \(\hat{\beta}_{1}=0.6\)代表對於同樣的兩個觀察值,母親年齡相同但是母親智商有一單位的差異預期帶來的學生分數的差異。
  • \(\hat{\beta}_{2}=0.39\)代表對於同樣的兩個觀察值,母親智商相同但是母親年齡有一單位的差異預期帶來的學生分數的差異。
  • 因為

    \[ \mathcal{\frac{\partial (y=\beta_{0}+\beta_{1}X_{1}+\beta_{2}X_{2})}{\partial X_{1}}}=\beta_{1} \]

    所以\(\hspace{.3em}\beta_{1}\hspace{.3em}\)代表當其他變數在同一個值或是水準時,對於\(\hspace{.3em}y\hspace{.3em}\)的淨作用。

    4 交互作用

  • 假設\(Y\)因為第二個變數\(Z\)而有差異,而且自變數\(X\)也因為\(Z\)有差異,我們需要考慮交互作用:
  • \[\widehat{\mathrm {Kid's\hspace{.25em} Scores}}=\hat{\beta}_{0}+\hat{\beta}_{1}(\mathrm {Mom\hspace{.25em} has\hspace{.25em} HS\hspace{.25em} degree})+\hat{\beta}_{2}(\mathrm {Mom's\hspace{.25em} IQ}) + \hat{\beta}_{3}(\mathrm{Mom's\hspace{.25em} IQ}\cdot \mathrm{Mom's\hspace{.25em} HS}) \]
  • 重新估計:
  • fit5 <- with(iq, lm(kid_score ~ mom_iq + mom_hs+mom_iq:mom_hs))
    fit5.1<-with(iq, lm(kid_score[mom_hs==1] ~ mom_iq[mom_hs==1]))
    fit5.2<-with(iq, lm(kid_score[mom_hs==0] ~ mom_iq[mom_hs==0]))
    Dependent variable:
    kid_score[mom_hs == 1] kid_score[mom_hs == 0] kid_score
    (1) (2) (3)
    mom_iq[mom_hs == 1] 0.485***
    (0.065)
    mom_iq[mom_hs == 0] 0.969***
    (0.157)
    mom_iq 0.969***
    (0.148)
    mom_hs 51.268***
    (15.338)
    mom_iq:mom_hs -0.484***
    (0.162)
    Constant 39.786*** -11.482 -11.482
    (6.663) (14.601) (13.758)
    Observations 341 93 434
    R2 0.143 0.294 0.230
    Adjusted R2 0.140 0.286 0.225
    Residual Std. Error 17.664 (df = 339) 19.073 (df = 91) 17.971 (df = 430)
    F Statistic 56.422*** (df = 1; 339) 37.874*** (df = 1; 91) 42.839*** (df = 3; 430)
    Note: p<0.1; p<0.05; p<0.01
  • 請計算完整的模型(3),當母親高中程度變數分別為1與0,係數是否分別等於模型(1)與(2)?
  • 重新畫圖:

    ggplot(iq, aes(x=mom_iq, y=kid_score, group=mom_hs)) +
        geom_point(aes(color=factor(mom_hs)), shape=1, size=2)  +
        geom_abline( slope=0.969, intercept=-11.482, col="indianred", size=1.2) +
        geom_abline(slope=0.485, intercept=39.786, col="blue", size=1.2) +
        scale_color_discrete(name = "Mother with High School Degree",
                             labels=c("No High School Degree","High School Degree")) +
        theme_bw() +
        theme(legend.position = "top") +
        labs(x="Mother's IQ", y="Kid's Score")


    5 迴歸係數

  • 要知道迴歸的參數\(\beta_{0}\)以及\(\beta_{1}\),我們必須估計\(\hat{\beta_{0}}\)\(\hat{\beta_{1}}\),方法是盡量降低誤差的總和。我們用RSS(Residual Squared Sum)表示
  • \[ \begin{eqnarray} u &= &y_{i}-\hat{y}_{i} \\ &= & y_{i}- \tilde{\beta}_{0}-\tilde{\beta}_{1}x_{i} \end{eqnarray} \]
  • OLS迴歸的目標是最小化殘差,殘差可以計算為\(y_{i}-\hat{y}_{i}\),但是這會給所有的\({y}_{i}\)一樣的權重。改用殘差的平方和 (\(\it{SSR}\)), 才會給離迴歸線越遠的\({y}_{i}\)比較大的權重,這樣才能反映離差的大小。
  • \(S(\tilde{u})=\mathcal{\sum\limits_{i=1}^n(y_{i}-\tilde{u})^2}\)
  • OLS迴歸的目的是找到最小化以下模型的\(\{\hat{\beta}_{0},\hat{\beta}_{1}\}\)
  • \[ \{\tilde{\beta}_{0}, \tilde{\beta}_{1}\}= \] minimize
    \(\sum _{i=1}^n(y_{i}-\tilde{\beta}_{0}-x_{i}\tilde{\beta}_{0})^2\)
  • 樣本平均數就是最佳的殘差,也就是最小平方法的樣本統計(estimator)
  • \[\hat{u} \equiv \tilde{u} = \frac{1}{n}\mathcal {\sum\limits_{i=1}^n y_{i}} \]

  • 經過對上述方程式微分之後,迴歸係數可計算為
  • \[ \mathcal{\hat{\beta}_{1}=\frac{\sum y_{i}-\hat{\beta}_{0}n}{\sum x_{i}}} \] \[ \mathcal{\hat{\beta}_{0}=\frac{\sum x_{i}y_{i}-\hat{\beta}_{1}\sum x_{i}^2}{\sum x_{i}}} \]
  • 經過推導,\(\hat{\beta_{1}}\)可改計算為:
  • \[ \hat{\beta_{1}}=\mathcal{n\sum (x_{i}-\bar{x})(y_{i}-\bar{y})} \]

    從線性函數推導

  • 假設\(Y=f(X)\)
  • 當X從\(a_{1}\)改變到\(a_{2}\)\(f(a_{1})\)也變成\(f(a_{2})\)
  • 因此,X的變動程度造成Y的變動程度表示為\(\mathcal{m=\frac{\mathit{f(a_{2})-f(a_{1})}}{\mathit{a_{2}-a_{1}}}}\),也就是線性函數的斜率。 也有人表示為\(\frac{\Delta Y}{\Delta X}\)
  • 其中\(a_{2}>a_{1}\)
  • 如果用微分方式,對於可微分的函數,求通過函數上任何一點的斜率:\(\mathcal{\mathrm{lim}_{\mathit{h}\rightarrow 0}\frac{\mathit{f(x+h)-f(x)}}{\mathit{h}}}\)
  • 因此,微分函數之後代表X變動一個單位,Y的變動
  • 另一種迴歸係數的計算方式:
  • \[ \begin{eqnarray} \hat{\beta}_{1} & = & \frac{\sum_{i=1}^n(x_{i}-\bar{x})(y_{i}-\bar{y})}{\sum_{i=1}^n(x_{i}-\bar{x})^2} \\ & = &\frac{Sample\hspace{.5em} covariance\hspace{.5em} of\hspace{.5em} X\hspace{.5em} and\hspace{.5em} Y}{sample\hspace{.5em} variance\hspace{.5em} of\hspace{.5em} X} \end{eqnarray} \] 另一方面, \[ \hat{\beta}_{0}=\bar{y}-\hat{\beta}_{1}\bar{x} \] 根據以上的公式可以得出兩個結論:
  • X的變異數越大,\(\hat{\beta}_{1}\)越小
  • X, Y的共變量越大,\(\hat{\beta}_{1}\)越大
  • 各項名詞的意義

  • \(y_{i}-\bar{y}\)等於是用y的平均值無法預測到\(y_{i}\)的部分
  • \(\hat{u}_{i}=y_{i}-\hat{y}_{i}\)是用迴歸線無法預測到\(y_{i}\)的部分
  • \(\hat{y}-\bar{y}\)是y的預測值與平均值的差異。
  • \(\sum _{i}^n(y_{i}-\bar{y})^2\)=SST=Var[y]
  • Total Sum of Squares
  • y的變異量(variability)可表示如下:
  • Residual Sum of Squares
    \[ \begin{eqnarray} \sum _{i}^n(\hat{y}_{i}-y_{i})^2 &=&\sum _{i}^n\hat{u}^2\\ &= &SSR \\ & = & Var[\hat{u}] \end{eqnarray} \]
    Explained Sum of Squares
    \[ \begin{eqnarray} \sum _{i}^n(\hat{y}-\bar{y})^2 & = & SSE\\ & = & Var[\hat{y}] \end{eqnarray} \]

    SST=SSE+SSR

    \(r^2\)的意義

  • 因為SST=SSE+SSR,所以有以下的關係:
  • \[ \mathcal{\frac{SST}{SST}=\frac{SSE}{SST}+\frac{SSR}{SST}} \] 以及
    \[ \mathcal{\Longleftrightarrow \frac{SSE}{SST}=1-\frac{SSR}{SST}\equiv R^2} \]
  • \(R^{2}\)可以詮釋成Y的變異量被X解釋的百分比,而且\(0\leq R^{2} \leq 1\)
  • 如果\(R^{2}=0\), \(\hat{y}=\bar{y}\),X完全無法解釋Y
  • 如果\(R^{2}=1\), 每一個點\((x_{i},y_{i})\)落在迴歸線上
  • 不同的資料有可能得到相近的\(R^2\)
  • 先創造兩個變數,並且計算相關係數:

    set.seed(02138)
    X1 <-rnorm(100, 0, 1); X2 <- X1+rnorm(100, 0, 1)
    print(cor(X1, X2))
    ## [1] 0.6743386

    再創造Y,並且估計迴歸模型:

    #Y
    Y <- X1+rt(100, 40)
    f1<-lm(Y ~ X1)
    f2<-lm(Y ~ X2)
    summary(f1); summary(f2)
    ## 
    ## Call:
    ## lm(formula = Y ~ X1)
    ## 
    ## Residuals:
    ##     Min      1Q  Median      3Q     Max 
    ## -2.7110 -0.6905  0.1052  0.7826  2.7231 
    ## 
    ## Coefficients:
    ##             Estimate Std. Error t value Pr(>|t|)    
    ## (Intercept) 0.006661   0.108008   0.062    0.951    
    ## X1          1.079323   0.108350   9.961   <2e-16 ***
    ## ---
    ## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    ## 
    ## Residual standard error: 1.076 on 98 degrees of freedom
    ## Multiple R-squared:  0.5031, Adjusted R-squared:  0.498 
    ## F-statistic: 99.23 on 1 and 98 DF,  p-value: < 2.2e-16
    ## 
    ## Call:
    ## lm(formula = Y ~ X2)
    ## 
    ## Residuals:
    ##     Min      1Q  Median      3Q     Max 
    ## -4.4921 -0.9750  0.0051  1.0920  2.9693 
    ## 
    ## Coefficients:
    ##             Estimate Std. Error t value Pr(>|t|)    
    ## (Intercept)  0.04759    0.13897   0.342    0.733    
    ## X2           0.50463    0.10171   4.961 2.95e-06 ***
    ## ---
    ## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    ## 
    ## Residual standard error: 1.365 on 98 degrees of freedom
    ## Multiple R-squared:  0.2008, Adjusted R-squared:  0.1926 
    ## F-statistic: 24.62 on 1 and 98 DF,  p-value: 2.947e-06

    觀察散佈圖:

    # graph
    par(xpd=NA, mar=par()$mar+c(1, 0, 0, 0))
    plot(X1, Y, type='n', xlab="X1, X2")
    points(X1, Y, pch=16)
    points(X2, Y, col="red", pch=16)
    legend("bottomright", c("X1","X2"), col=c("black", "red"), 
           pch=c(16, 16), bty="n")

  • X1與X2的相關係數為0.67,而Y被X1解釋0.498的變異量,只被X2解釋0.192的變異量。
  • 5.1 調整後\(R^2\)

    \[ R^2_{Adj}=1-\frac{(1-R^2)(n-1)}{n-k-1} \]


    6 作業

    1. 請針對mtcars這筆資料的hp以及mpg繪製散佈圖與迴歸線圖,並且計算迴歸係數

    2. 請使用UsingRbabies這筆資料,估計年齡(age)與身高(ht)對於嬰兒重量(wt)的影響。注意這些變數有一定的範圍。

    3.請問在學生成績的資料(studentsfull.txt)中,成績與性別有關嗎?

    4. 請問在nym.2002資料中,性別與年齡會影響完成馬拉松的時間嗎?

    5. 接續上一題,請加入性別與年齡的交互作用項,並且討論結果。