![](/img/trans.png)
[英]Suggested Examples of Bayesian Hierarchical Modelling (using three levels) in WinBUGS/R
[英]Bayesian Modelling in R
I am trying to implement a bayesian model in R using bas package with setting up these values for my Model:
databas <- bas.lm(at_areabuilding ~ ., data = dataCOMMA, method = "MCMC", prior = "ZS-null", modelprior = uniform())
我試圖借助特定 state 的特定區域來預測給定 state 的區域; 但對於不同的 zip 代碼。 My Model basically finds the various zip codes present in the data for a given state(using a state index for this) and then gives the output.
現在,每當我嘗試預測 state 的面積時,我都會給出以下輸入:
> UT <- data.frame(zip = 84321, loc_st_prov_cd = "UT" ,state_idx = 7)
> predict_1 <- predict(databas,UT, estimator="BMA", interval = "predict", se.fit=TRUE)
> data.frame('state' = 'UT','estimated area' = predict_1$Ybma)
現在,我得到了這個 state 的 output。 假設我有一個具有給定 zip 代碼的狀態列表,並且我想在該列表上運行我的 Model (數據庫)並獲得預測,我無法使用上述方法來做到這一點,因為這需要時間。 有沒有其他方法可以做到這一點? 我在一位紳士的幫助下做了同樣的事情,這是我的代碼:
pred <- sapply(1:nrow(first), function(row) { predict(basdata,first[row, ],estimator="BMA", interval = "predict", se.fit=TRUE)$Ybma })
basdata:我的 Model 首先:我正在預測區域的新數據集。 現在,我面臨的問題是代碼需要很長時間才能預測值。 它遍歷每一行並計算面積。 我的數據集中有 150000 行,我會請求是否有人可以幫助我優化此代碼的性能。
像這樣的東西將遍歷狀態、拉鏈和索引的數據幀的每一行(我們稱之為states_and_zips
)並返回一個預測列表。 這個列表的每個元素(我稱之為pred
)都與state_and_zips
的相應行一起使用:
pred = lapply(1:nrow(states_and_zips), function(row) {
predict(databas, ~ states_and_zips[row, ],
estimator="BMA", interval = "predict", se.fit=TRUE)$Ybma
})
如果Ybma
是單個值,則使用sapply
而不是lapply
,它將返回一個預測向量,每個state_and_zips
行一個,您可以將其作為新列添加到states_and_zips
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.