Time series
A time series comprises observations taken at a sequence of time
points.
In most situations these time points will be (approximately) evenly
spaced. For example:
- Monthly rainfall figures
- Quarterly unemployment rates
Linear models can be applied to time series data, but typically it
will prove necessary to generalize the structure of the error terms from
the simple independent errors that we have assumed so far.
Tourism in Victoria
Data are number of room nights occupied in hotels, motels and
guesthouses in Victoria. Observations are monthly from January 1980 to
December 1994. Data source: Australian Bureau of Statistics.
Download motel.csv
## tourism <- read_csv(file = "motel.csv")
tourism <- tourism |>
mutate(Time = round(time_length(Date - min(Date), unit = "month")), Month = factor(month(Date,
label = TRUE), ordered = FALSE), Year = year(Date))
head(tourism)
# A tibble: 6 × 6
Date RoomNights AvePrice Time Month Year
<date> <dbl> <dbl> <dbl> <fct> <dbl>
1 1980-01-01 276986 27.7 0 Jan 1980
2 1980-02-01 260633 28.7 1 Feb 1980
3 1980-03-01 291551 28.6 2 Mar 1980
4 1980-04-01 275383 28.3 3 Apr 1980
5 1980-05-01 275302 28.7 4 May 1980
6 1980-06-01 231693 28.6 5 Jun 1980
Note that
Time
is constructed so that it increases by 1 every
month. This is to give us a nice easy integer valued time variable for
interpretation.
Year
is constructed from the date.
Month
is constructed from the date and converted to
an unordered factor (for modelling).
ggplot(tourism) + geom_line(aes(x = Date, y = RoomNights))
Variation in a Time Series
Possible sources of variation in a time series are:
- Secular trend (or just trend): tendency of
the series to increase or decrease over a long period of time.
- Seasonal variation: describes fluctuations
that recur during specific parts of the year (e.g. quarterly or
monthly).
- Residual variation (or innovations): the
part of the variation which is not explained by long term trend or
seasonal effects.
- An additional cyclical source of variation
(corresponding to business cycles, for example) is sometimes
identified.
Modelling A Time Series
Time series data can be modelled using linear models (although there
are a number of alternative approaches).
- Long term trend can be modelled using polynomial regression.
- Seasonal effects can be represented by specifying the seasons
(e.g. months, quarters) as a factor in the model.
- Additional covariates can sometimes be incorporated in such models
(e.g. standard economic indicators may be included to help explain
variation in sales data)
Back to the Tourism Data
Model fitting and anova()
tourism.lm <- lm(RoomNights ~ Time + Month, data = tourism)
anova(tourism.lm)
Analysis of Variance Table
Response: RoomNights
Df Sum Sq Mean Sq F value Pr(>F)
Time 1 5.4099e+11 5.4099e+11 2494.398 < 2.2e-16 ***
Month 11 1.5589e+11 1.4172e+10 65.346 < 2.2e-16 ***
Residuals 167 3.6219e+10 2.1688e+08
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Call:
lm(formula = RoomNights ~ Time + Month, data = tourism)
Residuals:
Min 1Q Median 3Q Max
-37721 -8900 -1826 7931 48624
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 275040.43 4197.80 65.520 < 2e-16 ***
Time 1058.81 21.17 50.010 < 2e-16 ***
MonthFeb -30740.95 5377.53 -5.717 4.90e-08 ***
MonthMar 24115.91 5377.65 4.484 1.35e-05 ***
MonthApr -1464.50 5377.86 -0.272 0.785712
MonthMay -18682.52 5378.15 -3.474 0.000654 ***
MonthJun -65076.46 5378.53 -12.099 < 2e-16 ***
MonthJul -43764.27 5378.99 -8.136 8.89e-14 ***
MonthAug -29006.15 5379.53 -5.392 2.35e-07 ***
MonthSep -11274.03 5380.15 -2.095 0.037636 *
MonthOct 27159.22 5380.86 5.047 1.16e-06 ***
MonthNov 17231.14 5381.65 3.202 0.001635 **
MonthDec -57892.74 5382.53 -10.756 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 14730 on 167 degrees of freedom
Multiple R-squared: 0.9506, Adjusted R-squared: 0.947
F-statistic: 267.8 on 12 and 167 DF, p-value: < 2.2e-16
augment(tourism.lm, tourism) |>
ggplot(mapping = aes(x = Date)) + geom_point(mapping = aes(y = RoomNights)) +
geom_line(mapping = aes(y = .fitted), col = "blue")
More Model Fitting in R
tourism.lm.2 <- lm(RoomNights ~ poly(Time, 2) + Month, data = tourism)
anova(tourism.lm, tourism.lm.2)
Analysis of Variance Table
Model 1: RoomNights ~ Time + Month
Model 2: RoomNights ~ poly(Time, 2) + Month
Res.Df RSS Df Sum of Sq F Pr(>F)
1 167 3.6219e+10
2 166 3.5762e+10 1 456501120 2.119 0.1474
No evidence that quadratic trend improves on linear
(P=0.1474).
Residuals Versus Time
augment(tourism.lm, tourism) |>
ggplot(mapping = aes(x = Date, y = .resid)) + geom_line()
The time plot of residuals for the linear trend model suggests that
there are extended periods when the residuals are almost all negative
(1986-1988) and extended periods where the residuals are almost all
positive (1989-1990).
Such behaviour should not be observed if the errors are
independent.
However, for time series data it is common for some residual
correlation between residuals to remain even when the trend and seasonal
variation has been removed.
This type of correlation in the sequence of residuals is usually
called autocorrelation.
Stationary Processes and Autocorrelation
Consider a random process in time: \(Z_t\) where \(t=1,2,\ldots\) and \(Z_t\) represents the value of the process
at time \(t\).
This process is said to be (weakly) stationary if:
- \(\mathbf{E}[Z_t]\) and \(\mathsf{Var}(Z_t)\) do not change with time
\(t\).
- The correlation \(\mathsf{Corr}(Z_t,
Z_{t+k})\) depends only on the time lag \(k\).
It is common to model the residuals from a time series as a
stationary random process with zero mean.
For a stationary process, the autocorrelation
function (or ACF) is defined by \[\rho(k) = \mathsf{Corr}(Z_t,
Z_{t+k})\]
The ACF (autocorrelation against time lag) can be plotted in R using
the acf()
command.
Tourism Data: ACF Plot for Residuals
- The ACF plot indicates a correlation of about \(0.4\) at lag one. Hence consecutive
residuals are positively dependent.
- The dashed horizontal lines on the plot are a 95% confidence
interval under the assumption that the true autocorrelation is
zero.
- Any correlation lying within this confidence interval may be just
noise.
- Any correlation lying outside this confidence interval is probably
indicative of true serial dependence in the data.
For the tourism data it seems that there is serial dependence in the
data, since the correlations at lags 1, 2, 3 and 4 all extend beyond the
confidence interval bounds.
The existence of several significant correlations is common when
autocorrelation exists. If the correlation between the \(i\)th and \(j\)th variables is high, and so
is the correlation between the \(j\)th and \(k\)th variables, we ought to
expect the correlation between the \(i\)th and \(k\)th variables to also be
high.
When we are thinking about time series, the correlation for data from
lags 0 and 1 is the same as the data from lags 1 and 2 because they are
both sets formed by pairs of successive observations.
If observations are correlated with their preceding observations, and
those preceding observations are correlated with their preceding
observations, then there is likely to be a correlation between
observations and those that are back two time steps.
This logic continues to three, four, and greater time lags and is
especially likely when the correlation at the first lag is very, very
high.
LS0tDQp0aXRsZTogIkxlY3R1cmUgMzQ6IEludHJvZHVjdGlvbiB0byBMaW5lYXIgTW9kZWxsaW5nIGZvciBUaW1lIFNlcmllcyINCnN1YnRpdGxlOiAxNjEuMjUxIFJlZ3Jlc3Npb24gTW9kZWxsaW5nDQphdXRob3I6ICJQcmVzZW50ZWQgYnkgSm9uYXRoYW4gTWFyc2hhbGwgPEouQy5tYXJzaGFsbEBtYXNzZXkuYWMubno+IiAgDQpkYXRlOiAiV2VlayAxMiBvZiBTZW1lc3RlciAyLCBgciBsdWJyaWRhdGU6OnllYXIobHVicmlkYXRlOjpub3coKSlgIg0Kb3V0cHV0Og0KICBodG1sX2RvY3VtZW50Og0KICAgIGNvZGVfZG93bmxvYWQ6IHRydWUNCiAgICB0aGVtZTogeWV0aQ0KICAgIGhpZ2hsaWdodDogdGFuZ28NCiAgaHRtbF9ub3RlYm9vazoNCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlDQogICAgdGhlbWU6IHlldGkNCiAgICBoaWdobGlnaHQ6IHRhbmdvDQogIGlvc2xpZGVzX3ByZXNlbnRhdGlvbjoNCiAgICB3aWRlc2NyZWVuOiB0cnVlDQogICAgc21hbGxlcjogdHJ1ZQ0KICB3b3JkX2RvY3VtZW50OiBkZWZhdWx0DQogIHNsaWR5X3ByZXNlbnRhdGlvbjogDQogICAgdGhlbWU6IHlldGkNCiAgICBoaWdobGlnaHQ6IHRhbmdvDQogIHBkZl9kb2N1bWVudDogZGVmYXVsdA0KLS0tDQoNCg0KDQoNCjwhLS0tIERhdGEgaXMgb24NCmh0dHBzOi8vci1yZXNvdXJjZXMubWFzc2V5LmFjLm56L2RhdGEvMTYxMjUxLw0KLS0tPg0KDQpgYGB7ciBzZXR1cCwgcHVybD1GQUxTRSwgaW5jbHVkZT1GQUxTRX0NCmxpYnJhcnkoa25pdHIpDQpvcHRzX2NodW5rJHNldChkZXY9YygicG5nIiwgInBkZiIpKQ0Kb3B0c19jaHVuayRzZXQoZmlnLmhlaWdodD02LCBmaWcud2lkdGg9NywgZmlnLnBhdGg9IkZpZ3VyZXMvIiwgZmlnLmFsdD0idW5sYWJlbGxlZCIpDQpvcHRzX2NodW5rJHNldChjb21tZW50PSIiLCBmaWcuYWxpZ249ImNlbnRlciIsIHRpZHk9VFJVRSkNCm9wdGlvbnMoa25pdHIua2FibGUuTkEgPSAnJykNCmxpYnJhcnkodGlkeXZlcnNlKQ0KbGlicmFyeShicm9vbSkNCmBgYA0KDQoNCjwhLS0tIERvIG5vdCBlZGl0IGFueXRoaW5nIGFib3ZlIHRoaXMgbGluZS4gLS0tPg0KDQojIyBUaW1lIHNlcmllcw0KDQpBIHRpbWUgc2VyaWVzIGNvbXByaXNlcyBvYnNlcnZhdGlvbnMgdGFrZW4gYXQgYSBzZXF1ZW5jZSBvZiB0aW1lIHBvaW50cy4NCg0KSW4gbW9zdCBzaXR1YXRpb25zIHRoZXNlIHRpbWUgcG9pbnRzIHdpbGwgYmUgKGFwcHJveGltYXRlbHkpIGV2ZW5seSBzcGFjZWQuIEZvciBleGFtcGxlOg0KICAgIA0KLSBNb250aGx5IHJhaW5mYWxsIGZpZ3VyZXMNCi0gUXVhcnRlcmx5IHVuZW1wbG95bWVudCByYXRlcw0KDQpMaW5lYXIgbW9kZWxzIGNhbiBiZSBhcHBsaWVkIHRvIHRpbWUgc2VyaWVzIGRhdGEsIGJ1dCB0eXBpY2FsbHkgaXQNCiAgICB3aWxsIHByb3ZlIG5lY2Vzc2FyeSB0byBnZW5lcmFsaXplIHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIGVycm9yIHRlcm1zDQogICAgZnJvbSB0aGUgc2ltcGxlIGluZGVwZW5kZW50IGVycm9ycyB0aGF0IHdlIGhhdmUgYXNzdW1lZCBzbyBmYXIuDQoNCiMjIFRvdXJpc20gaW4gVmljdG9yaWENCg0KRGF0YSBhcmUgbnVtYmVyIG9mIHJvb20gbmlnaHRzIG9jY3VwaWVkIGluIGhvdGVscywgbW90ZWxzIGFuZCBndWVzdGhvdXNlcyBpbiBWaWN0b3JpYS4NCk9ic2VydmF0aW9ucyBhcmUgbW9udGhseSBmcm9tIEphbnVhcnkgMTk4MCB0byBEZWNlbWJlciAxOTk0Lg0KRGF0YSBzb3VyY2U6IEF1c3RyYWxpYW4gQnVyZWF1IG9mIFN0YXRpc3RpY3MuDQoNCmByIHhmdW46OmVtYmVkX2ZpbGUoIi4uLy4uL2RhdGEvbW90ZWwuY3N2IilgDQoNCmBgYHtyIGdldFRvdXJpc21EYXRhLCBlY2hvPS0xLCBldmFsPS0yLCBtZXNzYWdlPUZBTFNFfQ0KdG91cmlzbSA8LSByZWFkX2NzdihmaWxlPSIuLi8uLi9kYXRhL21vdGVsLmNzdiIpDQp0b3VyaXNtIDwtIHJlYWRfY3N2KGZpbGU9Im1vdGVsLmNzdiIpDQp0b3VyaXNtIDwtIHRvdXJpc20gfD4NCiAgbXV0YXRlKFRpbWUgPSByb3VuZCh0aW1lX2xlbmd0aChEYXRlIC0gbWluKERhdGUpLCB1bml0PSJtb250aCIpKSwNCiAgICAgICAgIE1vbnRoID0gZmFjdG9yKG1vbnRoKERhdGUsIGxhYmVsPVRSVUUpLCBvcmRlcmVkPUZBTFNFKSwNCiAgICAgICAgIFllYXIgPSB5ZWFyKERhdGUpKQ0KaGVhZCh0b3VyaXNtKQ0KYGBgDQoNCiMjDQoNCk5vdGUgdGhhdA0KDQotIGBUaW1lYCBpcyBjb25zdHJ1Y3RlZCBzbyB0aGF0IGl0IGluY3JlYXNlcyBieSAxIGV2ZXJ5IG1vbnRoLiBUaGlzIGlzIHRvIGdpdmUgdXMgYSBuaWNlIGVhc3kgaW50ZWdlciB2YWx1ZWQgdGltZSB2YXJpYWJsZSBmb3IgaW50ZXJwcmV0YXRpb24uDQoNCi0gYFllYXJgIGlzIGNvbnN0cnVjdGVkIGZyb20gdGhlIGRhdGUuDQoNCi0gYE1vbnRoYCBpcyBjb25zdHJ1Y3RlZCBmcm9tIHRoZSBkYXRlIGFuZCBjb252ZXJ0ZWQgdG8gYW4gdW5vcmRlcmVkIGZhY3RvciAoZm9yIG1vZGVsbGluZykuDQoNCiMjDQoNCmBgYHtyIHBsb3RUb3VyaXNtLCBmaWcuY2FwPSJUaGVyZSBpcyBjbGVhciBldmlkZW5jZSBvZiB1cHdhcmQgdHJlbmQgYW5kIHNlYXNvbmFsIChtb250aGx5KSB2YXJpYXRpb24uIn0NCmdncGxvdCh0b3VyaXNtKSArDQogIGdlb21fbGluZShhZXMoeD1EYXRlLCB5PVJvb21OaWdodHMpKQ0KYGBgDQoNCg0KIyMgVmFyaWF0aW9uIGluIGEgVGltZSBTZXJpZXMNCg0KUG9zc2libGUgc291cmNlcyBvZiB2YXJpYXRpb24gaW4gYSB0aW1lIHNlcmllcyBhcmU6DQogICAgDQotICoqKlNlY3VsYXIgdHJlbmQqKiogKG9yIGp1c3QgdHJlbmQpOiAgdGVuZGVuY3kgb2YgdGhlIHNlcmllcyB0byBpbmNyZWFzZSBvciBkZWNyZWFzZSBvdmVyIGEgbG9uZw0KICAgICAgICBwZXJpb2Qgb2YgdGltZS4NCi0gKioqU2Vhc29uYWwgdmFyaWF0aW9uKioqOiBkZXNjcmliZXMgZmx1Y3R1YXRpb25zIHRoYXQNCiAgICAgICAgcmVjdXIgZHVyaW5nIHNwZWNpZmljIHBhcnRzIG9mIHRoZSB5ZWFyIChlLmcuIHF1YXJ0ZXJseSBvcg0KICAgICAgICBtb250aGx5KS4NCi0gUmVzaWR1YWwgdmFyaWF0aW9uIChvciAqKippbm5vdmF0aW9ucyoqKik6IHRoZSBwYXJ0IG9mIHRoZSB2YXJpYXRpb24gd2hpY2ggaXMgbm90IGV4cGxhaW5lZCBieSBsb25nIHRlcm0gICAgICAgIHRyZW5kIG9yIHNlYXNvbmFsIGVmZmVjdHMuDQotIEFuIGFkZGl0aW9uYWwgKioqY3ljbGljYWwqKiogc291cmNlIG9mIHZhcmlhdGlvbiAoY29ycmVzcG9uZGluZyB0byBidXNpbmVzcyBjeWNsZXMsIGZvciBleGFtcGxlKSBpcyBzb21ldGltZXMNCiAgICBpZGVudGlmaWVkLg0KDQojIyBNb2RlbGxpbmcgQSBUaW1lIFNlcmllcw0KDQpUaW1lIHNlcmllcyBkYXRhIGNhbiBiZSBtb2RlbGxlZCB1c2luZyBsaW5lYXIgbW9kZWxzIChhbHRob3VnaCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgYWx0ZXJuYXRpdmUgYXBwcm9hY2hlcykuDQoNCi0gTG9uZyB0ZXJtIHRyZW5kIGNhbiBiZSBtb2RlbGxlZCB1c2luZyBwb2x5bm9taWFsIHJlZ3Jlc3Npb24uDQotIFNlYXNvbmFsIGVmZmVjdHMgY2FuIGJlIHJlcHJlc2VudGVkIGJ5IHNwZWNpZnlpbmcgdGhlIHNlYXNvbnMgKGUuZy4gbW9udGhzLCBxdWFydGVycykgYXMgYSBmYWN0b3IgaW4gdGhlIG1vZGVsLg0KLSBBZGRpdGlvbmFsIGNvdmFyaWF0ZXMgY2FuIHNvbWV0aW1lcyBiZSBpbmNvcnBvcmF0ZWQgaW4gc3VjaCBtb2RlbHMgKGUuZy4gc3RhbmRhcmQgZWNvbm9taWMgaW5kaWNhdG9ycyBtYXkgYmUgaW5jbHVkZWQgdG8gaGVscCBleHBsYWluICAgdmFyaWF0aW9uIGluIHNhbGVzIGRhdGEpDQoNCiMjIEJhY2sgdG8gdGhlIFRvdXJpc20gRGF0YQ0KDQpNb2RlbCBmaXR0aW5nIGFuZCBgYW5vdmEoKWANCg0KYGBge3IgVG91cmlzbS5sbX0NCnRvdXJpc20ubG0gPC0gbG0oUm9vbU5pZ2h0cyB+IFRpbWUgKyBNb250aCwgZGF0YT10b3VyaXNtKQ0KYW5vdmEodG91cmlzbS5sbSkNCmBgYA0KDQojIw0KDQpgYGB7ciBzdW1Ub3VyaXNtLmxtfQ0Kc3VtbWFyeSh0b3VyaXNtLmxtKQ0KYGBgDQoNCiMjDQoNCmBgYHtyIEZpdHNQbG90VG91cmlzbS5sbX0NCmF1Z21lbnQodG91cmlzbS5sbSwgdG91cmlzbSkgfD4NCiAgZ2dwbG90KG1hcHBpbmc9YWVzKHg9RGF0ZSkpICsNCiAgZ2VvbV9wb2ludChtYXBwaW5nPWFlcyh5PVJvb21OaWdodHMpKSArDQogIGdlb21fbGluZShtYXBwaW5nPWFlcyh5PS5maXR0ZWQpLCBjb2w9J2JsdWUnKQ0KYGBgDQoNCiMjIENvbW1lbnRzDQoNCmBUaW1lYCBpcyB0aGUgYXBwcm9wcmlhdGUgY292YXJpYXRlIHRvIHRyYWNrIHRyZW5kIChub3QgdXNpbmcgYFllYXJgLCB3aGljaCB3b3VsZCBpZ25vcmUgc2VjdWxhciB0cmVuZCBkdXJpbmcgYSB5ZWFyKS4NCg0KSXQgaXMgaW1wb3J0YW50IHRvIHJlbWVtYmVyIHRvIGNvZGUgYE1vbnRoYCBhcyBhIGZhY3RvciBzbyBhcyB0byByZXByZXNlbnQgc2Vhc29uYWwgZWZmZWN0cy4NCg0KVGhlcmUgaXMgc3Ryb25nIGV2aWRlbmNlIG9mIHRyZW5kICgkUCA8IDIuMiBcdGltZXMgMTBeey0xNn0kIGZvcg0KICAgIGBUaW1lYCkgYW5kIG9mIHNlYXNvbmFsaXR5ICgkUCA8IDIuMiBcdGltZXMgMTBeey0xNn0kIGZvciBgTW9udGhgKSBpbiB0aGUgZGF0YS4NCg0KQXMgbWlnaHQgYmUgZXhwZWN0ZWQsIHJvb20gYm9va2luZ3MgdGVuZCB0byBiZSBsb3cgaW4gdGhlIHdpbnRlciBtb250aHMuIFRoZSBwYXR0ZXJuIG92ZXIgc3VtbWVyIGlzIGxlc3MgY2xlYXIuIFBlcmhhcHMgRGVjZW1iZXIgaXMgYSBiYWQgbW9udGggYmVjYXVzZSBvZiB0aGUgQ2hyaXN0bWFzIGVmZmVjdD8NCg0KV2UgaGF2ZSBhc3N1bWVkIGEgbGluZWFyIHNlY3VsYXIgdHJlbmQuIFdvdWxkIHF1YWRyYXRpYyBiZSBiZXR0ZXI/DQoNCiMjIE1vcmUgTW9kZWwgRml0dGluZyBpbiBSDQoNCmBgYHtyIFRvdXJpc20ubG0uMn0NCnRvdXJpc20ubG0uMiA8LSBsbShSb29tTmlnaHRzIH4gcG9seShUaW1lLDIpICsgTW9udGgsIGRhdGE9dG91cmlzbSkNCmFub3ZhKHRvdXJpc20ubG0sIHRvdXJpc20ubG0uMikNCmBgYA0KDQpObyBldmlkZW5jZSB0aGF0IHF1YWRyYXRpYyB0cmVuZCBpbXByb3ZlcyBvbiBsaW5lYXIgKCpQPTAuMTQ3NCopLg0KDQojIyBSZXNpZHVhbHMgVmVyc3VzIFRpbWUNCg0KYGBge3IgVG91cmlzbVBsb3R9DQphdWdtZW50KHRvdXJpc20ubG0sIHRvdXJpc20pIHw+DQogIGdncGxvdChtYXBwaW5nID0gYWVzKHg9RGF0ZSwgeT0ucmVzaWQpKSArDQogIGdlb21fbGluZSgpDQpgYGANCg0KIyMNCg0KVGhlIHRpbWUgcGxvdCBvZiByZXNpZHVhbHMgZm9yIHRoZSBsaW5lYXIgdHJlbmQgbW9kZWwgc3VnZ2VzdHMgdGhhdCB0aGVyZSBhcmUgZXh0ZW5kZWQgcGVyaW9kcyB3aGVuIHRoZSByZXNpZHVhbHMgYXJlIGFsbW9zdCBhbGwgbmVnYXRpdmUgKDE5ODYtMTk4OCkgYW5kIGV4dGVuZGVkIHBlcmlvZHMgd2hlcmUgdGhlIHJlc2lkdWFscyBhcmUgYWxtb3N0IGFsbCBwb3NpdGl2ZSAoMTk4OS0xOTkwKS4NCg0KU3VjaCBiZWhhdmlvdXIgc2hvdWxkIG5vdCBiZSBvYnNlcnZlZCBpZiB0aGUgZXJyb3JzIGFyZSBpbmRlcGVuZGVudC4NCg0KSG93ZXZlciwgZm9yIHRpbWUgc2VyaWVzIGRhdGEgaXQgaXMgY29tbW9uIGZvciBzb21lIHJlc2lkdWFsIGNvcnJlbGF0aW9uIGJldHdlZW4gcmVzaWR1YWxzIHRvIHJlbWFpbiBldmVuIHdoZW4gdGhlIHRyZW5kIGFuZCBzZWFzb25hbCB2YXJpYXRpb24gaGFzIGJlZW4gcmVtb3ZlZC4NCg0KVGhpcyB0eXBlIG9mIGNvcnJlbGF0aW9uIGluIHRoZSBzZXF1ZW5jZSBvZiByZXNpZHVhbHMgaXMgdXN1YWxseSAgICAgY2FsbGVkICoqYXV0b2NvcnJlbGF0aW9uKiouDQoNCiMjIFN0YXRpb25hcnkgUHJvY2Vzc2VzIGFuZCBBdXRvY29ycmVsYXRpb24NCg0KQ29uc2lkZXIgYSByYW5kb20gcHJvY2VzcyBpbiB0aW1lOiAkWl90JCB3aGVyZSAkdD0xLDIsXGxkb3RzJCBhbmQgJFpfdCQgcmVwcmVzZW50cyB0aGUgdmFsdWUgb2YgdGhlIHByb2Nlc3MgYXQgdGltZSAkdCQuDQoNClRoaXMgcHJvY2VzcyBpcyBzYWlkIHRvIGJlICh3ZWFrbHkpIHN0YXRpb25hcnkgaWY6DQogICAgDQotICRcbWF0aGJme0V9W1pfdF0kIGFuZCAkXG1hdGhzZntWYXJ9KFpfdCkkIGRvIG5vdCBjaGFuZ2Ugd2l0aCB0aW1lICR0JC4NCi0gVGhlIGNvcnJlbGF0aW9uICRcbWF0aHNme0NvcnJ9KFpfdCwgWl97dCtrfSkkIGRlcGVuZHMgb25seSBvbiB0aGUgdGltZSBsYWcgJGskLg0KDQpJdCBpcyBjb21tb24gdG8gbW9kZWwgdGhlIHJlc2lkdWFscyBmcm9tIGEgdGltZSBzZXJpZXMgYXMgYSBzdGF0aW9uYXJ5IHJhbmRvbSBwcm9jZXNzIHdpdGggemVybyBtZWFuLg0KDQpGb3IgYSBzdGF0aW9uYXJ5IHByb2Nlc3MsIHRoZSAqKmF1dG9jb3JyZWxhdGlvbiBmdW5jdGlvbioqIChvciBBQ0YpIGlzIGRlZmluZWQgYnkNCiAgICAkJFxyaG8oaykgPSBcbWF0aHNme0NvcnJ9KFpfdCwgWl97dCtrfSkkJA0KDQpUaGUgQUNGIChhdXRvY29ycmVsYXRpb24gYWdhaW5zdCB0aW1lIGxhZykgY2FuIGJlIHBsb3R0ZWQgaW4gUiB1c2luZyAgICB0aGUgYGFjZigpYCBjb21tYW5kLg0KDQojIyBUb3VyaXNtIERhdGE6IEFDRiBQbG90IGZvciBSZXNpZHVhbHMNCg0KYGBge3IgVG91cmlzbUFDRn0NCmFjZihyZXNpZCh0b3VyaXNtLmxtKSkNCmBgYA0KDQojIw0KDQotIFRoZSBBQ0YgcGxvdCBpbmRpY2F0ZXMgYSBjb3JyZWxhdGlvbiBvZiBhYm91dCAkMC40JCBhdCBsYWcgb25lLg0KICAgIEhlbmNlIGNvbnNlY3V0aXZlIHJlc2lkdWFscyBhcmUgcG9zaXRpdmVseSBkZXBlbmRlbnQuDQotIFRoZSBkYXNoZWQgaG9yaXpvbnRhbCBsaW5lcyBvbiB0aGUgcGxvdCBhcmUgYSA5NSUgY29uZmlkZW5jZSBpbnRlcnZhbA0KICAgIHVuZGVyIHRoZSBhc3N1bXB0aW9uIHRoYXQgdGhlIHRydWUgYXV0b2NvcnJlbGF0aW9uIGlzIHplcm8uDQotIEFueSBjb3JyZWxhdGlvbiBseWluZyB3aXRoaW4gdGhpcyBjb25maWRlbmNlIGludGVydmFsIG1heSBiZSBqdXN0DQogICAgbm9pc2UuDQotIEFueSBjb3JyZWxhdGlvbiBseWluZyBvdXRzaWRlIHRoaXMgY29uZmlkZW5jZSBpbnRlcnZhbCBpcyBwcm9iYWJseQ0KICAgIGluZGljYXRpdmUgb2YgdHJ1ZSBzZXJpYWwgZGVwZW5kZW5jZSBpbiB0aGUgZGF0YS4NCg0KRm9yIHRoZSB0b3VyaXNtIGRhdGEgaXQgc2VlbXMgdGhhdCB0aGVyZSBpcyBzZXJpYWwgZGVwZW5kZW5jZSBpbiB0aGUNCiAgICBkYXRhLCBzaW5jZSB0aGUgY29ycmVsYXRpb25zIGF0IGxhZ3MgMSwgMiwgMyBhbmQgNCBhbGwgZXh0ZW5kIGJleW9uZA0KICAgIHRoZSBjb25maWRlbmNlIGludGVydmFsIGJvdW5kcy4NCg0KIyMNCg0KVGhlIGV4aXN0ZW5jZSBvZiBzZXZlcmFsIHNpZ25pZmljYW50IGNvcnJlbGF0aW9ucyBpcyBjb21tb24gd2hlbiBhdXRvY29ycmVsYXRpb24gZXhpc3RzLiBJZiB0aGUgY29ycmVsYXRpb24gYmV0d2VlbiAgdGhlICRpJF50aF4gYW5kICRqJF50aF4gdmFyaWFibGVzIGlzIGhpZ2gsIGFuZCBzbyBpcyB0aGUgY29ycmVsYXRpb24gYmV0d2VlbiB0aGUgJGokXnRoXiBhbmQgJGskXnRoXiB2YXJpYWJsZXMsIHdlIG91Z2h0IHRvIGV4cGVjdCB0aGUgY29ycmVsYXRpb24gYmV0d2VlbiB0aGUgJGkkXnRoXiBhbmQgJGskXnRoXiB2YXJpYWJsZXMgdG8gYWxzbyBiZSBoaWdoLg0KDQpXaGVuIHdlIGFyZSB0aGlua2luZyBhYm91dCB0aW1lIHNlcmllcywgdGhlIGNvcnJlbGF0aW9uIGZvciBkYXRhIGZyb20gbGFncyAwIGFuZCAxICBpcyB0aGUgc2FtZSBhcyB0aGUgZGF0YSBmcm9tIGxhZ3MgMSBhbmQgMiBiZWNhdXNlIHRoZXkgYXJlIGJvdGggc2V0cyBmb3JtZWQgYnkgcGFpcnMgb2Ygc3VjY2Vzc2l2ZSBvYnNlcnZhdGlvbnMuDQoNCklmIG9ic2VydmF0aW9ucyBhcmUgY29ycmVsYXRlZCB3aXRoIHRoZWlyIHByZWNlZGluZyBvYnNlcnZhdGlvbnMsIGFuZCB0aG9zZSBwcmVjZWRpbmcgb2JzZXJ2YXRpb25zIGFyZSBjb3JyZWxhdGVkIHdpdGggdGhlaXIgcHJlY2VkaW5nIG9ic2VydmF0aW9ucywgdGhlbiB0aGVyZSBpcyBsaWtlbHkgdG8gYmUgYSBjb3JyZWxhdGlvbiBiZXR3ZWVuIG9ic2VydmF0aW9ucyBhbmQgdGhvc2UgdGhhdCBhcmUgYmFjayB0d28gdGltZSBzdGVwcy4NCg0KVGhpcyBsb2dpYyBjb250aW51ZXMgdG8gdGhyZWUsIGZvdXIsIGFuZCBncmVhdGVyIHRpbWUgbGFncyBhbmQgaXMgZXNwZWNpYWxseSBsaWtlbHkgd2hlbiB0aGUgY29ycmVsYXRpb24gYXQgdGhlIGZpcnN0IGxhZyBpcyB2ZXJ5LCB2ZXJ5IGhpZ2guDQoNCg0K
Comments
Time
is the appropriate covariate to track trend (not usingYear
, which would ignore secular trend during a year).It is important to remember to code
Month
as a factor so as to represent seasonal effects.There is strong evidence of trend (\(P < 2.2 \times 10^{-16}\) for
Time
) and of seasonality (\(P < 2.2 \times 10^{-16}\) forMonth
) in the data.As might be expected, room bookings tend to be low in the winter months. The pattern over summer is less clear. Perhaps December is a bad month because of the Christmas effect?
We have assumed a linear secular trend. Would quadratic be better?