hts with regressors

The hts pack­age for R allows for fore­cast­ing hier­ar­chi­cal and grouped time series data. The idea is to gen­er­ate fore­casts for all series at all lev­els of aggre­ga­tion with­out impos­ing the aggre­ga­tion con­straints, and then to rec­on­cile the fore­casts so they sat­isfy the aggre­ga­tion con­straints. (An intro­duc­tion to rec­on­cil­ing hier­ar­chi­cal and grouped time series is avail­able in this Fore­sight paper.)

The base fore­casts can be gen­er­ated using any method, with ETS mod­els and ARIMA mod­els pro­vided as options in the forecast.gts() func­tion. As ETS mod­els do not allow for regres­sors, you will need to choose ARIMA mod­els if you want to include regres­sors. Con­tinue reading →

Congratulations to Dr Souhaib Ben Taieb

Souhaib Ben Taieb has been awarded his doc­tor­ate at the Uni­ver­sité libre de Brux­elles and so he is now offi­cially Dr Ben Taieb! Although Souhaib lives in Brus­sels, and was a stu­dent at the Uni­ver­sité libre de Brux­elles, I co-​​supervised his doc­tor­ate (along with Pro­fes­sor Gian­luca Bon­tempi). Souhaib is the 19th PhD stu­dent of mine to graduate.

His the­sis was on “Machine learn­ing strate­gies for multi-​​step-​​ahead time series fore­cast­ing” and is now avail­able online. The prior research in this area has largely cen­tred around two strate­gies (recur­sive and direct), and which one works bet­ter in cer­tain cir­cum­stances. Recur­sive fore­cast­ing is the stan­dard approach where a model is designed to pre­dict one step ahead, and is then iter­ated to obtain multi-​​step-​​ahead fore­casts. Direct fore­cast­ing involves using a sep­a­rate fore­cast­ing model for each fore­cast hori­zon. Souhaib took a very dif­fer­ent per­spec­tive from the prior research and has devel­oped new strate­gies that are either hybrids of these two strate­gies, or com­pletely dif­fer­ent from either of them. The result­ing fore­casts are often sig­nif­i­cantly bet­ter than those obtained using the more tra­di­tional approaches.

Some of the papers to come out of Souhaib’s the­sis are already avail­able on his Google scholar page.

Well done Souhaib, and best wishes for the future.

 

 

 

Explaining the ABS unemployment fluctuations

Although the Guardian claimed yes­ter­day that I had explained “what went wrong” in the July and August unem­ploy­ment fig­ures, I made no attempt to do so as I had no infor­ma­tion about the prob­lems. Instead, I just explained a lit­tle about the pur­pose of sea­sonal adjustment.

How­ever, today I learned a lit­tle more about the ABS unem­ploy­ment data prob­lems, includ­ing what may be the expla­na­tion for the fluc­tu­a­tions. This expla­na­tion was offered by Westpac’s chief econ­o­mist, Bill Evans (see here for a video of him explain­ing the issue). Con­tinue reading →

Connect with local employers

I keep telling stu­dents that there are lots of jobs in data sci­ence (includ­ing sta­tis­tics), and they often tell me they can’t find them adver­tised. As usual, you do have to do some net­work­ing, and one of the best ways of doing it is via a Data Sci­ence Meetup. Many cities now have them includ­ing Mel­bourne, Syd­ney, Lon­don, etc. It is the per­fect oppor­tu­nity to meet with local employ­ers, many of which are hir­ing due to the huge expan­sion in the use of data analy­sis in busi­ness (aka busi­ness analytics).

At the end of each Mel­bourne meetup, some employ­ers have been adver­tis­ing their cur­rent ana­lytic job open­ings to the audience.

Now the local orga­niz­ers are going to extend the oppor­tu­nity to allow job-​​searchers to give a 90 sec­ond pitch to employ­ers. Details are pro­vided on the mes­sage board.

IIF Sponsored Workshops

The Inter­na­tional Insti­tute of Fore­cast­ers spon­sors work­shops every year, each of which focuses on a spe­cific theme. The pur­pose of these work­shops is to facil­i­tate small, infor­mal meet­ings where experts in a par­tic­u­lar field of fore­cast­ing can dis­cuss fore­cast­ing prob­lems, research, and solu­tions. Over the years, our work­shops have cov­ered top­ics from Pre­dict­ing Rare Events, ICT Fore­cast­ing, and, most recently, Sin­gu­lar Spec­trum Analy­sis. Often these work­shops are asso­ci­ated with a spe­cial issue of the Inter­na­tional Jour­nal of Fore­cast­ing.

If you are already host­ing a work­shop on a fore­cast­ing topic and need sup­port from the IIF, or if you are inter­ested in organ­is­ing and host­ing a new work­shop, please con­tact George Athana­sopou­los.

A list of past work­shops and work­shop guide­lines are pro­vided on the IIF web­site.

TBATS with regressors

I’ve received a few emails about includ­ing regres­sion vari­ables (i.e., covari­ates) in TBATS mod­els. As TBATS mod­els are related to ETS mod­els, tbats() is unlikely to ever include covari­ates as explained here. It won’t actu­ally com­plain if you include an xreg argu­ment, but it will ignore it.

When I want to include covari­ates in a time series model, I tend to use auto.arima() with covari­ates included via the xreg argu­ment. If the time series has mul­ti­ple sea­sonal peri­ods, I use Fourier terms as addi­tional covari­ates. See my post on fore­cast­ing daily data for some dis­cus­sion of this model. Note that fourier() and fourierf() now han­dle msts objects, so it is very sim­ple to do this.

For exam­ple, if holiday con­tains some dummy vari­ables asso­ci­ated with pub­lic hol­i­days and holidayf con­tains the cor­re­spond­ing vari­ables for the first 100 fore­cast peri­ods, then the fol­low­ing code can be used:

y <- msts(x, frequency=c(7,365.25))
z <- fourier(y, K=c(5,5))
zf <- fourierf(y, K=c(5,5), h=100)
fit <- auto.arima(y, xreg=cbind(z,holiday), seasonal=FALSE)
fc <- forecast(fit, xreg=cbind(zf,holidayf), h=100)

The main dis­ad­van­tage of the ARIMA approach is that the sea­son­al­ity is forced to be peri­odic, whereas a TBATS model allows for dynamic seasonality.

FPP now available as a downloadable e-​​book

FPP coverMy fore­cast­ing text­book with George Athana­sopou­los is already avail­able online (for free), and in print via Ama­zon (for under $40). Now we have made it avail­able as a down­load­able e-​​book via Google Books (for $15.55). The Google Books ver­sion is iden­ti­cal to the print ver­sion on Ama­zon (apart from a few typos that have been fixed).

To use the e-​​book ver­sion on an iPad or Android tablet, you need to have the Google Books app installed [iPad, Android]. You could also put it on an iPhone or Android phone, but I wouldn’t rec­om­mend it as the text will be too small to read.

You can down­load a free sam­ple (up to the end of Chap­ter 2) if you want to check how it will look on your device.

The sales of the print and e-​​book ver­sions are used to fund the run­ning the OTexts web­site where all OTexts books are freely available.

The online ver­sion is con­tin­u­ously updated — any errors dis­cov­ered are fixed imme­di­ately. The print and e-​​book ver­sions will be updated approx­i­mately annu­ally to bring them into line with the online version.

 

Tim Harford on forecasting

A few weeks ago I had a Skype chat with Tim Har­ford, the “Under­cover Econ­o­mist” for Britain’s Finan­cial Times. He was work­ing on an arti­cle for the FT on fore­cast­ing, and wanted my per­spec­tive as an aca­d­e­mic fore­caster. I mostly talked about what makes some things more pre­dictable than oth­ers, as dis­cussed in this blog post. In the end, his arti­cle headed in a dif­fer­ent direc­tion, so I don’t get quoted, but it is still a good read!

He also put out this YouTube sum­mary, for those who don’t like to read:

Generating quantile forecasts in R

From today’s email:

I have just fin­ished read­ing a copy of ‘Forecasting:Principles and Prac­tice’ and I have found the book really inter­est­ing. I have par­tic­u­larly enjoyed the case stud­ies and focus on prac­ti­cal applications.

After fin­ish­ing the book I have joined a fore­cast­ing com­pe­ti­tion to put what I’ve learnt to the test. I do have a cou­ple of queries about the fore­cast­ing out­puts required. The out­put required is a quan­tile fore­cast, is this the same as pre­dic­tion inter­vals? Is there any R func­tion to pro­duce quan­tiles from 0 to 99?

If you were able to point me in the right direc­tion regard­ing the above it would be greatly appreciated.

Many Thanks,

Con­tinue reading →