python - 反转对数/差异变换以进行绘图
问题描述
tl-博士;
for app in endog:
min_nonzero = series[series[app] > 0].min()[0]
series.loc[series[app] == 0, app] = min_nonzero
series[app + '_log_diff'] = np.log(series[app]).diff()
series = series.replace([np.inf, -np.inf], np.nan).dropna()
如何将其反转以进行绘图?
全文
我在反转我的对数转置以消除平稳性时遇到了麻烦。这是转置:
series = u[columns].copy()
endogdiffs = []
for app in endog:
min_nonzero = series[series[app] > 0].min()[0]
series.loc[series[app] == 0, app] = min_nonzero
series[app + '_log'] = np.log(series[app])
series[app + '_log_diff'] = series[app + '_log'].diff()
endogdiffs.append(app + '_log_diff')
series = series.replace([np.inf, -np.inf], np.nan).dropna()
那么我正在建模app_log_diff的。我的系列分为训练组和测试组,预测被加载回名为y的 DF中。
据我了解,.diff() 被 .cumsum() 反转。这给了我日志。.log() 被 .exp() 反转
在输出时,我想我应该像这样绘制:
绘制输出
for i, app in enumerate(endog):
plt.plot(np.exp(train[app + '_log_diff'].append(y[app + '_log_diff']).cumsum()), color=[(i/10)+0.5, (i/10)+0.5, (i/10)+0.5])
plt.plot(np.exp(train[app + '_log_diff'].append(test[app + '_log_diff']).cumsum()), color=appColors[i])
但是——我的初始值(所有这些,不仅仅是内生的)都在 0-1 之间。对于 y 预测,我的输出值约为 1-50 或 60。
如何反转变换?
预测部分的详细信息:
训练并运行模型
train, test = series[:size], series[size:size+(28*4*24)]
train = train.loc[:, (train != train.iloc[0]).any()] # https://stackoverflow.com/questions/20209600/panda-dataframe-remove-constant-column
test = test.loc[:, (test != test.iloc[0]).any()]
#print(train.var(), X.info())
# train autoregression
model = VARMAX(train[endogdiffs], exog=train[exog])
model_fit = model.fit(model='cg')
#print(model_fit.mle_retvals)
model_fit.plot_diagnostics()
##window = model_fit.k_ar
coef = model_fit.params
predictions = pd.DataFrame()
predictions = model_fit.forecast(steps=len(test), exog=test[exog])
y = predictions.copy()
解决方案
推荐阅读
- ruby-on-rails - Styles do not work after converting from erb to slim
- microsoft-graph-api - Is it possible external users to access Microsoft Graph
- mysql - 从 json 字段 mysql 中的键、值对列表中提取键
- c# - Signin-oidc 页面直接访问错误与关联 - 如何重定向?
- ios - 如何在 iOS 上禁用 Xamarin 中的手势?
- reactjs - React - 显示“localStorage 未定义”错误
- ios - Xcode 10 中的 Instruments iOS 自动布局工具在哪里?
- android - 从具有 FLAG_ACTIVITY_NEW_TASK 的活动返回导航到具有 FLAG_ACTIVITY_NEW_DOCUMENT 的活动不起作用
- ios - 如何从 info.plist 获取静态框架的版本?或任何其他方式?
- python - python - 读取stm发送的串行数据