why is an MA process equivalent to a FIR filter? John Cook claims that a FIR filter is equivalent to an MA process.
But FIR filter is just a function of the previous inputs:
$y_t = \phi(B)x_t$
and an MA process is a function of the previous prediction errors, which is a function of both previous inputs and previous outputs:
$y_t = \phi(B)\epsilon_t$
 A: MA process/model definitions slightly change across literatures. Some define it as moving average models with white noise inputs. Some just refer this noise process $\epsilon_t$ as input process, i.e. $x_t$ (as in John Cook's explanation). But the common thing is that the output depends on previous and current inputs, and nothing more. This is the same property that Finite Impulse Response (FIR) systems have. In FIR systems (just as in MA model), we can write the output as a finite length linear combination of previous and current inputs. 
A: I had a long discussion in dsp.stackexchange.com regarding the terminology overlap/confusion between the DSP world and the time series world.
At the end we came to the following common understandings:
1) Filter and process are different things. Filter is something that has an input and output, but it doesn't generate any data by itself. Nor it has a preference regarding what kind of input it expects. It simply filters the input and when used with an inappropriate (not designed to handle) input it simply yields something not very useful.
2) A MA process can be implemented using an FIR filter(with appropriate coefficients) by exciting the filter input with a white noise process. The output of the filter will be the desired process.
3) An AR process can be implemented using an IIR filter(with appropriate coefficients) by exciting the filter input with a white noise process. The output of the filter will be the desired process.
The article you are referring to is incorrect in the sense that it totally ignores how the filter will be excited. Time series guys don't call
$y[n] = a_1y[n-1]+...+a_py[n-p]$ an $AR(p)$ process(or model) as claimed by the article because the excitation noise of $\epsilon[n]$ is missing in its description.
A: It's true that time series models and signal processing filters are not exactly the same things. However, the same form of equation relates the noise process to the current value of a time series in an MA model as relates the input to the output of an FIR filter. That is,
time_series_or_filter_output(n) = b0 * noise_process_or_filter_input(n) + b1 * noise_process_or_filter_input(n-1) + ... + b_q * noise_process_or_flter_input(n-q)
This means that the impact of a previous value of the noise_process_or_filter_input can be felt on the current value of the time_series_or_filter_output only over finite number of time steps. To see this, consider the following MA/FIR equation:
series_or_output(n) = b0 * noise_or_input(n) + b1 * noise_or_input(n-1)
Then
series_or_output(n+1) = b0 * noise_or_input(n+1) + b1 * noise_or_input(n)
series_or_output(n+2) = b0 * noise_or_input(n+2) + b1 * noise_or_input(n+1)
So by time n+2, the noise_or_input at time n no longer has an impact on the current value of the series_or_output.
Furthermore, the same form of equation relates the past value to the current value of a time series in an AR model as relates the input to the output of an IIR filter. That is,
time_series_or_filter_output(n) = a1 * time_series_or_filter_output(n-1) + a2 * time_series_or_filter_output(n-2) + ... + a_p * time_series_or_filter_output(n-p)
This means that the impact of a previous value of the time_series_or_filter_output can be felt on the current value of the time_series_or_filter_output over infinite number of time steps. To see this, consider the following AR/IIR equation:
series_or_output(n) = a1 * series_or_output(n-1)
Then,
series_or_ouput(n+1) = a1 * series_or_output(n) = a1 * (a1 * series_or_output(n-1))
series_or_ouput(n+2) = a1 * series_or_output(n+1) = a1 * (a1 * a1 * series_or_output(n-1))
…
So there will never be a time when the series_or_output at time n-1 no longer has an impact on the current value of the series_or_output.
