`load("workspace.RData")`

Lets Simulate the ACF of the white noise. it is normally distributed

```
set.seed(2)
acf(rnorm(100))
```

Here the statistical significant value at lag =7 is due to sampling variation.

```
x <- w <- rnorm(1000)
for (t in 2:1000)x[t] <- x[t-1]+w[t]
plot(x,type="l")
```

The series exhibits an increasing trend. However, this is purely stochastic and due to the high serial correlation.Lets draw its ACF

`acf(x)`

As evident, its a gradual decay- its a notable feature of random walk series.

The first order differences of a random walk are a white noise series, so that the correlogram of the series of differences can be used to assess whether a given series is reasonably modeled as a random walk.

`acf(diff(x))`

So there are no obvious patterns in the correlogram. So If a series follows a random walk, the differenced series will be a white noise.

```
DP1 <- diff(x)
mean(DP1)+c(-2,2)*sd(DP1)/sqrt(length(DP1))
```

`## [1] 0.006397314 0.132060610`

We can check if it is a random walk or random walk with drift by calculating mean of difference of x and the confidence interval. if it contains 0 which it is then, it is random walk. Else it is random walk with drift with the drift of mean(diff(x))

For exchange rate data - lets see the acf of that

`acf(diff(Z.ts))`

Here lag 1 is significant. But the lack of any significant value suggests that the random walk provides a good approximation for the series. Lets use the HW model, we know that it is closer to white noise. So adding beta term while making alpha 1 and gamma as zero or false

```
Z.hw <- HoltWinters(Z.ts,alpha=1,gamma=FALSE)
acf(resid(Z.hw))
```

So we see that it is much more closer to the white noise.

The series {Xt} is an autoregressive process of order 1, if Xt= alpha1 * X(t-1) of order 2 if Xt = alpha1 * X(t-1)+ alpha 2 * X(t-2)

and so on. where alpha1, alpha2 are model parameters

```
set.seed(1)
x <- w <- rnorm(100)
for (t in 2:100) x[t] <- 0.7 * x[t-1]+w[t]
plot(x,type="l")
```

Lets see the ACF

`acf(x)`

PACF. partial correlation at lag k is the correlation that results after removing the effect of any correlation due to terms at shorter lags.

`pacf(x)`

The partial correlation has no significant correlation except the value at lag 1. PACF starts at lag 1 while ACF starts at lag 0.

Lets fit the AR model on our previously used model and estimate the value of alpha. We have set the value of alpha at 0.7, let us see how much model will estimate

```
set.seed(1)
x <- w <- rnorm(100)
for (t in 2:100) x[t] <- 0.7 * x[t-1]+w[t]
```

The method MLE is used for fitting purpose

```
x.ar <- ar(x,method="mle")
x.ar$order
```

`## [1] 1`

To it gave us the correct order, which is one. Now let us derive the alpha.

`x.ar$ar`

`## [1] 0.6009459`

So the value of alpha as per the model is 0.60 let us see if the confidence interval contains 0.70

`x.ar$ar+c(2,-2)*sqrt(x.ar$asy.var)`

```
## Warning in c(2, -2) * sqrt(x.ar$asy.var): Recycling array of length 1 in vector-array arithmetic is deprecated.
## Use c() or as.vector() instead.
```

`## [1] 0.7614886 0.4404031`

So the value 0.70 is contained in the confidence interval.

We have done this earlier, first lets take out the seasonality with the function aggregate

`Global.ar <- ar(aggregate(Global.ts,FUN=mean),method="mle")`

```
## Warning in arima0(x, order = c(i, 0L, 0L), include.mean = demean): possible
## convergence problem: optim gave code = 1
```

Lets find the order

`Global.ar$ar`

`## [1] 0.58762026 0.01260254 0.11116731 0.26763656`

So it is of the order 4. To test it if indeed it is, we can check the ACF

`acf(Global.ar$res[-(1:Global.ar$order)],lag=50)`

The correlogram is approximately white noise so that, in the absence of further information, a simple stochastic model can ‘explain’the correlation and trends in the series.

As the AR model has no deterministic trend component, the trends in the data can be explained by serial correlation and random variation, implying that it is possible that these trends are stochastic (or could arise from a purely stochastic process.

`save.image("workspace.Rdata") `