对于我的评估,我在此链接( https://drive.google.com/drive/folders/0B2Iv8dfU4fTUMVFyYTEtWXlzYkk ) 中找到了一个数据集,格式如下。我数据集中的第三列 (Y) 是我的真实值 - 这就是我想要预测(估计)的值。
time X Y
0.000543 0 10
0.000575 0 10
0.041324 1 10
0.041331 2 10
0.041336 3 10
0.04134 4 10
...
9.987735 55 239
9.987739 56 239
9.987744 57 239
9.987749 58 239
9.987938 59 239
Run Code Online (Sandbox Code Playgroud)
我想运行例如 5 window 的滚动OLS regression estimation,并且我已经使用以下脚本进行了尝试。
# /usr/bin/python -tt
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
df = pd.read_csv('estimated_pred.csv')
model = pd.stats.ols.MovingOLS(y=df.Y, x=df[['X']],
window_type='rolling', window=5, intercept=True) …Run Code Online (Sandbox Code Playgroud) 我正在使用statsmodels进行OLS估算。可以在控制台中使用来研究结果print(results.summary())。我想将相同的表存储为.png文件。以下是带有可复制示例的代码段。
import pandas as pd
import numpy as np
import matplotlib.dates as mdates
import statsmodels.api as sm
# Dataframe with some random numbers
np.random.seed(123)
rows = 10
df = pd.DataFrame(np.random.randint(90,110,size=(rows, 2)), columns=list('AB'))
datelist = pd.date_range(pd.datetime(2017, 1, 1).strftime('%Y-%m-%d'), periods=rows).tolist()
df['dates'] = datelist
df = df.set_index(['dates'])
df.index = pd.to_datetime(df.index)
print(df)
# OLS estimates using statsmodels.api
x = df['A']
y = df['B']
model = sm.OLS(y,sm.add_constant(x)).fit()
# Output
print(model.summary())
Run Code Online (Sandbox Code Playgroud)
我在这里使用建议进行了一些幼稚的尝试,但我怀疑我已经偏离目标了:
os.chdir('C:/images')
sys.stdout = open("model.png","w")
print(model.summary())
sys.stdout.close()
Run Code Online (Sandbox Code Playgroud)
到目前为止,这只会引发非常长的错误消息。
感谢您的任何建议!
我在 Keras 中创建了相当大的模型,我正在用 LaTeX 写一篇关于它的文章。为了很好地描述 LaTeX 中的 keras 模型,我想用它创建一个 LaTeX 表。我可以手动实现它,但我想知道是否有任何“更好”的方法来实现这一点。
我四处查看,发现了一些帖子,例如Keras model.summary( ) 有一个不错的输出吗?通过绘制图像来解决。然而,我希望将其作为文本数据(是的,拥有MRE :)),表格看起来更好并且格式也很好。如果有类似的东西,最好的选择是:statsmodels Summary to Latex。然而,我无法找到任何将输出model.summary()转换为表格表示的方法。
我在想是否有一种方法可以将其转换为 pandas 数据帧,然后可以使用df.to_latex(). 我尝试使用 执行此model.to_json()操作,但此函数不会返回有关打印输出形状的任何信息model.summary()。这是我的尝试:
df = pd.DataFrame(model.to_json())
df2 = pd.DataFrame(df.loc["layers","config"])
#for example select filters, need to do it like this as it is not always contained
filters = ["-" if "filters" not in x else x["filters"] for x in df2.loc[:,"config"]]
Run Code Online (Sandbox Code Playgroud)
model.to_json()我的模型返回以下 json :
{"class_name": "Model", "config": …Run Code Online (Sandbox Code Playgroud)