很早就想為COS寫(xiě)一篇關(guān)于計算機試驗的東西??墒鞘冀K也未敢動(dòng)筆,覺(jué)得自己才疏學(xué)淺,生怕寫(xiě)得偏頗。但是另外一方面,又覺(jué)得這是COS上一塊空白的話(huà)題,沒(méi)有人提及過(guò)。今天寫(xiě)這篇文章,主要是為拋磚引玉,另外豐富一下主站文章的題材。
在這篇文章中,我想大致介紹一下計算機試驗的設計以及建模,另外會(huì )有一些R中專(zhuān)門(mén)做計算機試驗的包的相關(guān)介紹。
目前,比較流行的計算機試驗設計與建模的教材有兩本(似乎也只有這兩本)。一本是Thomas J. Santner, Brian J.Williams以及William I.Notz合著(zhù)的,Springer2003年出版的《The Design and Analysis of Computer Experiment》。另外一本是Kai-Tai Fang ,Runze Li以及Agus Sudjianto合著(zhù)的,2005年由Chapman&Hall出版的《Design and Modeling for Computer Experiment》。所謂的計算機試驗(computer experiment),是相對于傳統的實(shí)體試驗(physical experiment)而言的。我們都知道,實(shí)體試驗的數據(比如農業(yè)試驗,生物試驗等得到的數據)總是會(huì )受到隨機誤差的影響,因此在實(shí)體試驗設計中,引入了“重復”的原則,目的就是要通過(guò)重復的試驗,減小隨機誤差對于分析的影響。(關(guān)于實(shí)體試驗的設計以及建模,國內外已經(jīng)有很多教材討論這些,我相信大多數統計專(zhuān)業(yè)的同學(xué)所學(xué)習的試驗設計入門(mén)課程都是在學(xué)習實(shí)體試驗的設計以及數據分析。)與此相對的,計算機試驗得到的數據并不受到隨機誤差的干擾。因為一段固定的代碼,在計算機上無(wú)論運行多少次,得到的結果都是一樣的。
計算機試驗,通常比實(shí)體試驗包含了更多的變量,用于研究特別復雜的系統,比如航天探測器。對于這些特別復雜的系統,往往需要用一個(gè)更加簡(jiǎn)單的擬模型(meta model)來(lái)逼近。計算機試驗的目的之一,就是要通過(guò)在計算機上,利用代碼模擬某個(gè)復雜的設備或者某個(gè)過(guò)程,得到了試驗的數據之后,通過(guò)分析建模,從而得到一個(gè)相對更簡(jiǎn)單的模型,被稱(chēng)為擬模型,擬模型是非常有用的。
由于計算機試驗具有復雜性,以及輸出結果的確定性,做計算機試驗收集數據的時(shí)候,我們需要一些特殊的設計。
試驗設計,總是和模型緊密相聯(lián)系的。事實(shí)上,試驗設計是一種收集數據的策略。在實(shí)體試驗中,當我們需要比較某種因子不同水平之間的差別,我們通常會(huì )選用因析設計。因析設計事實(shí)上就是和因子模型相對應而產(chǎn)生的收集數據的策略。另外,所謂的最優(yōu)設計,也是相對應于模型的最優(yōu)化準則而產(chǎn)生的收集數據的策略。而在計算機試驗中,常用的是模型是所謂的全局均值模型(overall mean model)。
不失一般性,我們考慮試驗區域是一個(gè)s維的單位立方
從統計學(xué)的角度來(lái)看,如果樣本點(diǎn)
當
與拉丁超立方設計相對應的另外一種設計,是由我國科學(xué)家方開(kāi)泰,王元在上世紀八十年代提出的均勻設計。均勻設計這一想法的提出,起源于偽蒙特卡洛方法中的Koksma-Hlawaka不等式。
下面簡(jiǎn)單介紹一下對于計算機試驗得到的數據建模的常用方法。事實(shí)上,統計學(xué)習中的常用的建模方法都可以用來(lái)對計算機試驗數據進(jìn)行建模。包括樣條回歸,局部回歸,神經(jīng)網(wǎng)絡(luò )等,都可以對數據進(jìn)行建模。這里要要重點(diǎn)介紹的是一種非常常用的模型,高斯-克里金模型(Gaussian-Kriging models)??死锝鹗悄戏堑刭|(zhì)學(xué)家,他在其碩士論文中分析礦產(chǎn)數據的時(shí)候,提出了克里金模型,后來(lái)由幾位統計學(xué)家發(fā)展了他的模型,得到了目前在計算機試驗中非常常用的高斯-克里金模型。
其中
關(guān)于計算機試驗數據的建模,方法很多,但是建模方法僅僅是建模方法,無(wú)論是計算機試驗還是實(shí)體試驗,建模方法往往通用,因此,這里不做展開(kāi)論述了。
下面簡(jiǎn)單介紹一下R語(yǔ)言中,做計算機試驗的一些包。
lhs包,主要用來(lái)生成拉丁超立方體設計。DiceDesign包可以生成更多的一些空間填充設計。DiceKriging提供了對計算機試驗數據構建高斯-克里金模型的功能,DiceView則提供了多維模型可視化的手段。以上的包在task view中都有所介紹。此外,值得一提的是VizCompX包,其對計算機試驗的數據擬合高斯模型,并且提供可視化的手段。感興趣的童鞋可以參看這幾個(gè)包的幫助文檔,幫助文檔都不長(cháng),容易上手。
最后,提一點(diǎn)我個(gè)人的小感想。我認為,計算機試驗中,更應該引人注意的話(huà)題應該是試驗的設計。一個(gè)好的設計,不光能夠提高試驗的精度,更能體現一種美感。生成一個(gè)好的設計,大致上有兩種路可以走,一種是預先設定一個(gè)準則,然后利用最優(yōu)化的算法,進(jìn)行搜索。常用的算法包括一些全局的最優(yōu)算法,比如門(mén)限接受算法,模擬退火算法等。另外一種方法,則是利用數學(xué)中其他學(xué)科,比如伽羅瓦理論,編碼理論等,通過(guò)這些學(xué)科的理論特點(diǎn),精巧地構造一個(gè)設計。這兩種構造設計的方法相互補充,相輔相成,提供了非常廣大的研究空間。另外,這些為計算機試驗而提出的設計,也可以用在很多其他的統計學(xué)的課題中,比如之前已經(jīng)提到過(guò)的變量選擇方法精確度的提升方面??傊?,試驗設計是研究如何有效收集數據的,無(wú)論數據是來(lái)自于實(shí)體試驗,還是計算機試驗,一個(gè)設計了的試驗,往往都可以提高效率,提高精度。這也是試驗設計這門(mén)課程的意義所在。越南的Nyuan開(kāi)發(fā)了一款試驗設計的軟件Gendex,通過(guò)輸入試驗的行數,列數,選擇你所需要的設計種類(lèi),便可以生成多種不同的設計陣。這款軟件,是目前可以生成設計陣種類(lèi)最多的,感興趣的童鞋,不妨搜來(lái)玩一玩。

