1
我想通過改變自由度來編寫一個循環以獲得以下模型的最低AIC值,如varknots1
的定義中的df=2
。在R中循環選擇統計模型的最低AIC
我只是在這裏使用隨機數據,因爲我不知道如何上傳我的數據。我正在努力學習寫自己的循環,但是,我目前從未成功完成這個循環。
這裏有人能幫我解決這個問題嗎?
library(dlnm)
library(splines)
A = rnorm(500)
B = rnorm(500)
C = rnorm(500)
D = rnorm(500)
varknots1 <- equalknots(B,fun="bs",df=5,degree=2)
lagknots1 <- logknots(24, 3)
cb1 <-crossbasis(B,lag=24,argvar=list(fun="bs",knots=varknots1),arglag=list(knots=lagknots1))
varknots2 <- equalknots(C,fun="bs",df=5,degree=2)
lagknots2 <- logknots(24, 3)
cb2 <- crossbasis(C, lag=24, argvar=list(fun="bs",knots=varknots2), arglag=list(knots=lagknots2))
model<-lm(A~cb1+cb2+D)
AIC(model)
非常感謝你的幫助! @RStudent – user26221