[R-sig-eco] Time series and GLS

Kingsford Jones kingsfordjones at gmail.com
Sun Jan 3 09:39:36 CET 2010


On Sat, Jan 2, 2010 at 3:34 PM, LisaB <lisabaril at hotmail.com> wrote:
>
> Thanks Kinsford.  I thought it would be appropriate.  As a follow up
> question: My first thought is to set up the data file with three columns:
> year, population (A,B), and nest success and then to input the following
> formula: success.gls=gls(success~year*population).  This would allow me to
> test for the effect of year for each population and then also test for
> differences between the two populations.  My questions are 1) have I
> specified the model right for those questions and 2) would the acf function
> calculate the autocorrelation correctly even though my 'year' in the data
> file is repeated twice (once for each value of nest success/population)?
> Thanks. Lisa (hope all is well with you)

Hi Lisa -- I didn't realize that was you in the first email -- all is
well, thanks.

To answer your first question, assuming normality and linearity I
would say that success ~ year*population is indeed a good place to
start.  The right-hand side expands to 1 + year + population
+year:population, and those 4 terms respectively will produce
estimates of the baseline (probably level A) intercept, baseline
slope, adjustment of that line up or down for population B, and
adjustment of the slope of the line for population B. So, for example,
for population B the predicted increase in mean success for a one unit
increase in year would come from the sum of the beta-hats from the 2nd
and 4th terms.  Checking for population effects could be an LRT
between models with and without the last two terms.

To answer the second question, you would be interested in modeling
autocorrelation within each of the two trajectories.  So if for
example an AR(1) structure was appropriate the correlation argument
could be specified as AR1(form = ~year | population)

Be sure to do lots of plotting as you build and check your model. I
would use lattice or ggplot to plot the fits within populations and to
get a feeling for the plausibility of linearity of the relationships,
normality and homogeneity of scatter around the two lines, and
independence.  As you mention, independence can be further checked
with an ACF plot (and semivariograms are useful for time series as
well as spatial data).  QQ plots of resids within populations are good
for normality checks and you can calibrate your judgement for 22
sample points by repeatedly using something like

par(mfrow = c(5, 5), mar = rep(1, 4))
for (i in 1:25) qqnorm(rnorm(22), main = '')


best,

Kingsford


>
>
> Kingsford Jones wrote:
>>
>> The gls function in nlme fits a general linear model, so yes you can
>> have categorical predictors (the advantage over the lm function is the
>> error covariance matrix may have non-zero off-diagonals, such as with
>> an autocorrelation structure, and non-constant diagonals).
>>
>> hth,
>> Kingsford Jones
>>
>> On Fri, Jan 1, 2010 at 2:44 PM, LisaB <lisabaril at hotmail.com> wrote:
>>>
>>> Hello -
>>>
>>> I need to analyze some time series data in an ANOVA framework, but am
>>> unsure
>>> of how to go about it.  I have data on nest success (response) over a 22
>>> year period for two populations.  For each year I have one value of nest
>>> success per population.  I am interested in determining 1) whether there
>>> are
>>> differences in nest success over time between these two populations and
>>> 2)
>>> what are the trends for each population over time.  My thought is to use
>>> GLS
>>> and model temporal autocorrelation if the acf function indicates this is
>>> an
>>> issue, but since population is a categorical variable I'm unsure if this
>>> is
>>> appropriate.  Any advice would be much appreciated. Thank you. Lisa
>>>
>>>
>>>
>>>
>>> --
>>> View this message in context:
>>> http://n2.nabble.com/Time-series-and-GLS-tp4240700p4240700.html
>>> Sent from the r-sig-ecology mailing list archive at Nabble.com.
>>>
>>> _______________________________________________
>>> R-sig-ecology mailing list
>>> R-sig-ecology at r-project.org
>>> https://stat.ethz.ch/mailman/listinfo/r-sig-ecology
>>>
>>
>> _______________________________________________
>> R-sig-ecology mailing list
>> R-sig-ecology at r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-sig-ecology
>>
>>
>
> --
> View this message in context: http://n2.nabble.com/Time-series-and-GLS-tp4240700p4244082.html
> Sent from the r-sig-ecology mailing list archive at Nabble.com.
>
> _______________________________________________
> R-sig-ecology mailing list
> R-sig-ecology at r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-ecology
>



More information about the R-sig-ecology mailing list