【发布时间】:2020-10-31 14:12:08
【问题描述】:
returns = df.pct_change(1) * 100
returns 是以日期为索引的数据框,我想用数据框的最后一列(^BSESN)分别对每一列进行回归。由于有 700 多列,我想遍历这些列。我还想在每次回归后存储残差。 我使用了以下各种版本,但我不断收到相同的错误。我需要在每个单独的回归期间删除具有 NaN 值的行(而不是删除任何具有 nan 值的列的行)。
residuals = {}
for column in returns.columns[:-1]:
selected = returns[['^BSESN', column]].dropna()
reg = sm.OLS(selected[column], returns['^BSESN']).fit()
residuals[column] = reg.residuals
但我不断收到以下错误:
MissingDataError: exog contains inf or nans
如何消除错误?任何关于最佳方式的指导将不胜感激。
【问题讨论】:
标签: python pandas dataframe regression statsmodels