1
$\begingroup$

I am researching the best method to use with time series. FBprophet (Python) seems like a strong option.

To prepare time series for Prophet I am thinking about using boxcox and inv_boxcox at the end

from fbprophet import Prophet
from scipy.stats import boxcox
from scipy.special import inv_boxcox

what is your opinion? Is boxcox helpful in reducing the noise of the Values?

Any tips and suggestions will be greatly appreciated

$\endgroup$

2 Answers 2

1
$\begingroup$

I'm not familiar with FBProphet, but Box-Cox is often used with ARIMA time-series models.

Box-Cox won't reduce the variance of your data but it can make it more normally distributed and reduce the heteroskedasticity in your model. (See here and here) If you will be modeling your time series data using ARIMA or a linear model this could be important.

$\endgroup$
2
  • $\begingroup$ Thank you! It is my understanding that Box-Cox can be helpful incase of Additive decomposition? Will Box-Cox help if there is multiplicative decomposition? $\endgroup$
    – Toly
    Commented Jun 15, 2018 at 17:50
  • $\begingroup$ I'm not an expert but I believe Box-Cox could be helpful for either of those methods where you will be doing inference (p-values and confidence intervals. $\endgroup$ Commented Jun 15, 2018 at 18:34
3
$\begingroup$

Box-Cox transform is not a tool to reduce the noise. And I don't even know what you mean by reducing the noise.

Box-Cox transform is usually applied to make noise look like a symmetrical bell shaped distribution. Sometime people say to normalize, meaning making it normal distribution. It's similar in intent to applying log transform. It doesn't mean that Box-Cox transform will convert any noise into Gaussian or even bell shaped one. It does work sometimes though.

Then you need to define what you mean by reducing the noise. For instance, if you divide your signal by 10, you'll certainly reduce noise as in absolute value of it will be smaller. Of course, you'll also reduce the signal with this, so the signal to noise ratio will stay the same.

I'm afraid transformations such as Box-Cox or logarithm cannot reduce noise in any meaningful way. On the other hand, smoothing can reduce the high frequency stochastic noise. The choice of noise reduction tool is driven by the nature of the data and the process that generates it.

$\endgroup$
4
  • $\begingroup$ Thank you for clarification! The idea was to run boxcox on original dataset Values; then run the regression with decomposition into seasonality, trend and residuals and, finally, revert by using inv_boxcox. This will result ia slightly different Values vs the original ones. That what I meant by "reducing the noise" but I guess I used the term incorrectly. $\endgroup$
    – Toly
    Commented Jun 15, 2018 at 18:00
  • $\begingroup$ Why box cox? Purpose $\endgroup$
    – Aksakal
    Commented Jun 15, 2018 at 18:22
  • $\begingroup$ it has been mentioned in several approaches and I want to check the value it brings to the quality of the forecast and its decomposition using STL and Prophet $\endgroup$
    – Toly
    Commented Jun 15, 2018 at 19:43
  • $\begingroup$ If box-cox transform parameter is choosen by maximum likelihood, obtaining constant variance will dominate. The contribution to likelihood from non-constant variance is much larger than from non-normality $\endgroup$ Commented Jun 15, 2018 at 20:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.