TYPO on TYPO! It should be X[,3]
Cheers, Bert Bert Gunter "The trouble with having an open mind is that people keep coming along and sticking things into it." -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) On Thu, Mar 31, 2016 at 9:47 AM, Bert Gunter <bgunter.4...@gmail.com> wrote: > Inline. > > Bert Gunter > > "The trouble with having an open mind is that people keep coming along > and sticking things into it." > -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) > > > On Wed, Mar 30, 2016 at 5:37 PM, Ryan Utz <utz.r...@gmail.com> wrote: >> Bill, Josh, and Bert, >> >> Thanks for your responses. I still can't quite get this when I use actual >> dates. Here's an example of what is going wrong: >> >> X=as.data.frame(1:6000) >> X[2]=seq.POSIXt(ISOdate(2015,11,1),by='hour',length.out=6000) >> X[3]=sample(100,size=6000,replace=T) >> >> Y=xts(X[,3],order.by=X[,2]) >> decompose(Y) >> >> Z=ts(X[,2],frequency=24*365) >> plot(decompose(Z)) > > ## TYPO! It should be X[,2]. > > ***WARNING*** > I am not a time series expert. The remarks below are therefore subject > to confirmation or correction by those who are. Caveat emptor! > > Also, you seem to be somewhat confused about how the seasonal > decomposition in decompose() works. > > My understanding from what you said is that your unit of time is days > and that you have samples every 15 minutes, but that you wish to > estimate hourly effects. If this is correct, you first need to first > combine (e.g. via by() ) your 4 observations into a single summary > (e.g. average or median, maybe) so that you have an hourly time > series. Run this through ts() with frequency = 24: your period is > daily = 24 hours and you have 24 observations/period. > > (Note that you could use the original data to get 96 15 minute > estimates instead of hourly estimates). > > When you run this through decompose(), it will give you 24 "seasonal" > effects/period, the hourly effects. The "trend" component will try to > remove longer term effects and trends over time. > > Note, however, this is probably **not** what you want. I suspect you > want both hourly effects and daily or monthly effects to reflect > annual seasonalities as well as daily. decompose() cannot do this, > apparently, so you should look for an alternative solution. Better > yet, consult with a local time series expert to help you figure out > what you might want and how to get it in R. > > Cheers, > Bert > > >> >> When I specify an actual date/time (rather than just a number as Bill >> posited), it does not like anything short of a year. This seems like I'm >> overlooking something obvious, but I can't get this for the life of me... >> >> Thanks for your time, >> r >> >> >> On Wed, Mar 30, 2016 at 1:03 PM, William Dunlap <wdun...@tibco.com> wrote: >>> >>> You said you specified frequency=96 when you constructed the time >>> series, but when I do that the decomposition looks reasonable: >>> >>> > time <- seq(0,9,by=1/96) # 15-minute intervals, assuming time unit is >>> > day >>> > measurement <- sqrt(time) + 1/(1.2+sin(time*2*pi)) + >>> > rnorm(length(time),0,.3) >>> > plot(decompose(ts(measurement, frequency=96))) >>> >>> How is your code different from the above? >>> >>> >>> >>> Bill Dunlap >>> TIBCO Software >>> wdunlap tibco.com >>> >>> On Wed, Mar 30, 2016 at 8:03 AM, Ryan Utz <utz.r...@gmail.com> wrote: >>>> >>>> Hello, >>>> >>>> I have a time series that represents data sampled every 15-minutes. The >>>> data currently run from November through February, 8623 total readings. >>>> There are definitely daily periodic trends and non-stationary long-term >>>> trends. I would love to decompose this using basic time series analysis. >>>> >>>> However, every time I attempt decomposition, I get the >>>> >>>> Error in decompose( ) : time series has no or less than 2 periods >>>> >>>> Is it only possible to do basic time-series analysis if you have a year >>>> or >>>> more worth of data? That seems absurd to me, since there is definite >>>> periodicity and the data are a time series. I have tried every manner of >>>> specifying frequency= with no luck (96 does not work). All manner of >>>> searching for help has turned up fruitless. >>>> >>>> Can I only do this after I wait another year or two? >>>> >>>> Thanks, >>>> Ryan >>>> >>>> -- >>>> >>>> Ryan Utz, Ph.D. >>>> Assistant professor of water resources >>>> *chatham**UNIVERSITY* >>>> Home/Cell: (724) 272-7769 >>>> >>>> [[alternative HTML version deleted]] >>>> >>>> ______________________________________________ >>>> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >>>> https://stat.ethz.ch/mailman/listinfo/r-help >>>> PLEASE do read the posting guide >>>> http://www.R-project.org/posting-guide.html >>>> and provide commented, minimal, self-contained, reproducible code. >>> >>> >> >> >> >> -- >> >> Ryan Utz, Ph.D. >> Assistant professor of water resources >> chathamUNIVERSITY >> Home/Cell: (724) 272-7769 >> ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.