2015-01-07 5 views
2

평균이 0이 아닌 AR (1) 시계열을 시뮬레이트하는 올바른 방법을 찾지 못하는 것 같습니다. 300ar (1) 0이 아닌 평균을 사용한 시뮬레이션

하지만, arima.sim(list(order=c(1,0,0), ar=.8), n=53, mean=300, sd=21) 날 1500의 값이 부여 = I (53), 데이터 포인트 = 0.8 RHO 필요 의미한다. 예를 들면 :

1480.099

가 나는 또한 arima.sim(n=52, model=list(ar=c(.8)), start.innov=300, n.start=1) 을 시도했지만 그때 그냥 같이 카운트 다운 (등) 1480.518 1501.794 1509.464 1499.965 1489.545 1482.367 1505.103 :

238.81775870 190.19203239 151.91292491 122.09682547 96.27074057 [6 ] 21.27437183 15.93486092 13.40199333 10.99762449 8.70208879 5.62264196 3.15086491 2.13809323 1.30009732

77.17105923 63.15148491 50.04211711 39.68465916 32.46837830 24.78357345 내가이야 arima.sim(list(order=c(1,0,0), ar=.8), n=53,sd=21) + 300을 시도 정답을 내야합니다. 예를 들어 :

280.6420 247.3219 292.4309 289.8923 261.5347 279.6198 290.6622 295.0501 264.4233 273.8532 261.9590 278.0217 300.6825 291.4469 291.5964 293.5710 285.0330 274.5732 285.2396 298.0211 319.9195 324.0424 342.2192 353.8149 등등 .. 그러나

, 나는 의심 오전 이 올바른 일을하고있다? 정확한 숫자에 대해 여전히 자동 상관 관계가 있습니까?

+0

것은'큰위한 mean'와'acf'을 확인 'n'값. – Khashaa

답변

1

마지막 옵션은 원하는 평균 "mu"를 얻는 것이 좋습니다. 모델로부터 데이터를 생성합니다 :

(y [t] - mu) = phi * (y [t-1] - mu) + ε [t], 엡실론 [t] ~ N (0, 시그마 = 21), t = 1,2, ..., n.

은 첫 번째 방식은 오히려 평균보다 "알파"절편을 설정

의 Y [에서 t = 알파 + (φ) * Y [t-1] + 엡실론 [의 t].

두 번째 옵션은 시작 값 y [0]을 300으로 설정합니다. | phi | < 1이 초기 값의 영향은 몇 시간 후에 사라지고 시리즈의 레벨에 영향을주지 않습니다.

편집

당신은 시뮬레이션 데이터를 관찰 표준 편차의 값은 정확합니다. AR (1) 프로세스의 분산 y [t]는 혁신의 분산 epsilon [t]과 동일하지 않습니다. AR (1) 프로세스의 분산, σ^2_y는 다음과 같이 얻어 질 수있다 : Σ2^2y는 다음과 같이 얻어 질 수있다.) + Var (ε [t])

프로세스가 고정되어 있기 때문에 우리는 시그마^2_y라고 부르는 Var (y [t]) = Var (t [t-1])이다.따라서, 우리가 얻을 -의 값

시그마^2_y = 0 + (φ)^2 * 시그마^2_y + 시그마^2_epsilon 시그마^2_y = 시그마^2_epsilon/(피^2 1) 당신을 사용하는 매개 변수가 있습니다

sigma_y = SQRT를 (21^2/(1-0.8^2)) = 당신이 확실하지 않은 경우 35

+0

감사합니다. 매우 명확합니다! – ShariDB

+0

다른 질문이 있습니다. 표준 편차를 21로 지정했지만 일련의 예제 시리즈를 시뮬레이트하면 평균 SD가 훨씬 높아집니다 (35). 이것에 대한 어떤 생각? – ShariDB