ATMO/GEOS 595c Patterns and Mechanisms of Decadal Climate Variability
Data Exercise 2: Testing time series periodicities vs. a red noise null hypothesis


Exercise Questions
Introduction
Help
Part I.  AR(1) model construction
Part II.  Interpretation

Question for discussion Monday, Feb 18th, as a result of this data analysis exercise:
Mann et al. (2000) regional SAT reconstructions
 
Introduction

In Data Exercise 1, many of you suggested that there was decadal variability in the lowpass filtered dataseries illustrated above.  In this exercise we'll develop a Monte Carlo estimate of the power spectra of these series we expect to see resulting from  modeling the data series as simple autoregressive functions, as in Section 2 of Pierce (2001).  construct a simple decadal-timescale filter, and apply it to these data series (here and here, extracted and de-headered from here and here, respectively).  Given your results and reading of the papers assigned for this week and last week, bring your answers to these questions for discussion, Monday, 4 February 2008. 

Help 

Feel free to employ any computational environment you prefer.  I will give some direction on how to do this in matlab, which is currently sitelicensed at the University of Arizona (freeware Octave workalike is here).  A short introduction to operation, nuts and bolts coding, and displaying graphics in matlab from another course I offer is here; a rough set of computing principles is here.  See also the links in this assignment to further explanation of terminology and concepts. 

A good general reference for time series analysis is Chatfield, Analysis of Time Series: An Introduction (6th ed., 2003).

Part I.  Construction of an autoregressive model of order 1. 

The order 1 autoregressive model is an appealing choice for a null hypothesis in oceanography and climatology, for at least  two reasons.   First, as we saw in Pierce (2001) and more famously in Hasselman (1977) and Hasselman and Frankingnoul (1977), there are good reasons why low frequency climate variations might resemble the integration of white noise atmospheric forcing into a more slowly varying ocean.  Second, we can easily write down analytical functions for the spectral dependence of an AR(1) process on frequency (see here for an introduction; also Wilks, 2006).

Let's load our data series.  In matlab this is

% load the Mann N. American-average warm season reconstructions
% data source: http://www.ncdc.noaa.gov/paleo/ei/ei_data/namerwarm-recon.dat
% publication url: http://www.ncdc.noaa.gov/paleo/ei/ei_cover.html
load namerwarm_rec.dat
nyr=namerwarm_rec(:,1);
nt=namerwarm_rec(:,2);

% load the Mann N. American-average warm season reconstructions
% data source: http://www.ncdc.noaa.gov/paleo/ei/ei_data/namerwarm-recon.dat
% publication url: http://www.ncdc.noaa.gov/paleo/ei/ei_cover.html
load tropicc_rec.dat
tyr=tropicc_rec(:,1);
tt=tropicc_rec(:,2);

Let's focus on just the 1750-1900 time interval, as the 20th century is dominated by a trend in both series:

% power spectra: for pre-instrumental period
nt=nt(1:151); %1750-1900 period
tt=tt(1:151); %1750-1900 period
d1=(nt-mean(nt))./std(nt);
d2=(tt-mean(tt))./std(tt);

Calculate the power spectra of the two dataseries and store it away for plotting later, e.g.

[pd1,fd1]=pmtm(d1,[],[],1);

The form of a first-order autoregressive function X is:

Xt = rXt-1 + N(0,sx)

with Xt the tth data point, r the lag-1 autocorrelation of X, and N the normal distribution of random numbers with mean zero and standard deviation sx, of the series X.

So first we need the autocorrelation of X at lag 1: this is just the correlation of X with a copy of itself shifted in time by one time interval.  For instance, consider the row vector Xt with nt data points.  Let d1a be the first nt-1 points of X, with mean removed, and standardized by the variance of the first N-1 points of X.  Let d1b be constructed the same way as d1a, except now it is the centered and standardized form of the second through nt points of X.  Then the AR(1) coefficient r for this series is

r = d1a*d1b'/(nt-2)     [with the prime denoting the vector transpose]

Find the AR(1) coefficient for both the North American warm season regional average series, and the Tropical cold season regional average series, e.g.


% find AR(1) coefficients
l1=length(d1);

d1a=(d1(1:l1-1)-mean(d1(1:l1-1)))'./std(d1(1:l1-1));
d1b=(d1(2:l1)-mean(d1(2:l1)))'./std(d1(2:l1))';
ar1d1=d1a*d1b'./(l1-2);

Now we can construct AR(1) series having AR(1) coefficients and lengths of our actual data series.   Construct 100 AR(1) series corresponding to each AR(1) coefficient.  For instance, for series d1, you might code

% generate AR(1) series
nr=100;

rd1=randn(nr,l1);
s1=std(d1);

for i=2:l1
  rd1(:,i)=ar1d1.*rd1(:,i-1)+s1.*randn(nr,1);
end

for i=1:nr % renormalize to zero mean and unit standard deviation

  rd1(i,:)=(rd1(i,:)-mean(rd1(i,:)))./std(rd1(i,:));
  rd2(i,:)=(rd2(i,:)-mean(rd2(i,:)))./std(rd2(i,:));
end

Last, calculate power spectra for each of the 100 AR(1) data series we constructed, for each of the two cases, in the same manner as you did for the actual data series. 

prd1=zeros(nr,length(fd1));
for i=1:nr

  [prd1(i,:),fr1]=pmtm(detrend(rd1(i,:)),[],[],1);
end

For each case, you now have 100 AR(1) power spectra, calculated at nf frequencies.  Sort these red noise power for each frequency by power; in other words, if your spectral results for the AR(1) series are 100 rows with nf columns of frequencies, then sort each column of spectral estimates from highest to lowest, e.g.

prd1s=flipud(sort(prd1));

You can now estimate the 95th and 5th percent confidence levels for spectral power at each frequency by plotting the 5th and 95th highest spectral estimates for each frequency for which you calculated a spectral estimate.

Part II.  Interpretation.

For each data series, plot its power spectrum.  Overlay on this power spectrum the 5th and 95th percent confidence levels you computed based on the corresponding AR(1) null hypothesis.  Can you reject the null hypothesis that there is no significant spectral power above that of red noise?

Now go back to the top of this page and prepare your thoughts on the answer to our discussion question.



back to Syllabus/Schedule.  Last updated 14 Feb 2008.