鑑別分析是多變量分析中一個相當有趣的統計分析,他決定哪些變數可將一個群體完全切割成一些小群體,並將那些變數線性化,以提供後續的資料進行分類的動作。Robert G. Downer 和 Philip E. Hyatt 利用他做一些植物鑑別的分析,並將結果發表在 2002 年的 SUGI 27 上。兩人並沒有提出什麼特別的程式,但這的確是個不錯的範例介紹,可供初學者做簡易的入門。
話說 C. texensis 和 C. retroflexa 這兩類植物在以往相當難分別,於是兩人收集了六十株這類植物的一些資料,包含 perigynium length, spongy layer length, width of the widest leaf, length of the longest bract 和 height of the tallest culm 來讓鑑別分析做出分類的準則。
文內有一小段理論說明,但還是請有興趣的人直接去看教科書比較好。
在 SAS 中,鑑別分析的語法如下:
PROC DISCRIM DATA = calibration CROSSVALIDATE OUTCROSS = resultset ;
CLASS group;
BY ….;
PRIORS….;
VAR ; ….
RUN;
CORSSVALIDATE 可以提供鑑別分析裡面所能算出的估計值和誤差。分析結果可用 OUTCROSS 儲存起來。 CLASS 則是宣告哪些變數是離散型的。BY 則提供不同組採個別的分析處理。PRIORS 可以提前給定一些東西,比方說強迫某些觀測值進入某個群體。VAR 就放入提供鑑別分析的變數,但如果不寫 VAR 的話,SAS 會將全部的變數都丟進去作分析。
以下她們提供兩個分析,一個是指定某些變數拿來做鑑別的準則,另一個是將全部的變數拿來做鑑別的準則。
[程式一:放入全部變數]
proc discrim data = avgdat crossvalidate outcross = avgcvout;
class specid;
run;
[結果]
[程式二:放入 avgpwid 變數]
proc discrim data = avgdat crossvalidate outcross = avgcvout2;
class specid;
var avgpwid;
run;
[結果]
其實上面的結果不是太重要,只是在講經過鑑別分析後歸類正確的比例。當然正確比例越高表示結果越好,這是無庸置疑的。另一個更重要的是如何用圖像來清楚表示兩群是分開來的。Robert G. Downer 和 Philip E. Hyatt 只有秀出第二個程式所跑出來的鑑別分析圖。從[圖一]可以清楚看見被分開的兩群。這邊有兩個問題,一是兩人沒有提供做圖的程式。由於這篇文章是在 2002 年發表,而當時的 ODS/GRAPHICS 可能還不能做出這種圖,但我確信目前的 ODS/GRAPHICS 已經可以輕鬆地產生這個圖檔。有興趣的人可以往前找那一篇關於 ODS/GRAPHICS 的文章。另一個問題是這張圖並沒有標示分隔線。我記得以前用 Statistica 這套統計軟體做過鑑別分析,他會將鑑別線畫出來,大概就像[圖二]那樣。不過這是我自己模擬加上去的,不代表真正的鑑別線就是如此。總而言之,那條線的線性方程式可以提供後續資料來鑑別種類,相當實用。
[圖一]
[圖二]
CONTACT INFORMATION
Contact the authors at:
Robert G. Downer
Dept. Experimental Statistics
161 Agricultural Administration Building
Baton Rouge, LA 70803-5606
(225) 578-8373
rdowner@lsu.edu
Philip E. Hyatt
U.S. Forest Service
2500 Shreveport Hwy
Pineville, LA 71360
(318) 473-7262
phyatt@fs.fed.us
沒有留言:
張貼留言
要問問題的人請在文章下方的intensedebate欄位留言,請勿使用blogger預設的意見表單。今後用blogger意見表單留言的人我就不回應了。