3
$\begingroup$

I know that an ARIMA(0,0,0) process is white noise and ARIMA(0,1,0) is a random walk,

Is there an interpretation of what an ARIMA(0,2,0) process is?

$\endgroup$
  • 1
    $\begingroup$ You have a second order random walk. This means that the expected value of second order differences (analogous to the second derivative) has expectation zero. Hence, the sample path "is expected" to be smooth. Therefore, second order random walks are useful building blocks for modelling smooth functions. $\endgroup$ – Jarle Tufto Nov 10 '17 at 20:43
  • 1
    $\begingroup$ Related: Interpretation of an I(3) process? $\endgroup$ – Stephan Kolassa Nov 16 '17 at 10:48
4
$\begingroup$

One interpetation is that the rate of change is random walk.

It's like a free fall where the gravitational force is stochastically changing.

If you drop the body on earth, it's moving according to the law: $$\frac{d^2}{dt^2}x=g$$ where $g$ is a gravitational constant. This means that the body's acceleration is always the same and equal to $g$. In a discretized version this would be $$\Delta^2x_t=g$$

If you replace the constant with a random variable, you get I(2) process: $$\Delta^2x_t=\varepsilon_t$$ It means that the acceleration is random, not constant anymore.

Here's a demo. We're shooting a canon at 45 degree angle to the right, the initial velocity is 100, gravitational constant is 9.81. The red line show the constant acceleration, and the black lines are of stochastic acceleration i.e. I(2):

enter image description here

Python code:

import matplotlib.pyplot as plt
import numpy as np
import math

dt = 0.1
g = 9.81
angle = math.pi/4
v = 100

vx = math.acos(angle)*v
vy = math.asin(angle)*v

x, y = 0, 0
while (y>=0):
    plt.plot(x,y,'r.')

    dx = vx*dt
    dy = vy*dt
    dvy = -g*dt

    x = x + dx
    y = y + dy
    vy = vy + dvy

# I(2)

np.random.seed(0)
vx = math.acos(angle)*v
for i in range(4):
    g0 = g
    x, y = 0, 0
    vy = math.asin(angle)*v
    while (y>=0):
        plt.plot(x,y,'k.')

        g = g0 + np.random.randn()*20

        dx = vx*dt
        dy = vy*dt
        dvy = -g*dt

        x = x + dx
        y = y + dy
        vy = vy + dvy


plt.show()
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.