Date: Sat, 27 Mar 2010 19:56:35 -0700
Reply-To: Sarah Gilman <sgilman@JSD.CLAREMONT.EDU>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Sarah Gilman <sgilman@JSD.CLAREMONT.EDU>
Subject: comparing time series question
Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes
I am looking for advice on the appropriate way to compare the mean
value of multiple time series.
Background:
I conducted an experiment on the effect of temperature on snail
growth. Temperature was manipulated indirectly, by using 3 different
levels of shading on snails in outdoor cages. Due to costs
constraints, I only measured the actual temperatures in one block of
cages. I measured temperatures continuously at 10 minute intervals
throughout the 40 days of the experiment.
I've converted the 10 minute data to daily max temperature, but this
is still highly autocorrelated, and there is some missing data (as
temperature sensors occaisionally failed)
I am interested in 1) estimating how much shading changed temperatures
in the 3 different treatments and 2) whether those differences are
statistically significant.
The problems are that 1) the daily temperatures are clearly
autocorrelated and 2) I need to control for missing observations when
calculating the mean temperature per treatment
The data look something like:
dayval shade maxdailytemp
4/1/2010 low 15
4/1/2010 medium 14
4/1/2010 high 13
4/2/2010 low 16
4/2/2010 medium 15
4/2/2010 high 12
etc....
Two different models have been suggested two me. I'm not sure either
is correct:
1) use a repeated measures ANOVA approach
proc mixed data=dailytemp;
class shade dayval;
model dailymaxtemp=shade;
repeated dayval / subj=shade type=ar(1);
run;
The problem is I only have one time series for each treatment
(shade), so I'm not sure that repeated measures is appropriate (if so,
is my repeated statement correct?)
2) create a lagged variable containing the previous day's temperature
and then treat 'dayval' as a random block.
proc mixed data=dailytemp;
class shade dayval;
model dailymaxtemp=shade lagdailymax;
random dayval;
run;
By using yesterday's temperature as a regressor, I think I have solve
the non-independent-error problem. However it effectively doubles the
number of missing observations since I now have to toss observations
where either dailymaxtemp or lagdailymax is missing.
I would appreciate any advice.
- Sarah Gilman