看板 Statistics 關於我們 聯絡資訊
假設回歸模型AR (1) : Y_{t} = a + b Y_{t-1} + u_{t} u_{t} i.i.d ~ student t (df) 小弟現在想從以上的模型去造 1000個隨機樣本 意即造1000個time series data : X_{1} .... X_{1000} 請問該如何寫程式呢 懇請知道的版友幫忙 感謝 ~ -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.228.252.145
lbbear:step1 你要會產生t的隨機變數 u_{t} (建議寫個副程式) 12/24 00:23
lbbear:step2 設定Y{0}值 (可以抓一個u來當) 12/24 00:24
lbbear:剩下就是 call副程式得到u_{t} 再用前一期的 Y產生觀察值囉 12/24 00:26
lbbear:有回答到你嗎 還是你想問的是t隨機變數怎麼寫 @@ 12/24 00:28
lbbear:有些軟體有內建 看你用什麼在跑才有辦法說囉 12/24 00:29
chien533:t <- 1000ᅩ 12/24 03:18
chien533:df <- 2 ##隨便填的 12/24 03:18
chien533:a <- 1 ##隨便填的 12/24 03:19
chien533:b <- 1 ##隨便填的 12/24 03:19
chien533:u <- rt(t,df) ##Error term 12/24 03:20
chien533:y <- array(data=NA, dim=t) 12/24 03:20
chien533:y0 <- rt(1,df) ##Inital value of Y 12/24 03:21
chien533:y[1] <- a+b*y0+u[1] ##y[1]要獨立出來算,因為沒有y[0] 12/24 03:23
chien533:for (i in 2:t){ 12/24 03:25
chien533:y[i] <- a+b*y[t-1]+u[i] 12/24 03:25
chien533:} 12/24 03:26
chien533:第一行前面可以加個set.seed(0) 12/24 03:26
laba1014:感謝樓上兩位大哥 Orz 12/24 18:55