acf function shows error while fiiting time series

2

I am fitting a time series model in R. I plotted the time series to check for the pattern of it. It has 30625 observations. The observations are half hourly

plot.ts(ts) enter image description here I was checking acf plot to see for auto correlation.

acf(ts) enter image description here If ACF plot decreases slowly i.e. it has auto correlation out to higher number of lags, then it probably needs higher order of differencing.

I took the logarithm of the series and then checked its acf plot.

acf(log(ts))

I am getting an error

Error in plot.window(...) : need finite 'ylim' values
In addition: Warning messages:
1: In min(x) : no non-missing arguments to min; returning Inf
2: In max(x) : no non-missing arguments to max; returning -Inf

What does this error means? What should I do remove this error. I also think the significance bounds given by dotted line are not correctly calculated. What should I do in these two cases?

Manik

Posted 2017-04-11T12:00:17.427

Reputation: 379

1Better to apply transformations like $\log(x + 1)$ or $\log(|x| + 1)$ depending on you data! – Ehsan M. Kermani – 2017-04-13T16:49:38.933

Answers

2

Logarithm cannot handle numbers less than and equal to zero. You can exclude them from your time-series and then add them to the graph as points with different colors (if they are not many that would make the graph ambiguous and interpretation of it hard) or just simply exclude them but have the original graph side by side as well.

EDIT:

As proposed in the comments this would be a better option to avoid zeros:

log⁡(x+1)

or for negative numbers as well:

log⁡(|x|+1)

M--

Posted 2017-04-11T12:00:17.427

Reputation: 270