Python Forum
Python write result of VAR to excel file
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Python write result of VAR to excel file
#1
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:
Output:
Summary of Regression Results ================================== Model: VAR Method: OLS Date: Sat, 13, Jul, 2019 Time: 02:39:36 -------------------------------------------------------------------- No. of Equations: 10.0000 BIC: 18.5402 Nobs: 4010.00 HQIC: 17.8205 Log likelihood: -91127.2 FPE: 3.69610e+07 AIC: 17.4253 Det(Omega_mle): 3.10114e+07 -------------------------------------------------------------------- Results for equation TMIN ========================================================================== coefficient std. error t-stat prob -------------------------------------------------------------------------- const 51.900181 10.849815 4.784 0.000 L1.TMIN 0.283955 0.037289 7.615 0.000 L1.TMAX 0.352748 0.032167 10.966 0.000 ... Results for equation TMAX ========================================================================== coefficient std. error t-stat prob -------------------------------------------------------------------------- const 11.231979 17.159595 0.655 0.513 L1.TMIN 0.061324 0.058975 1.040 0.298 L1.TMAX 0.892760 0.050875 17.548 0.000 L1.UMIN 0.079147 0.013430 5.893 0.000 ..... #result of print(type(res2)) is: <class 'statsmodels.tsa.vector_ar.output.VARSummary'>
Error:
my problem is how can i write the above result to excel file??i tried to google my problem but unfortunately i did not found an appropriate solution so any help will be appreciated.
Thank you in advance.
Reply
#2
you can find 92 pages worth of packages starting here.
Tradition is peer pressure from dead people

What do you call someone who speaks three languages? Trilingual. Two languages? Bilingual. One language? American.
Reply
#3
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.
Reply
#4
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).
I'm not 'in'-sane. Indeed, I am so far 'out' of sane that you appear a tiny blip on the distant coast of sanity. Bucky Katt, Get Fuzzy

Da Bishop: There's a dead bishop on the landing. I don't know who keeps bringing them in here. ....but society is to blame.
Reply
#5
(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

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).

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:
Error:
results_as_csv=res2.tables[0].as_csv() AttributeError: 'VARSummary' object has no attribute 'tables'
can you please help me to overpass this error.
Thank you a lot Mr.
Reply
#6
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.
I'm not 'in'-sane. Indeed, I am so far 'out' of sane that you appear a tiny blip on the distant coast of sanity. Bucky Katt, Get Fuzzy

Da Bishop: There's a dead bishop on the landing. I don't know who keeps bringing them in here. ....but society is to blame.
Reply
#7
(Jul-13-2019, 08:42 AM)perfringo Wrote: 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.

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
Reply
#8
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.
Reply
#9
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
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Write from dictionary to excel divon 3 3,468 Jun-11-2023, 10:37 AM
Last Post: Larz60+
  Data Sorting and filtering(From an Excel File) PY_ALM 0 1,012 Jan-09-2023, 08:14 PM
Last Post: PY_ALM
  Split excel file and write output at specific row and set sheet position DSCA 0 1,956 May-12-2022, 07:29 PM
Last Post: DSCA
  [Pandas] Write data to Excel with dot decimals manonB 1 5,774 May-05-2021, 05:28 PM
Last Post: ibreeden
  Python - Merge existing cells of Excel file created with xlsxwriter manonB 0 3,686 Mar-10-2021, 02:17 PM
Last Post: manonB
  Creating more than one excel File at once malvarez1976 0 1,791 Dec-15-2020, 02:04 AM
Last Post: malvarez1976
  Convert Excel to .txt - Need each excel row to be separate .txt file cowboykevin05 2 4,723 Jan-03-2020, 06:29 PM
Last Post: Larz60+
  [split] Converting excel file to txt file unexceptionalhobby 2 4,309 Oct-16-2019, 06:34 PM
Last Post: unexceptionalhobby
  Read exel with merged cells and write to another excel SriMekala 0 2,935 Aug-10-2019, 07:14 AM
Last Post: SriMekala
  how read and write merged cells in excel SriMekala 1 15,058 Aug-07-2019, 11:27 PM
Last Post: scidam

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020