[問題] 如何用R generate random sample?

看板Statistics作者 (嘿喲~加油!!!)時間18年前 (2007/12/23 23:20), 編輯推噓2(2016)
留言18則, 3人參與, 最新討論串1/2 (看更多)
假設回歸模型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

12/24 00:23, , 1F
step1 你要會產生t的隨機變數 u_{t} (建議寫個副程式)
12/24 00:23, 1F

12/24 00:24, , 2F
step2 設定Y{0}值 (可以抓一個u來當)
12/24 00:24, 2F

12/24 00:26, , 3F
剩下就是 call副程式得到u_{t} 再用前一期的 Y產生觀察值囉
12/24 00:26, 3F

12/24 00:28, , 4F
有回答到你嗎 還是你想問的是t隨機變數怎麼寫 @@
12/24 00:28, 4F

12/24 00:29, , 5F
有些軟體有內建 看你用什麼在跑才有辦法說囉
12/24 00:29, 5F

12/24 03:18, , 6F
t <- 1000ᅩ
12/24 03:18, 6F

12/24 03:18, , 7F
df <- 2 ##隨便填的
12/24 03:18, 7F

12/24 03:19, , 8F
a <- 1 ##隨便填的
12/24 03:19, 8F

12/24 03:19, , 9F
b <- 1 ##隨便填的
12/24 03:19, 9F

12/24 03:20, , 10F
u <- rt(t,df) ##Error term
12/24 03:20, 10F

12/24 03:20, , 11F
y <- array(data=NA, dim=t)
12/24 03:20, 11F

12/24 03:21, , 12F
y0 <- rt(1,df) ##Inital value of Y
12/24 03:21, 12F

12/24 03:23, , 13F
y[1] <- a+b*y0+u[1] ##y[1]要獨立出來算,因為沒有y[0]
12/24 03:23, 13F

12/24 03:25, , 14F
for (i in 2:t){
12/24 03:25, 14F

12/24 03:25, , 15F
y[i] <- a+b*y[t-1]+u[i]
12/24 03:25, 15F

12/24 03:26, , 16F
}
12/24 03:26, 16F

12/24 03:26, , 17F
第一行前面可以加個set.seed(0)
12/24 03:26, 17F

12/24 18:55, , 18F
感謝樓上兩位大哥 Orz
12/24 18:55, 18F
文章代碼(AID): #17Rdoqld (Statistics)
文章代碼(AID): #17Rdoqld (Statistics)