2013-12-19 63 views
1

我試圖模擬在一天中每一秒捕獲的流量。我每小時都有一個平均流量值,並且想要創建一個隨機向量來對該平均流量進行建模。在保持平均值的同時生成隨機數

我試過rpois與平均20,10三個小時,30%的如下模式:

r<-vector() 
lambda <- c(20,10,30) 
for (i in 1:length(lambda)) { 
    r <- append(r, rpois(3600,lambda[i])) # 3600 = number of seconds in 1 hour 
} 
plot(r, col='red', type='l') 

通過檢查的情節,有以小時爲單位之間的過渡,這使得數據的突然變化不太現實。我的問題是R有沒有一種方法來平滑過渡之間的值,但保持平均值?

+1

允許'lambda'順利穿過一天的過程而變化... –

+0

@BenBolker不幸的是,我不能,這是一種輸入:) – tank

回答

2

我猜不會 - 因爲如果平均值「跳躍」,隨機值「跳躍」,數值將取決於平均值==;

當然你可以「平滑」的轉變之間的值與人工所需的「橋平均-Valuse」:

r<-vector() 
lambda <- c(20,15,10,21,30) 
for (i in 1:length(lambda)){ 

    if (lambda[i]%%10>0) { 
     r <- append(r, rpois(100,lambda[i])) 
    } else { 
      r <- append(r, rpois(3200,lambda[i])) 
    } 
    } 
plot(r, col='red', type='l') 
+0

謝謝!這種平滑效果是我正在尋找的。 – tank