New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ARDL fitted params in summary() are not real #8700
Comments
Can you post full output? |
Full output of the code in my issue and picture of output:
|
my guess is that this depends on the origin of trend, what's the first |
As you can see my sequence is:
so the first t=0, the first x = 0 and you could fast check first row members may be generated by Let's make direct a calculations for 100th and 101th members of the row (i mean for t = 100 and t=101) :
now check indirect calculations using Originaly i have thought that the f(t) have to be dependant on t-1 and not on t. But i have linked earlier that it is not true, it y(t) depends exactly on t: Anyway, if you see im somehow wrong, please post the recurrent formula which is both generate my sequence and in good agreement with
|
Yes, theoretically But how are trend and initial conditions implemented in ARDL. I never looked at it f(t) = 1f(t-1) + 2t + 0 |
You would need to manually encode t**2 as an exogenous variable since the max trend supported is |
Problem short description:
I use ARDL on a sandbox task to study all the parameters and how they work.
I fitted the model and i get perfect result (task is designed for model to return perfect results).
But when i look at m.params or m.summary(), values of fitted perameters are not the same as model uses to predic 100% preciese values.
As you see i'm working with f(t) = t^2 + t + 11 and it colud be represented as recurrent sequence in form of
f(t) = 1 * f(t-1) + 2 * t which is in perfect agreement with what ARDL model is expected to predict: lag=1 dependence and linear time trend. And it does perfect prediction as you can see in output of print(mt1.forecast(5)) line
Expected fitted parameters are: const = 0, trend = 2, L1 = 1
But both mt1.summary() and mt1.params return: const= 2, trend = 2, L1 =1
Why the constant equals to 2 and how model was able to predict perfect results with this value of const? What is the final equation model uses to predict correct values with this value of const?
General form of equation can be found here in "Notes" section.
Expected Output
I expected to get mt1.aparms as
for data of the form f(t) = 1*f(t-1) + 2*t + 0
Output of
import statsmodels.api as sm; sm.show_versions()
[paste the output of
import statsmodels.api as sm; sm.show_versions()
here below this line]The text was updated successfully, but these errors were encountered: