国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網 會員登陸 & 注冊

R語言使用隨機技術差分進化算法優(yōu)化的Nelson-Siegel-Svensson模型

2021-03-17 09:04 作者:拓端tecdat  | 我要投稿

原文鏈接:http://tecdat.cn/?p=11974

R2WinBUGS軟件包提供了從R調用WinBUGS的便捷功能。它自動以WinBUGS可讀的格式寫入數據和腳本,以進行批處理(自1.4版開始)。WinBUGS流程完成后,可以通過程序包本身將結果數據讀取到R中(這提供了推斷和收斂診斷的緊湊圖形摘要),也可以使用coda程序包的功能對輸出進行進一步分析。?

?WinBUGS軟件可從http://www.mrc-bsu.cam.ac.uk/bugs/免費獲得。??

R是一種“用于數據分析和圖形處理的語言”,是一種實現該語言的開放源代碼和免費提供的統(tǒng)計軟件包,請參見http://www.R-project.org/。? R和R2WinBUGS可從CRAN 獲得,即http://CRAN.R-Project.org或其鏡像之一。R2WinBUGS可以移植到商業(yè)實施S-Plus。 如果可以使用Internet連接,則可以在R命令提示符下鍵入install.packages(“ R2WinBUGS”)來安裝R2WinBUGS。別忘了用library(R2WinBUGS)

?

例子

?

學校數據

學術能力測驗(SAT)衡量高中生的能力,以幫助大學做出入學決定。 我們的數據來自1970年代后期進行的一項實驗,來自八所高中的SAT-V(學業(yè)能力測試語言)。SAT-V是由教育測試服務局管理的標準多項選擇測試。該服務對所選學校中每所學校的教練計劃的效果很感興趣。

?

實現

R2WinBUGS軟件包的實現非常簡單。\ main“函數bugs()?旨在由用戶調用。原則上,它是對?其中逐步調用的其他幾個函數的包裝,如下:
1. bugs.data.inits()寫入數據文件' data.txt”和“ inits1.txt”,“ inits2.txt” ...進入 工作目錄。?
2. bugs.script()寫入WinBUGS用于批處理的文件“ script.txt”。
3. bugs.run()更新WinBUGS注冊表中自適應階段的長度 ,調用WinBUGS,并使用 'script.txt' 以批處理模式運行它。
R2WinBUGS軟件包的實現非常簡單。\ main“函數bugs()
?原則上,它是對 其中逐步調用的其他幾個函數的包裝,如下:
1. bugs.data.inits()寫入數據文件' data.txt”和“ inits1.txt”,“ inits2.txt” ...進入 工作目錄,這些文件將由WinBUGS在批處理過程中使用。?

2 . bugs.script()寫入文件“ script”。 txt”,由WinBUGS用于批處理 。

3. bugs.run()更新WinBUGS注冊表中自適應階段的長度(使用bugs.update.settings()函數),調用WinBUGS并批量運行“script.txt”。
4. bugs.sims()如果參數codaPkg已設置為false(默認值)才調用。
否則,bugs()返回存儲數據的文件名。例如,這些可以通過打包的coda 導入,該軟件包提供了收斂診斷,蒙特卡洛估計的計算,跡線圖等功能。
bugs.sims()函數將WinBUGS中的模擬讀取到R中(不一定 由bugs()本身調用),將其格式化,監(jiān)視收斂,執(zhí)行收斂檢查并
計算中位數和分位數。它還為bugs()本身準備輸出。
這些功能不旨在由用戶直接調用。 如果合適,參數將從bugs()傳遞給其他函數。一個簡短的bugs()幫助文件,其中列出了?
軟件包R2WinBUGS 之后,請在R中進行調試?
?

例子?

我們將 R2WinBUGS提供的功能應用于示例數據并分析輸出。


學校數據

示例數據 :
?

> schools


為了對這些數據進行建模,我們使用了Gelman等人提出的分層模型。 我們假設每所學校的觀測估計值具有正態(tài)分布,且均值theta 和反方差tau.y。逆方差為1 =σ.y2,其先驗分布在(0,1000)上是均勻的。對于均值theta,我們采用另一個正態(tài)分布 平均mu.theta和反方差tau.theta。有關其先前的分布,請參見以下
WinBUGS代碼:

  1. model {

  2. for (j in 1:J)

  3. {

  4. y[j] ~ dnorm (theta[j], tau.y[j])

  5. theta[j] ~ dnorm (mu.theta, tau.theta)

  6. tau.y[j] <- pow(sigma.y[j], -2)

  7. }

  8. mu.theta ~ dnorm (0.0, 1.0E-6)

  9. tau.theta <- pow(sigma.theta, -2)

  10. sigma.theta ~ dunif (0, 1000)

  11. }


此模型必須存儲在單獨的文件中,例如'schools.bug'2,在適當的目錄中,例如c:/ schools /。在R中,用戶必須準備bugs()函數所需的數據輸入。這可以是包含每個數據向量名稱的列表,例如

> J <- nrow(schools)

?使用這些數據和模型文件,我們可以運行MCMC模擬以獲取theta, mu.theta和sigma.theta的估計值。在運行之前,用戶必須確定要運行多少個鏈 (n.chain = 3)和迭代次數(n.iter = 1000)。另外,用戶必須指定鏈的初始值,例如通過編寫函數。

  1. > inits <- function(){

  2. + list(theta = rnorm(J, 0, 100), mu.theta = rnorm(1, 0, 100),

  3. + sigma.theta = runif(1, 0, 100))

  4. + }

可以開始MCMC模擬,R中的參數bugs.directory必須指向WinBUGS的安裝目錄??梢酝ㄟ^print(schools.sim)方便地打印school.sim對象中的結果。 泛型函數print()調用由R2WinBUGS提供的類錯誤對象的print方法。
對于此示例,將獲得類似的結果

  1. Inference for Bugs model at "c:/schools/schools.bug"

  2. 3 chains, each with 1000 iterations (first 500 discarded)

  3. n.sims = 1500 iterations saved

  4. mean sd 2.5% 25% 50% 75% 97.5% Rhat n.eff

  5. theta[1] 11.1 9.1 -3.0 5.0 10.0 16.0 31.8 1.1 39

  6. theta[2] 7.6 6.6 -4.7 3.3 7.8 11.6 21.1 1.1 42

  7. theta[3] 5.7 8.4 -12.5 0.6 6.1 10.8 21.8 1.0 150

  8. theta[4] 7.1 7.0 -6.6 2.7 7.2 11.5 21.0 1.1 42

  9. theta[5] 5.1 6.8 -9.5 0.7 5.2 9.7 18.1 1.0 83

  10. theta[6] 5.7 7.3 -9.7 1.0 6.2 10.2 20.0 1.0 56

  11. theta[7] 10.4 7.3 -2.1 5.3 9.8 15.3 25.5 1.1 27

  12. theta[8] 8.3 8.4 -6.6 2.8 8.1 12.7 26.2 1.0 64

  13. mu.theta 7.6 5.9 -3.0 3.7 8.0 11.0 19.5 1.1 35

  14. sigma.theta 6.7 5.6 0.3 2.8 5.1 9.2 21.2 1.1 46

  15. deviance 60.8 2.5 57.0 59.1 60.2 62.1 66.6 1.0 170

  16. pD = 3 and DIC = 63.8 (using the rule, pD = var(deviance)/2)

  17. For each parameter, n.eff is a crude measure of effective sample size,

  18. and Rhat is the potential scale reduction factor (at convergence, Rhat=1).

  19. DIC is an estimate of expected predictive error (lower deviance is better).


此外,用戶可以通過鍵入plot(schools.sim)生成結果圖。 結果圖如圖4所示。在該圖中,左列顯示了以下內容的快速摘要:
推論和收斂(所有參數的Rb都接近1.0,表明三個鏈的良好混合,因此近似收斂);右列顯示每組參數的推論。從右欄中可以看到,R2WinBUGS使用 WinBUGS中的參數名稱將輸出構造為標量,向量和參數數組。


R語言使用隨機技術差分進化算法優(yōu)化的Nelson-Siegel-Svensson模型的評論 (共 條)

分享到微博請遵守國家法律
漾濞| 承德县| 濉溪县| 新干县| 萍乡市| 思茅市| 凌云县| 南阳市| 抚顺市| 景泰县| 綦江县| 舞阳县| 永清县| 罗定市| 龙游县| 靖远县| 本溪市| 于都县| 沙河市| 沙洋县| 平舆县| 新源县| 宁陕县| 郧西县| 芒康县| 池州市| 嘉义市| 青阳县| 新龙县| 昌平区| 长泰县| 双流县| 新营市| 湖口县| 永川市| 米泉市| 本溪市| 行唐县| 方正县| 新昌县| 胶南市|