TEL:04-22078539 本中心網址:http://www2.cmu.edu.tw/~biostat/

 

活動訊息
本中心新成員簡介
生統中心服務成績
 
生物統計教室
 加權最小平方法及穩健迴歸模型之簡介

 

活動訊息
  • 2007/07/20∼2007/07/25
    本中心鄭光甫主任受邀訪問北京大學(生物醫學統計研討會及特別學術講座)

TOP


本中心新成員簡介

姓名 謝英
職稱 教授
學歷 Carnegie-Mellon University, Ph.D.
E-mail hsieh@flower.amath.nchu.edu.tw
聯絡電話 04-22053366
個人網站 http://140.120.7.1/~yhhsieh/indexC.htm
其他 個人詳細資料 

姓名 蔡政安
職稱 副教授
學歷 中央大學博士
E-mail catsai@stat.sinica.edu.tw 
聯絡電話 04-22053366
其他 個人詳細資料

姓名 陳錦華
職稱 助理教授
學歷 中央大學博士
E-mail 110544@mail.tku.edu.tw
聯絡電話 04-22053366
其他 個人詳細資料 

TOP


生統中心服務成績

 

20069月∼20077月本中心服務成績統計

結案報告統計表:

本中心在服務一位諮詢個案後,會給予諮詢者一份結案報告,可分為三種形式,「完整報告」其內容含有對於分析結果的詳細說明和相關分析結果。「簡式報告」分析結果的說明僅有簡略的說明和相關分析圖表。「撰寫文章和統計方法」為協助研究者撰寫文章中統計方法的敘述。

在排除掉「撰寫文章和統計方法」的結案報告後,20069月至20076月完成結案報告數為52份,其中完整報告有23份,而簡易報告有29份。

圖一、每月結案報告總份數

圖二、每月完整和簡易結案報告份數

 

來訪者諮詢型態統計表:

每位來諮詢的個案,生統中心都會予以紀律,大致上可分為兩種「諮詢」和「互訪」。「諮詢」可能只有有詢問統計相關問題,也可能會協助分析資料和討論其結果。「互訪」為與生統中心長期合作之單位,除了定期討論外,還會定期針對該單位的資料給予分析結果。

20066月至20077月總諮詢人次為533人次(每次來諮詢的客戶可能不只一人),其中「諮詢」的為333人次,「互訪」為200人次。就諮詢客戶來源,有179人次來自於學校,352人次來自於附設醫院。

圖三、每月諮詢次數

圖四、每月「諮詢」和「互訪」人次

圖五、每月諮詢來源人次

 

TOP


生物統計教室

加權最小平方法及穩健迴歸模型之簡介
生統中心 廖麗娜統計分析師
(download)

在實務研究中,大部分的研究者試圖想要探討兩變數間的關係是什麼?例如我想研究一群健康女性成人的“舒張壓”變化與“年齡”有何關係?但在現實世界中,舒張壓的變化很難只用年齡解釋清楚,可能還有其他的預測變數(predicted variables)對舒張壓的變化也有影響。或者對於某一種現象(outcome)我們感興趣的預測變數有二個以上,此時就須要使用較複雜的模型來說明。較常使用的方法是迴歸模型(regression model)。在使用迴歸模型時,我們常會忽略背後的假設條件,雖然在實務研究中要滿足所有假設條件有某種程度上的困難,但是要提醒研究者,若忽略模型背後的假設條件,那麼統計分析的結果真的是不偏(unbiased)嗎?或是估計值真的具有效率性(efficiency)嗎?

我們先談談當“誤差項的變異數不是常數”時的處理方式。一般來說,我們常使用“最小平方法(ordinal least squares, OLS)”來估計迴歸模型中的參數,用OLS方法所估計出的參數值具有“不偏”、“一致”且“有最小變異數”的良好性質,但是當“誤差項的變異數不是常數”時,OLS方法不再具有最小變異數,因此,我們需考慮其他解決方法,比如加權最小平方法(weighted least squares, WLS)。

OLSWLS差異在哪呢?使用OLS背後的假設條件是誤差項的變異數是常數(假設觀察值的變化是一樣的、穩定的),因此OLS對每一個觀察值一視同仁,權重值(weight)皆設定為1;當違反此假設時(觀察值的變化很大,不再是穩定的)WLS對變化很大的觀察值給予較低的權重(甚至接近於0,可以忽略)。以下將舉一個例子來說明違反假設條件誤差項的變異數是常數時,使用OLSWLS估計結果的差異。

      例子1:研究者想要了解在一群(N=54)健康的女性成人(20~60歲)中,舒張壓(DBP,Y)的變化與年齡(Age,X)的關係。首先,我們畫散佈圖(scatter plot)看看兩個變數間的關係,再以簡單線性迴歸模型(simple linear regression)配適,OLS參數估計結果及殘差圖(residual plots)如下。

 

                                                 SAS Code Example (OLS方法)

                                                                                                                                                                                            

 

data wlstest;

no+1;

input Age DBP @@;

 datalines;

  27   73   21   66   22   63   24   75   25   71   23   70   20   65

  20   70   29   79   24   72   25   68   28   67   26   79   38   91

  32   76   33   69   31   66   34   73   37   78   38   87   33   76

  35   79   30   73   31   80   37   68   39   75   46   89   49  101

  40   70   42   72   43   80   46   83   43   75   44   71   46   80

  47   96   45   92   49   80   48   70   40   90   42   85   55   76

  54   71   57   99   52   86   53   79   56   92   52   85   50   71

  59   90   50   91   52  100   58   80   57  109

;

run;

  

ods html

ods graphics on; /* 可以直接利用ODS GRAPHIC方法看經過模式配適後的相關圖形及殘差圖 */

 

 proc reg data=wlstest;  /* (內設是OLS方法) */

      model DBP = Age /SPEC;

 run quit;

 

ods graphics off;

ods html close;

 

 

 

                                                         SAS Output

                                                                                                                                                                                            

1DBPAge呈現線性的關係,但是隨著Age增加DBP的變異愈來愈大

我們可以說: 誤差項的變異數可能不是常數,可再做進一步檢定。

21. (residual vs predicted value) : 隨著DBP增加,residual的變化愈來愈大

2. (residual vs age) : 隨著Age增加,residual的變化愈來愈大

因此我們可以說: 誤差項的變異數可能不是常數。

 

利用OLS配適後的模型:

再經過檢定(利用SPEC,檢定H0:誤差項的變異數是常數),因為output中p=0.0025,所以拒絕虛無假設,即誤差項的變異數不是常數。因此我們再以WLS對此組資料做一次分析,得到以下估計模型:

比較上述兩種方法的估計結果,模型(2)中參數估計值的標準誤(standard error)比模型(1)來的小,也就是說用WLS來估計參數是較適合的,其結果具有不偏一致有最小變異數的良好性質。

 

                                                   SAS Code Example (WLS方法)

                                                                                                                 

 /******* WLS方法處理 " there is heteroskedasticity " 的情況 ************/

/* step1: REG (內設是OLS方法)model dbp = age r=resid */

 proc reg data=wlstest;

      model dbp = age;

      output  out=b  p=yhat r=resid ;   /*output結果存在 b */

 run quit;

  

 /* step2: r=resid的絕對值及平方 */

 data new;

 set b;

 abs_resid=abs(resid);

 sq_resid=resid*resid;

 run quit;

  

 

/* step3: REG (內設是OLS方法)

                 model abs_resid = age p=abs_hat ; model sq_resid = age p=sq_hat */

 proc reg data=new;

      model abs_resid  sq_resid= age ;

      output out=b1 p=abs_hat  sq_hat;    /*output結果存在 b1 */

 run quit;

 

/* step4: weight: w1=1/(abs_hat*abs_hat) ; w2=1/sq_hat ; weight的計算方式可以有前述二種*/

 data new1;

 set b1;

 w1=1/(abs_hat*abs_hat) ;   

 w2=1/sq_hat;

 run quit;

 

 /* step5: REG (WLS方法 --- weight w1) model dbp = age age 的估計值*/

 proc reg data=new1;

     model dbp = age ;

     weight w1;

run quit;

 

        做資料分析時,常會遇到另一項問題是離群值(outliers)的出現,會有離群值發生可能是紀錄者紀綠錯誤,或是資料輸入錯誤,上述情形也許還可補救(做資料確認)。或是有直接證據可證明資料確實有誤,此時可將錯誤資料刪除(discard),我們把錯誤資料直接刪除的理由是,在OLS方法(OLS精神是:找出使得誤差平方和為最小的參數估計值)中,其估計出的迴歸線(regression line)容易受離群值影響而會偏移,導致錯誤的結果。若離群值確實存在且對整個結果有很大的影響力時(可透過統計方法檢定得知),可應用穩健迴歸模型(robust regression model)來處理。

       所謂的“穩健(robust)”,是指型一錯誤(type I error rate,當虛無假設為真時錯誤拒絕的機率)不易受到離群值嚴重影響。穩健迴歸模型是利用WLS的概念來做分析,對於離群值給予較低的權重(甚至接近於0,可以忽略),降低離群值的影響力,整個計算過程可稱之為“Iteratively Reweighted Least Squares (IRLS)”,主要是借由WLS方法重複做計算而得到的結果。關於權重的計算方法(weight function)有很多種,SAS內設的方法是“BISQUARE”,可從“WEIGHTFUNCTION=”做修改,而SAS內設的估計方法是“M estimation”,可從“METHOD=”修改。

       例子2:美國60個大都市中,死亡率(mortality rate)的變化與碳氫化合物汙染(hydrocarbon pollution)的關係。
用OLS得到以下模型:

若用Robust方法結果如下:

                    

由下圖我們可以看出,使用Robust方法的迴歸線(藍色)比OLS的迴歸線(紅色)較陡峭,因為離群值的影響,所以OLS的迴歸線受到拉扯而有所偏移。因此,若我們的資料中有離群值存在,建議考慮穩健迴歸模型來處理。

 

                                          SAS Code Example (Robust Regression)

                                                                                                               

 

data pollution;

      input Area$  x_Pollution  y_Mortality @@;

      datalines;

1        105    790.7  2     20    1113.0    3         648    861.8  4     144    839.7  5     43      1071.0

6      4        823.8  7     11      844.1     8         20      857.6  9     311    911.7  10            12      1026.0

11      56      894.0     12   17 871.8  13        30      1030.0  14  18  1018.0   15  8  997.9

16      15      1006.0    17  14  1004.0  18  29       1015.0   19  7  874.3   20  18  1002.0 

21      5        871.3     22  3  861.4   23        20      899.3   24  88  1025.0   25       7        887.5

26      8    971.1     27  6  962.4   28        18      982.3   29  11  972.5    30  7  895.7

31      1   860.1     32  41  994.6   33        33      929.2   34  21  921.9   35  12  912.3

36      31      986.0     37  6  899.5   38        13      968.7   39  38  989.3   40  6  952.5

41      45      991.3    42   8  911.8   43        5        904.2   44             8  950.7    45  21  934.7

46      26      970.5    47  17  961.0   48       6        938.5   49  14  954.4   50  5  912.2

51      7        919.7    52  6  936.2    53        52      959.2   54             11  946.2   55  23  958.8

56      65      967.8   57   31  953.6   58       4        923.2   59  11  941.2   60  1   891.7

 ;

 

   data pollution_mo;

   set pollution;

   logx_pollution=log(x_pollution);

   run;

  

ods html

ods graphics on;

 

   proc reg data=pollution_mo;

      model y_Mortality  = logx_Pollution ;

              plot  y_Mortality*logx_Pollution;

      output out=OLS_out r=resid p=yhat;

   run;

 

ods graphics off;

ods html close;

  

proc robustreg data=pollution_mo  method=mm  fwls; 

      model y_Mortality  = logx_Pollution / diagnostics leverage;

             output out=robust_out  PREDICTED=p RESIDUAL=r WEIGHT=w ;

run;

/*FWLSrequests that final weighted least squares estimators be computed. */

 

 

參考資料:
Kutner, Nachtsheim, and Neter (2004) Applied linear regression models, 4th ed.

 

TOP

本刊由中國醫藥大學 生物統計中心發行  網頁維護:林立偉