相关疑难解决方法(0)

Python - 滚动窗口 OLS 回归估计

对于我的评估,我在此链接( 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)

python numpy pandas scikit-learn statsmodels

3
推荐指数
1
解决办法
8827
查看次数

将statsmodels结果保存在Python中作为图像文件

我正在使用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)

到目前为止,这只会引发非常长的错误消息。

感谢您的任何建议!

python statsmodels

3
推荐指数
1
解决办法
3254
查看次数

获取 Keras model.summary() 作为表

我在 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)

python keras

2
推荐指数
2
解决办法
3830
查看次数

标签 统计

python ×3

statsmodels ×2

keras ×1

numpy ×1

pandas ×1

scikit-learn ×1