人人爽天天爽夜夜爽qc-人人爽天天爽夜夜爽曰-人人天天爱天天做天天摸-人人天天夜夜-色网站在线-色网站在线看

您現(xiàn)在的位置:程序化交易>> 特別播報>> 古期心得>>正文內(nèi)容

古期:一篇很棒的測試(回測)技術(shù)文章 外語翻譯[古期心得]

網(wǎng)友Tianba提供了一篇網(wǎng)絡(luò)上的測試簡報,覺得很棒,先在此探討此文的內(nèi)容,有時間,再來談交易上的應(yīng)用與問題.

這是簡報的原始網(wǎng)址:

http://research.cs.tamu.edu/prism/lectures/iss/iss_l13.pdf

這篇簡報,名為測試(Validation),分為四個部分來討論.

中文的測試,涵蓋的相當(dāng)廣,容易造成誤解.這篇簡報的原文,叫做Validatation,指的是有效性的測試.一般計(jì)算機(jī)程序的測試,指的是Verification,專門測試與解決程序撰寫時所產(chǎn)生的問題.Verify動作在前,Validate在后.

 

以下是用中文來整理這篇簡報

 

 

 

    第一部分,談到的是測試的動機(jī)(Motivation):

有效性測試,處理模式識別上(pattern recognition)的兩個基本問題:

    模型選擇(Model selection):

    幾乎所有的模式識別技術(shù),都會有一個或多個自由參數(shù)(free parameters),如

      kNN分類法(kNN Classification Rule)中的鄰近數(shù)(Number of neighbors),

      MLPs方法的網(wǎng)絡(luò)數(shù)(network size),學(xué)習(xí)參數(shù)(learning parameters)與加權(quán)(weights).

    要如何針對特定的分類問題(given classification problem)中,選擇"最佳"參數(shù)或模型呢?  

    績效估計(jì)(Performance estimation):

    一旦選擇了模型,要怎樣來估計(jì)績效呢?傳統(tǒng)上,績效的測量是采用真實(shí)誤差率(True Error Rate),采用的分類(Classifier)與要處理的真實(shí)母體之間,所存在的誤差率.(X5super注: 此并非母體的績效高低,而是估計(jì)準(zhǔn)確度,如果100分,誤差率0.2,那母體只有80分,如果90分,誤差率0,那母體就是90分了.前者的分?jǐn)?shù)雖然較高,但是誤差率高,估計(jì)就過于樂觀.若以程序交易為例,這只是評估回測的可靠度,不管策略本身的績效好壞)

    假如我們沒有取樣數(shù)的限制,這些問題就有了直接的答案:取最低的母體誤差率(Error Rate on Entire Population),當(dāng)然,這時候就等于真實(shí)誤差率(True Error Rate).( www.kzuj.com.cn

    在實(shí)際的應(yīng)用上,我們只能用有限的取樣數(shù),而且通常都比我們想要的還小.一種做法是,把所有的數(shù)據(jù)(trainning data),只當(dāng)成一個分類(Classifier),并以此來估計(jì)誤差率.這樣,產(chǎn)生了兩個主要問題:

    問題1) 最終選定的模型會過度匹配于我們使用的數(shù)據(jù)(trainning data),如果模型的參數(shù)越多,問題就更顯著.

    問題2) 誤差率的估計(jì),會太過于樂觀(低于True Error Rate).事實(shí)上,要取得學(xué)習(xí)資料(Trainning data)100%正確率的分類(classification),不是不尋常的事.(X5super注:這樣的估計(jì)太過于樂觀)

    另一個更好的做法是,holdout method:把學(xué)習(xí)數(shù)據(jù)(trainning data)分割為更多互不交集的區(qū)塊(disjoint subsets).

 

 

    第二部分: holdout method

    切割后的區(qū)塊(dataset),有兩類:學(xué)習(xí)組(Trainning set),用來找分類(Classifier)的模型;另一類是測試組(Test set)用來評估這分類(classifier)的誤差率.

    

    hold method 的典型應(yīng)用,在反向傳播誤差(back propagation error)的停止點(diǎn)決策.

   

    這個方法有兩個缺點(diǎn):一是通常我們擁有的數(shù)據(jù)不多,無法在做這樣奢華的切割后,還有測試的能力與價值;另一個是,只切割成為一組的學(xué)習(xí)與測試數(shù)據(jù),一旦我們不幸選擇了不具代表性的那個組合,結(jié)果的誤差率計(jì)算就沒有估計(jì)的意義與價值了.

    這樣的限制,是有一些重復(fù)取樣的方法族群(family of resampling methods)可以克服的,這些方法需要更多的計(jì)算過程.比如交互驗(yàn)證法(Cross Validation):隨機(jī)子取樣(random subsampling),K-Fold交互驗(yàn)證,Leave-One-Out交互驗(yàn)證.另外,還有BootStrap(引導(dǎo))方法.

 

 

    第三部分: Re-sampling techniques

    A) Random subsampling:

       將數(shù)據(jù)分割為K組.首先,隨機(jī)決定K個號碼小于總樣本數(shù),這些號碼不重復(fù),每個號碼代表每一個分割的最終樣本數(shù).在每一個分割中,學(xué)習(xí)數(shù)據(jù)組(trainning samples),帶入模型參數(shù),測試數(shù)據(jù)組(test samples)估計(jì)誤差率.

     

       總共產(chǎn)生K組的估計(jì),最后的誤差估計(jì)值E=ΣEi/K,顯著的比holdout method單組估計(jì)好很多.

    B) K-Fold Cross Validation:

       建立K格位的數(shù)據(jù)組,也就是把所有的測試數(shù)據(jù)等分成K組:第K次的試驗(yàn)(experiments),采用前面K-1組的數(shù)據(jù)來學(xué)習(xí)(trainning),第K組的數(shù)據(jù)來測試(testing)

        
       此法與random subsampling類似.K-Fold Cross Validataion的優(yōu)點(diǎn),是每一個取樣數(shù)據(jù),最后都扮演過學(xué)習(xí)(trainning)與測試(testing)的腳色.

       績效估計(jì)如同前者,誤差估計(jì)值E=ΣEi/K.

    C) Leave-One-Out Cross Validation:

       這是K-Fold Validation的一種退化變形,總數(shù)據(jù)樣本數(shù)就是K個.

       當(dāng)樣本數(shù)N個,就采取N個試驗(yàn)(experiments).第N次試驗(yàn),采用前面N-1個的樣本數(shù)據(jù)來學(xué)習(xí)(trainning),第N個樣本數(shù)數(shù)據(jù)來試驗(yàn)(testing).         

       

       同樣的,真實(shí)誤差的估計(jì)=E=ΣEi/N.

       有一個有意思的問題,到底數(shù)據(jù)要折迭多少個分割(folds)呢?

       A)當(dāng)數(shù)量大:

          (+有利):真實(shí)誤差估計(jì)的偏差會很小(估計(jì)會接近正確)

          (-不利):真實(shí)誤差估計(jì)的變異會很大

          (-不利):計(jì)算時間長

       B)當(dāng)數(shù)量小:

          (有利):計(jì)算時間短

          (有利):真實(shí)誤差估計(jì)的變異小

          (不利):真實(shí)誤差估計(jì)的偏差會很大

       實(shí)務(wù)上,Folds的數(shù)量取決于擁有的樣本數(shù)據(jù)數(shù).當(dāng)資料數(shù)夠多,即使3-Fold Cross Valiation,也能有相當(dāng)正確的估計(jì).當(dāng)數(shù)據(jù)數(shù)少,最好使用Leave-One-Out Cross Validation,盡量讓試驗(yàn)數(shù)夠多.

       K-Fold Cross Valiation一般的用法是K=10.

    第四部份: 數(shù)據(jù)三類別切割法(Three-Way data split)

    假如模型的選定與真實(shí)誤差率的估計(jì)要同時算出,那么數(shù)據(jù)需要分割成互不交集的三部分.

    學(xué)習(xí)區(qū)(Trainning set):模型形成(learning)之用,讓模型的參數(shù)符合這個分類(classifier).前面提到的MLP方法,在使用back-prop rule時,這學(xué)習(xí)區(qū)可以去尋找"最佳"的權(quán)數(shù)(weights).

    修正區(qū)(Validation set):用來微調(diào)參數(shù).MLP方法在使用back Propagation算法時,修正區(qū)可以用來尋找"最佳隱藏單元的數(shù)量(number of hidden units),或決定停止點(diǎn)(stopping point)

    測試區(qū)(test set):只用來評估完全學(xué)習(xí)結(jié)束后的分類(classifier)績效.(真實(shí)誤差率).MLP方法在此已經(jīng)選定了最終模型后(MLP size與實(shí)際權(quán)重),將估計(jì)模型誤差率.在最終模型績效估計(jì)后,不可再修改參數(shù)值了.

    把修正區(qū)(validation set)從測試區(qū)(test set)分離出來,有兩個理由:一是合并選定模型與估計(jì)績效在同一區(qū)的話,會低估誤差率;另一個就是前面提過的,在最終模型績效估計(jì)后,不可再修改參數(shù)值了.

    步驟綱要:

    1) 將可用的數(shù)據(jù),分成學(xué)習(xí)(trainning set),修正(validation set)與測試(test set)三部分.

    2) 選定架構(gòu)(architecture)與參數(shù)

    3) 用學(xué)習(xí)區(qū)(tranning set)的數(shù)據(jù),讓模型學(xué)習(xí)形成.

    4) 用修正區(qū)(validation set)的數(shù)據(jù),來評價(evaluate)模型.

    5) 用不同的架構(gòu)與學(xué)習(xí)參數(shù),重復(fù)步驟2~4.

    6) 選定模型,并且用學(xué)習(xí)區(qū)與修正區(qū)的數(shù)據(jù)來學(xué)習(xí)

    7) 用測試數(shù)據(jù)(test set),來評估(assess)最后的模型.

    以上的步驟是假設(shè)用holdout method.如果用的是Cross Validation或Bootstrap方法,對于K folds中的每一個,都要重復(fù)步驟3與4.

 

 

有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友

可聯(lián)系技術(shù)人員 QQ: 1145508240  有需要幫忙請點(diǎn)擊這里留言!!!進(jìn)行 有償 編寫!不貴!點(diǎn)擊查看價格!


【字體: 】【打印文章】【查看評論

相關(guān)文章

    沒有相關(guān)內(nèi)容
主站蜘蛛池模板: 中文字幕在线播放 | 一区二区三区鲁丝不卡麻豆 | 国产aⅴ一区二区三区 | 色播五月激情五月 | 人与鲁牲交持级毛片 | 欧美日本一道免费一区三区 | 欧美日韩一区二区在线视频播放 | 在线视频观看一区 | 99r8这是只有精品视频9 | 天天射天天干天天 | 制服丝袜在线不卡 | 黄色三级毛片视频 | 欧美日韩久久中文字幕 | 成人在线欧美 | 亚洲本道 | 特级黄色一级片 | 黄色网毛片 | 国产亚洲欧美日韩综合综合二区 | 国内精品免费视频精选在线观看 | 韩剧伦理片在线观看 | 操你啦在线视频 | 1769国产精品视频免费观看 | 成人欧美日本免费观看 | 日本一区欧美 | 国产麻豆入在线观看 | 久久久久国产亚洲日本 | 羞羞视频网站免费 | 国产一区二三区 | 波多野结衣一二三区 | 亚洲一区二区高清 | 视频二区国产 | 加勒比精品久久一区二区三区 | 日韩手机在线观看 | 欧美日韩免费在线观看 | 最近播放的好看hd | 成人影院免费观看 | 一个人免费观看www视频二 | 亚洲无线一二三四区手机 | 亚洲欧美综合一区二区三区四区 | 亚洲深夜福利视频 | 午夜影院性生活 |