pycaret / pycaret

An open-source, low-code machine learning library in Python
https://www.pycaret.org
MIT License
8.92k stars 1.77k forks source link

ARDL model #3951

Open AZFARHAD24511 opened 7 months ago

AZFARHAD24511 commented 7 months ago

Describe the feature you want to add to this project

In statistics and econometrics, a distributed lag model is a model for time series data in which a regression equation is used to predict current values of a dependent variable based on both the current values of an explanatory variable and the lagged (past period) values of this explanatory variable .

The starting point for a distributed lag model is an assumed structure of the form:

[ y_t = a + w_0x_t + w1x{t-1} + w2x{t-2} + \ldots + \text{error term} ]

or the form:

[ y_t = a + w_0x_t + w1x{t-1} + w2x{t-2} + \ldots + wnx{t-n} + \text{error term} ]

where (y_t) is the value at time period (t) of the dependent variable (y), (a) is the intercept term to be estimated, and (w_i) is called the lag weight (also to be estimated) placed on the value (i) periods previously of the explanatory variable (x). In the first equation, the dependent variable is assumed to be affected by values of the independent variable arbitrarily far in the past, so the number of lag weights is infinite and the model is called an infinite distributed lag model. In the alternative, second, equation, there are only a finite number of lag weights, indicating an assumption that there is a maximum lag beyond which values of the independent variable do not affect the dependent variable; a model based on this assumption is called a finite distributed lag model.

In an infinite distributed lag model, an infinite number of lag weights need to be estimated; clearly this can be done only if some structure is assumed for the relation between the various lag weights, with the entire infinitude of them expressible in terms of a finite number of assumed underlying parameters. In a finite distributed lag

Describe your proposed solution

auto ARDL is the nice part of econometrics and it should be put in feature of pycaret.

Describe alternatives you've considered, if relevant

No response

Additional context

No response

celestinoxp commented 4 months ago

Hi, i think the ARDL model is exists in statsmodels statsmodels... i think we need create a container for it, like other models?

@tvdboom @Yard1 @ngupta23 @moezali1 @PabloJMoreno what you think about it?

ngupta23 commented 4 months ago

Is it supported by sktime? If it is, you can add a model container for it in pycaret. Also remember to include it in the tests to make sure it does not break anything.