Python write result of VAR to excel file - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: Data Science (https://python-forum.io/forum-44.html) +--- Thread: Python write result of VAR to excel file (/thread-19747.html) |
Python write result of VAR to excel file - wissam1974 - Jul-12-2019 Hi for all, i am working on creation of model VAR(Vector Auto Regressive) using python. here is the pseudo code model = VAR(MyDataFrame) results = model.fit(maxlags=7, method='ols', ic='aic', trend='c', verbose=False) res2=results.summary() print(res2) print(type(res2)) exit()the result that i have got is shown below:
Thank you in advance.
RE: Python write result of VAR to excel file - Skaperen - Jul-13-2019 you can find 92 pages worth of packages starting here. RE: Python write result of VAR to excel file - wissam1974 - Jul-13-2019 Hi Mr, i checked the link you have sent but i did not found what i am looking for, do you please help me find the one that fit my situation which is write the result of "write output of var.fit.summary to excel file or CSV file" thank you. RE: Python write result of VAR to excel file - perfringo - Jul-13-2019 Maybe I don't comprehend the whole picture but there is input-output library of statsmodel - iolib Quote:Users can also leverage the powerful input/output functions provided by pandas.io. Among other things, pandas (a statsmodels dependency) allows reading and writing to Excel, CSV, and HDF5 (PyTables). RE: Python write result of VAR to excel file - wissam1974 - Jul-13-2019 (Jul-13-2019, 07:33 AM)perfringo Wrote: Maybe I don't comprehend the whole picture but there is input-output library of statsmodel - iolib Hi Mr, first i would like to thank you for you help. i checked the link that you had sent, and i make some modifications on my code so as it becomes as follow: import pandas as pd from statsmodels.tsa.base.datetools import dates_from_str import numpy as np from statsmodels.tsa.api import VAR, DynamicVAR import matplotlib.pyplot as plt import statsmodels.api as sm from statsmodels.iolib.table import SimpleTable data_NO_nan_neg=dta[ ['TMIN','TMAX','UMIN', 'UMAX','DD','FF' ,'RR' , 'TD','PS', 'PM'] ] model =sm.tsa.VAR(data_NO_nan_neg) results = model.fit(maxlags=7, method='ols', ic='aic', trend='c', verbose=False) res2=results.summary() results_as_csv=res2.tables[0].as_csv()i re-run the model and i am getting the following error: can you please help me to overpass this error.Thank you a lot Mr. RE: Python write result of VAR to excel file - perfringo - Jul-13-2019 I don't use this module therefore my advice is general one. Error message clearly states that "'VARSummary' object has no attribute 'tables'". You can't apply this method to this object. From the iolib page you can find this (maybe it helps). Quote:summary.Summary() class to hold tables for result summary presentation You can try the brute-force approach (I have no idea will it work): write the whole VARSummary object to csv, read this csv into pandas dataframe and extract tables needed, then write tables into Excel. RE: Python write result of VAR to excel file - wissam1974 - Jul-13-2019 (Jul-13-2019, 08:42 AM)perfringo Wrote: I don't use this module therefore my advice is general one. Ok Mr, but this is the main issue how can write the whole VARSummary object to csv, if i make it i can then proceed to others steps, how can write the whole VARSummary object to csv? thank you RE: Python write result of VAR to excel file - scidam - Jul-13-2019 As it could be seen from VARSummary source code, this class doesn't have .as_csv method (iolib includes classes with such method). Also, it has no other methods related with csv-creation. I am not sure completely, but it seems that the best method to do what you want is to inspect your model object and find all needed coefficients. Model object includes all data you need (e.g. model.aic etc). You can built your own container, e.g. a data frame of these values and write this data-frame to csv.
RE: Python write result of VAR to excel file - wissam1974 - Jul-13-2019 Hi Mr but how can i find all needed coefficients and how can i built my own container?? can you give me more details?? in fact i tried several trials such as data_NO_nan_neg=mdata.replace(np.inf, np.nan).replace(-np.inf, np.nan).dropna() model =sm.tsa.VAR(data_NO_nan_neg) results = model.fit(maxlags=7, method='ols', ic='aic', trend='c', verbose=False) res2=results.summary() #print(res2) print(type(res2)) res3=results.summary.Summary() results_as_csv=SimpleTable.as_csv(res2) results_as_csv=statsmodels.iolib.summary.Summary.as_csv(res2) results_as_csv=statsmodels.iolib.summary.Summary(results, 'test.csv') print(results_as_csv) res_all = [] results=res2 for res in results: low, upp = res.confint().T # unpack columns res_all.append(np.concatenate(([res.llf], res.params, res.tvalues, res.pvalues, low, upp)))unfortunately i did not solve my problem!! I will be very thankful if you give me more details to solve this complexity. Thank you |