Để tạo một time series object trong R ta sử dụng hàm cơ bản tích hợp sẵn trong R - ts:

# ts(data = NA, start = 1, end = numeric(), frequency = 1,
#    deltat = 1, ts.eps = getOption("ts.eps"), class = , names = )

Chú ý về chu kỳ của mùa (seasonal periods):

frequency- Là số quan sát trong một season. Định nghĩa này không giống với định nghĩa frequency trong vật lý, tức là “period” là chiều dai của một chu kỳ(cycle), và frequency là nghịch đảo của period. Khi chúng ta sử dụng ts() function, việc chọn frequency cần chú ý một số điểm sau:

Trong thực tế, một năm không phải có 52 tuần, nhưng 365.25/7 = 52.18 trung bình. Nhưng hầu hết các functions sử dụng dụng ts object yêu cầu frequency là một số nguyên.

Một vài ví dụ tạo ts objects:

# save a numeric vector containing 72 monthly observations
# from Jan 2009 to Dec 2014 as a time series object
myvector <- rnorm(72)
myts <- ts(myvector, start=c(2009, 1), end=c(2014, 12), frequency=12) 
library(dygraphs)
dygraph(myts) %>% dyRangeSelector()
# subset the time series (June 2014 to December 2014)
myts2 <- window(myts, start=c(2014, 6), end=c(2014, 12)) 
library(dygraphs)
dygraph(myts2)%>% dyRangeSelector()

Nhưng nếu frequency của chuỗi thời gian nhỏ hơn tuần thì sao?

Thông thường khi làm việc với chuỗi thời gian có frequency nhở hơn tuần đòi hỏi chúng ta cần một số bước để xử lý frequency. Ví dụ, dữ liệu theo giờ có daily seasonality (frequency = 24), weekly seasonality (frequency = 24x7 = 168), và annual seasonality (frequency = 24x365.25 = 8766). Nếu bạn cần sử dụng ts object trong truonwgf hợp này thì bạn cần lựa chọn cái nào trong chúng là quan trọng nhất.

Chúng ta có thể sử dụng function msts trong package forecast để xử lý multiple seasonality time series. Vói hàm này chúng ta có thể xác định tất cả frequencies có liên quan trong chuỗi thời gian.

Chúng ta không nhất thiết phải sử dụng tất cả các frequencies, mà chỉ cần một vài mà có khả năng thể diện trong dữ liệu. Ví dụ, những hiện tượng tự nhiên (giwof mặt trời,…) thì chắc là không thể có weekly period, và nếu dữ liệu của của bạn với one-minute intervals trong 3 month period thì không có ý nghĩa của annual frequency ở đầy.

Ví dụ:

taylor data set trong package forecast của Hyndman chứa dữ liệu được đo theo 30 phút một ( half-hourly data) nhu cầu sử dụng điện của England và Wales trong ba tháng của năm 2000. Nó được xác định như sau:

# taylor <- msts(x, seasonal.periods=c(48,336)

TBATS model là một trong những convenient models cho multiple seasonal time series:

library(forecast)
taylor.fit <- tbats(taylor)
LS0tDQp0aXRsZTogIkNodeG7l2kgdGjhu51pIGdpYW4gduG7m2kgUiINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCsSQ4buDIHThuqFvIG3hu5l0IHRpbWUgc2VyaWVzIG9iamVjdCB0cm9uZyBSIHRhIHPhu60gZOG7pW5nIGjDoG0gY8ahIGLhuqNuIHTDrWNoIGjhu6NwIHPhurVuIHRyb25nIFIgLSAqKnRzKio6DQoNCmBgYHtyfQ0KIyB0cyhkYXRhID0gTkEsIHN0YXJ0ID0gMSwgZW5kID0gbnVtZXJpYygpLCBmcmVxdWVuY3kgPSAxLA0KIyAgICBkZWx0YXQgPSAxLCB0cy5lcHMgPSBnZXRPcHRpb24oInRzLmVwcyIpLCBjbGFzcyA9ICwgbmFtZXMgPSApDQpgYGANCg0KLSAqKmRhdGEqKjogdmVjdG9yIGhv4bq3YyBtYXRyaXggY8OhYyBnacOhIHRy4buLIGPhu6dhIGNodeG7l2kgdGjhu51pIGdpYW4uDQotICoqc3RhcnQqKjogVGjhu51pIGdpYW4gY+G7p2EgcXVhbiBzw6F0IMSR4bqndSB0acOqbiB0cm9uZyBjaHXhu5dpIHRo4budaSBnaWFuLiBDw7MgdGjhu4MgbMOgIDEgc+G7kSBob+G6t2MgMSB2ZWN0b3IgY+G7p2EgaGFpIHPhu5Egbmd1ecOqbi4NCi0gKiplbmQqKjogdGjhu51pIGdpYW4gY+G7p2EgcXVhbiBzw6F0IGN14buRaSBjw7luZyB0cm9uZyBjaHXhu5dpIHRo4budaSBnaWFuLiBDw7MgZOG6oW5nIG5oxrAgKipzdGFydCoqLg0KLSAqKmZyZXF1ZW5jeSoqOiBU4bqnbiBz4buRIHF1YW4gc8OhdCB0cm9uZyBt4buZdCDEkcahbiB24buLIHRo4budaSBnaWFuKHNlYXNvbi1tw7lhKQ0KLi4uLg0KDQojIyMjIENow7ogw70gduG7gSBjaHUga+G7syBj4bunYSBtw7lhIChzZWFzb25hbCBwZXJpb2RzKToNCioqZnJlcXVlbmN5KiotIEzDoCBz4buRIHF1YW4gc8OhdCB0cm9uZyBt4buZdCBzZWFzb24uIMSQ4buLbmggbmdoxKlhIG7DoHkga2jDtG5nIGdp4buRbmcgduG7m2kgxJHhu4tuaCBuZ2jEqWEgZnJlcXVlbmN5IHRyb25nIHbhuq10IGzDvSwgdOG7qWMgbMOgICJwZXJpb2QiIGzDoCBjaGnhu4F1IGRhaSBj4bunYSBt4buZdCBjaHUga+G7syhjeWNsZSksIHbDoCBmcmVxdWVuY3kgbMOgIG5naOG7i2NoIMSR4bqjbyBj4bunYSBwZXJpb2QuIEtoaSBjaMO6bmcgdGEgc+G7rSBk4bulbmcgKip0cygpKiogZnVuY3Rpb24sIHZp4buHYyBjaOG7jW4gZnJlcXVlbmN5IGPhuqduIGNow7ogw70gbeG7mXQgc+G7kSDEkWnhu4NtIHNhdToNCg0KIVtdKDEucG5nKQ0KDQpUcm9uZyB0aOG7sWMgdOG6vywgbeG7mXQgbsSDbSBraMO0bmcgcGjhuqNpIGPDsyA1MiB0deG6p24sIG5oxrBuZyAzNjUuMjUvNyA9IDUyLjE4IHRydW5nIGLDrG5oLiBOaMawbmcgaOG6p3UgaOG6v3QgY8OhYyBmdW5jdGlvbnMgc+G7rSBk4bulbmcgZOG7pW5nIHRzIG9iamVjdCB5w6p1IGPhuqd1IGZyZXF1ZW5jeSBsw6AgbeG7mXQgc+G7kSBuZ3V5w6puLg0KDQoqKk3hu5l0IHbDoGkgdsOtIGThu6UgdOG6oW8gdHMgb2JqZWN0cyoqOg0KYGBge3IsIGZpZy5oZWlnaHQ9NywgZmlnLndpZHRoPTl9DQojIHNhdmUgYSBudW1lcmljIHZlY3RvciBjb250YWluaW5nIDcyIG1vbnRobHkgb2JzZXJ2YXRpb25zDQojIGZyb20gSmFuIDIwMDkgdG8gRGVjIDIwMTQgYXMgYSB0aW1lIHNlcmllcyBvYmplY3QNCm15dmVjdG9yIDwtIHJub3JtKDcyKQ0KbXl0cyA8LSB0cyhteXZlY3Rvciwgc3RhcnQ9YygyMDA5LCAxKSwgZW5kPWMoMjAxNCwgMTIpLCBmcmVxdWVuY3k9MTIpIA0KbGlicmFyeShkeWdyYXBocykNCmR5Z3JhcGgobXl0cykgJT4lIGR5UmFuZ2VTZWxlY3RvcigpDQpgYGANCg0KYGBge3IsIGZpZy5oZWlnaHQ9NywgZmlnLndpZHRoPTl9DQojIHN1YnNldCB0aGUgdGltZSBzZXJpZXMgKEp1bmUgMjAxNCB0byBEZWNlbWJlciAyMDE0KQ0KbXl0czIgPC0gd2luZG93KG15dHMsIHN0YXJ0PWMoMjAxNCwgNiksIGVuZD1jKDIwMTQsIDEyKSkgDQpsaWJyYXJ5KGR5Z3JhcGhzKQ0KZHlncmFwaChteXRzMiklPiUgZHlSYW5nZVNlbGVjdG9yKCkNCmBgYA0KDQoNCiMjIyMgTmjGsG5nIG7hur91IGZyZXF1ZW5jeSBj4bunYSBjaHXhu5dpIHRo4budaSBnaWFuIG5o4buPIGjGoW4gdHXhuqduIHRow6wgc2FvPw0KDQpUaMO0bmcgdGjGsOG7nW5nIGtoaSBsw6BtIHZp4buHYyB24bubaSBjaHXhu5dpIHRo4budaSBnaWFuIGPDsyBmcmVxdWVuY3kgbmjhu58gaMahbiB0deG6p24gxJHDsmkgaOG7j2kgY2jDum5nIHRhIGPhuqduIG3hu5l0IHPhu5EgYsaw4bubYyDEkeG7gyB44butIGzDvSBmcmVxdWVuY3kuIFbDrSBk4bulLCAgZOG7ryBsaeG7h3UgdGhlbyBnaeG7nSBjw7MgZGFpbHkgc2Vhc29uYWxpdHkgKGZyZXF1ZW5jeSA9IDI0KSwgd2Vla2x5IHNlYXNvbmFsaXR5IChmcmVxdWVuY3kgPSAyNHg3ID0gMTY4KSwgdsOgIGFubnVhbCBzZWFzb25hbGl0eSAoZnJlcXVlbmN5ID0gMjR4MzY1LjI1ID0gODc2NikuIE7hur91IGLhuqFuIGPhuqduIHPhu60gZOG7pW5nIHRzIG9iamVjdCB0cm9uZyB0cnVvbndnZiBo4bujcCBuw6B5IHRow6wgYuG6oW4gY+G6p24gbOG7sWEgY2jhu41uIGPDoWkgbsOgbyB0cm9uZyBjaMO6bmcgbMOgIHF1YW4gdHLhu41uZyBuaOG6pXQuDQoNCkNow7puZyB0YSBjw7MgdGjhu4Mgc+G7rSBk4bulbmcgZnVuY3Rpb24gKiptc3RzKiogdHJvbmcgcGFja2FnZSBmb3JlY2FzdCDEkeG7gyB44butIGzDvSBtdWx0aXBsZSBzZWFzb25hbGl0eSB0aW1lIHNlcmllcy4gVsOzaSBow6BtIG7DoHkgY2jDum5nIHRhIGPDsyB0aOG7gyB4w6FjIMSR4buLbmggIHThuqV0IGPhuqMgZnJlcXVlbmNpZXMgY8OzIGxpw6puIHF1YW4gdHJvbmcgY2h14buXaSB0aOG7nWkgZ2lhbi4NCg0KIVtdKDIucG5nKQ0KDQpDaMO6bmcgdGEga2jDtG5nIG5o4bqldCB0aGnhur90IHBo4bqjaSBz4butIGThu6VuZyB04bqldCBj4bqjIGPDoWMgZnJlcXVlbmNpZXMsIG3DoCBjaOG7iSBj4bqnbiBt4buZdCB2w6BpIG3DoCBjw7Mga2jhuqMgbsSDbmcgdGjhu4MgZGnhu4duIHRyb25nIGThu68gbGnhu4d1LiBWw60gZOG7pSwgbmjhu69uZyBoaeG7h24gdMaw4bujbmcgdOG7sSBuaGnDqm4gKGdpd29mIG3hurd0IHRy4budaSwuLi4pIHRow6wgY2jhuq9jIGzDoCBraMO0bmcgdGjhu4MgY8OzIHdlZWtseSBwZXJpb2QsIHbDoCBu4bq/dSBk4buvIGxp4buHdSBj4bunYSBj4bunYSBi4bqhbiB24bubaSBvbmUtbWludXRlIGludGVydmFscyB0cm9uZyAzIG1vbnRoIHBlcmlvZCAgdGjDrCBraMO0bmcgY8OzIMO9IG5naMSpYSBj4bunYSBhbm51YWwgZnJlcXVlbmN5IOG7nyDEkeG6p3kuDQoNCioqVsOtIGThu6UqKjoNCg0KKip0YXlsb3IqKiBkYXRhIHNldCB0cm9uZyBwYWNrYWdlICoqZm9yZWNhc3QgY+G7p2EgSHluZG1hbioqIGNo4bupYSBk4buvIGxp4buHdSDEkcaw4bujYyDEkW8gdGhlbyAzMCBwaMO6dCBt4buZdCAoIGhhbGYtaG91cmx5IGRhdGEpIG5odSBj4bqndSBz4butIGThu6VuZyDEkWnhu4duIGPhu6dhIEVuZ2xhbmQgdsOgIFdhbGVzIHRyb25nIGJhIHRow6FuZyBj4bunYSBuxINtIDIwMDAuIE7DsyDEkcaw4bujYyB4w6FjIMSR4buLbmggbmjGsCBzYXU6DQoNCmBgYHtyfQ0KIyB0YXlsb3IgPC0gbXN0cyh4LCBzZWFzb25hbC5wZXJpb2RzPWMoNDgsMzM2KQ0KYGBgDQoNCiMjIyMgVEJBVFMgbW9kZWwgbMOgIG3hu5l0IHRyb25nIG5o4buvbmcgY29udmVuaWVudCBtb2RlbHMgY2hvIG11bHRpcGxlIHNlYXNvbmFsIHRpbWUgc2VyaWVzOg0KDQpgYGB7ciwgZmlnLmhlaWdodD03LCBmaWcud2lkdGg9OX0NCmxpYnJhcnkoZm9yZWNhc3QpDQp0YXlsb3IuZml0IDwtIHRiYXRzKHRheWxvcikNCnBsb3QoZm9yZWNhc3QodGF5bG9yLmZpdCkpDQpgYGANCg0KDQoNCg0K