Regression for Exponential Distribution

#1
Hi,
I have a set of values which are a time series and follow a decreasing exponential distribution.
I would like to understand what the best method might be to predict the next value in the series.
Do the options include
1. Transforming the variable to try and get normality.
2. Creating an autoregressive model of some nature
thanks
Scott
 

staassis

Active Member
#2
You would have to combine generalized linear models framework with ARIMA framework. Conditional on the previous history, each value Y(t) would have exponential distribution with time varying parameter lambda(t). An exponential link function would be used to relate lambda(t) to the vector of predictors X(t) = (x_1(t),...,x_p(t)):

lambda(t) = exp{W' * X(t)},

where W is a vector of coefficients. The parameters of your model (including W) could be estimated using the method of maximum likelihood in a relatively straightforward manner.
 

noetsi

Fortran must die
#3
I have never seen Arima used with non-normal data (well it was always assumed it was normal). Arima assumes stationarity and I don't see how that data will be stationary. It may be that differencing will address the issue.

If you just want to predict you might see how good a job exponential smoothing does. It does not assume linearity nor (for point estimates anyhow) normality - or at least time series analysts don't pay much attention to the later condition and the first is certainly not assumed.

It will be infinitely easier to do than Arima with exponential data :). You can compare the results with a hold out data set and see which does better. For either method you need at a very minimum 50 data points.
 

staassis

Active Member
#4
I have never seen Arima used with non-normal data (well it was always assumed it was normal). Arima assumes stationarity and I don't see how that data will be stationary. It may be that differencing will address the issue.
@noetsi, what I meant is that ARIMA would be combined with GLM framework (it should certainly not be used alone). An example:

* conditional on the previous history, Y(t) has exponential distribution with time varying parameter lambda(t),
* lambda(t) = exp{a(t) + b_1 * log(X(t-1)) + ... + b_p * log(X(t-p))} = exp{a(t)} * (X(t-1))^b_1 * ... * (X(t-p))^b_p.

Such a model would be estimated consistently with maximum likelihood.
 

noetsi

Fortran must die
#5
That is really interesting staassis, I have never seen a treatment that did so in my readings in Arima and I don't think I know how you would do that in practice. I don't think SAS for example would allow you to do that. You would have to transform the data first to run ARIMA. But again if predictions are what is critical I don't think the normality assumptions really matter. And I suspect the data would not be exponential after you differenced it, which would almost certainly be required.

Still its a neat idea. I am glad someone other than me is interested in time series.
 

noetsi

Fortran must die
#7
I am one of the ancient ones...only a few like Dason, Spunky, and Jake (possibly hlsmith) are still on the board from 2011 when I showed up. :p
 

staassis

Active Member
#8
I kind of noticed how precarious this whole thing is. There are at most 10 contributors at any time. I guess, all of those have to make sure they stick around.
 

noetsi

Fortran must die
#9
Membership changes over time. I think there are probably ten who post answers on the forums at any point of time, but there are many who don't post answers on the forums and are still active in chat. You have to be nominated (by being active and posting) to be a contributor to post in chat.
 

staassis

Active Member
#10
@noetsi, I'm sorry, I'm probably missing the point. Isn't the whole purpose of this platform to answer questions of newcomers? What is the point in this chat, just among 20+ people? Maybe I am missing some potential use of that.
 

noetsi

Fortran must die
#11
Its to answer questions of everyone. I probably get more questions answered than anyone on this platform and I have been here 8 years. Chat is used just to talk. A lot of it, but not all, is about statistics.