使用统一的创新模拟AR(1)过程

时间:2016-10-07 20:39:57

标签: r time-series

我需要为流程

绘制com.mchange.v2.c3p0.ComboPooledDataSource图表
AR(1)

假设y[k] = 0.75 * y[k-1] + e[k] for y0 = 1. e[k]区间均匀分布。

我正在尝试使用[-0.5, 0.5]

arima.sim

这似乎不正确。另外,如果library(tseries) y.0 <- arima.sim(model=list(ar=.75), n=100) plot(y.0)

,我会更改哪些参数

1 个答案:

答案 0 :(得分:3)

我们希望将R基函数arima.sim用于此任务,并且不需要额外的库。

默认情况下,N(0,1)生成带有创新的ARIMA~ rand.gen。如果我们想要更改它,我们需要控制innovU[-0.5, 0.5]参数。例如,您需要来自统一分布arima.sim(model=list(ar=.75), n=100, rand.gen = runif, min = -0.5, max = 0.5) arima.sim(model=list(ar=.75), n = 100, innov = runif(100, -0.5, 0.5)) 的创新,我们可以执行以下任一操作:

set.seed(0)
y <- arima.sim(model=list(ar=.75), n = 100, innov = runif(100, -0.5, 0.5))
ts.plot(y)

示例

y[0]

enter image description here

如果我们希望对y[0]进行明确控制,我们可以将上述时间序列移至y0。假设y <- y - y[1] + y0 是我们期望的起始值,我们可以

y0 = 1

例如,从y <- y - y[1] + 1 ts.plot(y) 开始:

public static LinkedList(LinkedList header){

        if(header.val%2 != 0){
                header = header.next;
        }

        LinkedList current = header.next;
        LinkedList previous = header;

        while(current!=null){
                if(current.val%2 != 0){
                       previous.next = current.next;
                       current = current.next;
                }
        }

        return header;
} 

enter image description here