簡單線性迴歸

 

 

名稱

說明

簡單線性迴歸

(simple linear regression)

  • 簡單線性迴歸模型如下:

    \begin{displaymath}
Y=\beta_0+\beta_1 x+\varepsilon\mbox{, }
\end{displaymath}

其中$Y$為隨機變數, $x$為一獨立的變數。而$\beta_0$, $\beta_1$為二待估的參數, 分別表迴歸線之斜率及截距。 此外$\varepsilon$為一隨機變數, 通常假設 $E(\varepsilon)=0$,$Var(\varepsilon)=\sigma^2$

最小平方法

(least squares method)

  • 在簡單線性迴歸模型中, 利用最小平方法可解得其參數估計。

  • 最小平方法是基於下述二次式

\begin{displaymath}
S(\beta_0,\beta_1)=\sum_{i=1}^n
(y_i-\beta_0-\beta_1x_i)^2\mbox{\raisebox{-1.2mm}{\scriptsize {$\circ$}}}
\end{displaymath}

分別對$\beta_0$$\beta_1$微分並令其為0, 則可得

$\displaystyle \sum_{i=1}^n(y_i-\beta_0-\beta_1x_i)$$\textstyle =$$\displaystyle 0\mbox{, }$

$\displaystyle \sum_{i=1}^n x_i(y_i-\beta_0-\beta_1x_i)$$\textstyle =$$\displaystyle 0\mbox{\raisebox{-1.2mm}{\scriptsize {$\circ$}}}$

由上二式可解得參數$\beta_0$$\beta_1$之估計值分別為

\begin{eqnarray*}
\hat{\beta}_1&=&\frac {\sum_{i=1}^n(x_i-\bar{x})(y_i-\bar{y})}...
...y}-\beta_1\bar{x}\mbox{\raisebox{-1.2mm}{\scriptsize {$\circ$}}}
\end{eqnarray*}

其中 $\bar{x}=\sum_{i=1}^nx_i/n$, $\bar{y}=\sum_{i=1}^ny_i/n$。  

參數的信賴區間
  • $\beta_0$ $100(1-\alpha)\%$信賴區間如下:

\begin{displaymath}\hat{\beta}_0-t_{\alpha/2,n-2}se(\hat{\beta}_0)\leq\beta_0\leq
\hat{\beta}_0+t_{\alpha/2,n-2}se(\hat{\beta}_0),\end{displaymath}

其中$se(\hat{\beta}_0)=\sqrt{MS_E(1/n+\bar{x}^2/\sum_{i=1}^n(x_i-\bar{x})^2)}$

為截距的標準差。

  • $\beta_1$ $100(1-\alpha)\%$信賴區間如下:

\begin{displaymath}\hat{\beta}_1-t_{\alpha/2,n-2}se(\hat{\beta}_1)\leq\beta_1\leq
\hat{\beta}_1+t_{\alpha/2,n-2}se(\hat{\beta}_1),\end{displaymath}

 

其中 $se(\hat{\beta}_1)\linebreak =\sqrt{MS_E/\sum_{i=1}^n(x_i-\bar{x})^2}$為斜率的標準差。

 

  • 配適最小平方法:lsfit(x, y,  intercept=TRUE, tolerance=1e-07, yname=NULL)

  • 配適線性模型:lm(formula, data, subset, method = "qr")

  • 資料摘要整理:summary(object)

            參數說明

  •  x:代表數據。為一矩陣,列代表數據資料,行代表變數值。

  • y:代表反應值、因變數。

  • intercept:是否使用截距項。

  • tolerance:矩陣分解誤差的容忍度。

  • yname:因變數的名稱。

  • formula:配式模型的符號描述。

  • data:配式模型符號的描述。

  • subset:用來配式模型過程中的一個特殊向量。

  • method:配式模型所使用的方法。

          資料說明:(來源:統計軟體R之內建資料庫)

  在此我們以老忠實噴泉的數據為例。此筆數據來自美國懷俄明(Wyoming)洲之黃石公園(Yellowstone National Park)的老忠實噴泉(Old Faithful geyser )。共記載了兩筆數據,一為兩次噴發的時間間隔,一為每次噴發維持的時間。其散佈圖如下:

        所配適的線性迴歸模型為

\begin{displaymath}\hat{y}=\hat{\beta}_0+\hat{\beta}_1x=-1.874016+0.075628x\mbox{\raisebox{-1.2mm}{\scriptsize {$\circ$}}}\end{displaymath}

     範例程式碼:  

> data(faithful)
> fit.faithful<-lm(eruptions~.,faithful)
> summary(fit.faithful)


        

        我們先給出此例之變異數分析表。(關於變異數分析,我們之後會有詳細之介紹)。

 

由變異數分析表中的$F$統計量可用來檢定斜率是否為0, 即檢定$H_0:\beta_1=0$$\circ$若要拒絕$H_0$, 則 $F_0>F_{\alpha,1,n-2}$$\circ$由資料顯示老忠實噴泉數據的 $F_0=1162.1>F_{0.05,1,270}=0.003939457$, 故拒絕$H_0$的假設。

     範例程式碼:  

> aov.faithful<-aov(lm(eruptions~.,faithful))
> summary(aov.faithful)

        

另外,我們給出老忠實噴泉的殘差與配適值的散佈圖。

 

     範例程式碼:  

> plot(fitted(fit.faithful),residuals(fit.faithful),pch=20,
+ xlab="fitted value",ylab="residuals")

 


單因子變異數分析

 

 

名稱

說明

變異數分析

(analysis of variance, 或簡稱ANOVA)

  • 一種常用在實驗設計資料上的分析方法。

  • 在前面的簡單線性迴歸中,我們已有提到變異數分析表。根據簡單線性迴歸模型,將其變異數分析表,表列如下:

 

單因子變異數分析

(one-way ANOVA)

  • 單因子變異數分析的模型為:

\begin{displaymath}
y_{ij}=\mu+\tau_i+\varepsilon_{ij},\quad i=1,2,\cdots,k,\quad
j=1,2,\cdots,n,
\end{displaymath}

其中$y_{ij}$為第$i$組資料中第$j$個觀測值, $\mu$$k$組的共同參數, $\tau_i$為影響第$i$組結果的一個參數, $\varepsilon_{ij}$為一誤差項並且 滿足 $E(\varepsilon_{ij})=0$ $Var(\varepsilon_{ij})=\sigma^2$, $\forall\ i=1,2,\cdots,k,j=1,2,\cdots,n$

  • 變異數分析相當於檢定所有$k$組資料的期望值是否相等, 亦即

  •  

  • 單因子變異數分析表如下:

其中$\bar{y}_{i.}$代表第$i$組中$n$個觀測值的平均, 即 $\bar{y}_{i.}=\frac {1}{n}\sum_{j=1}^ny_{ij}$$\bar{y}_{..}$ 表示整體平均, 即 $\bar{y}_{..}=\frac {1}{kn}\sum_{i=1}^k\sum_{j=1}^ny_{ij}$$F_0$為檢定統計量, 且在$H_0$的假設下, $F_0$服從$F$分佈, 自由度分別為$k-1$, $k(n-1)$。故若 $F_0>F_{\alpha,k-1,k(n-1)}$ 則拒絕$H_0$的假設, 反之則接受$H_0$

 

  • 因子型態:is.factor(x)

  • 變異數分析:aov(formula, data = NULL)

            參數說明

  •  is.factor:檢查資料x是否為因子型態。

  • formula:配式模型的符號描述。

  • data:配式模型符號的描述。

          資料說明:

Montgomery(2001)曾研究過關於男性襯衫織布的化學合成物纖維抗拉強度的實驗。 此強度是受由纖維中棉花的百分比所影響。資料內容如表 3。


表 3 纖維抗拉強度數據資料

棉花百分比 抗拉強度
15 7 7 15 11 19
20 12 17 12 18 18
25 14 18 18 19 19
30 19 25 22 19 23
35 7 10 11 15 11

      

     範例程式碼:  

> redanova<-read.table("anova.csv",sep=",",header=T)
> boxplot(Strength~Cotton,data=redanova,col=c(gray(0.8)),
+ xlab="percentage of Cotton",ylab="Tensile Strength",pch=20)

 

 

> if (!is.factor(redanova$Cotton))
+ redanova$Cotton<-factor(redanova$Cotton)
> a<-aov(Strength~Cotton, data=redanova)
> summary(a)