這是我工作的腳本:poLCA - 潛類分析 - 分析需要多長時間?
library(poLCA)
f <- cbind(bq70, bq72_1, bq72_2, bq72_3, bq72_4, bq72_5,
bq72_6, bq72_7, bq73a_1, bq73a_2, bq73a_3, bq73a_4) ~
zq88 + zq89 + dm_zq101_2 + dm_zq101_3 + dm_zq101_4 +
dm_zq101_5 + dm_zq101_6 + dm_zq101_7 + dm_zq101_8 + dm_zq101_9
for(i in 2:14){
max_II <- -1000000
min_bic <- 100000
for(j in 1:1024){
res <- poLCA(f, BESDATA, nclass=i, maxiter=1000,
tol=1e-5, na.rm=FALSE, probs.start=NULL,
nrep=1, verbose=TRUE, calc.se=TRUE)
if(res$bic < min_bic){
min_bic <- res$bic
LCA_best_model<-res
}
}
}
我想用一個迴歸進行潛類分析,和也。但是,上面的代碼需要我的電腦很長時間才能完成(英特爾酷睿i5 4690k,16GB內存)。
poLCA需要這麼長時間嗎?
此外,有沒有一行代碼,我可以使用,將停止爲每個類的循環一次的全球最大可能性已經達到?
N = 2000年左右
我的方式使用[R工作室,以防它的事項!
這些大多是更適合於計算器的編程問題。但是,下面是關於統計方面的一些觀察。 1.最低BIC通常不是'最高可能性[nclass下的數據值]'。 2.您無法知道是否或何時發現全球ML(或最低BIC),只有當前的一個比以前更好。 – conjugateprior
還有一些關於代碼的內容:1.瀏覽包文檔,可以通過設置'nrep = 1024'替換整個'j'循環。最好的模型以'res'的形式返回。安裝完成後,進行'min_bic'測試,2.不要在任何地方使用'max_II'。 – conjugateprior