问题描述
我有两个系列,一个是月度 CPI(消费者价格通胀)数据,另一个是 EUR/USD 汇率的每日收盘价。我遇到的问题是将月度 CPI 数据转换为 DAILY,以便我可以将这两个系列组合成一个数据框。由于我将其用于回归机器学习 (ML) 任务,即 XGBoost,我不确定执行此操作的正确方法。我已经阅读了几种方法:也许是插值,例如Chow-Lin 或者 Cubic Spline,我听说过使用卡尔曼滤波器,我见过人们操纵日期时间索引并用 NaN 值填充它,然后使用 ffill() 来填充 NaN,并且有训练单独的模型(我不想这样做)等......
我真的不知道执行此操作的正确程序,尤其是当时间分解是与模型准确性相关的主要问题时。代码如下:
from datetime import datetime
import pandas as pd
import pandas_datareader.data as pdr
import yfinance as yf
eurusd = yf.download("EURUSD=X",start=datetime(2000,1,1),end=datetime(2021,7,21))["Close"] # daily
cpi = pdr.FredReader("CPALTT01USM657N",21)).read() # monthly
输出数据如下:
(注意:为了特征工程和 ML 模型的最新数据,我最终会对数据帧进行切片并拥有 2008 年左右的数据)
Date
2003-12-01 1.196501
2003-12-02 1.208897
2003-12-03 1.212298
2003-12-04 1.208094
2003-12-05 1.218695
...
2021-07-15 1.183334
2021-07-16 1.181181
2021-07-19 1.181401
2021-07-20 1.179384
2021-07-21 1.178411
Name: Close,Length: 4554,dtype: float64
CPALTT01USM657N
DATE
2000-01-01 0.297089
2000-02-01 0.592417
2000-03-01 0.824499
2000-04-01 0.058411
2000-05-01 0.116754
... ...
2021-01-01 0.425378
2021-02-01 0.547438
2021-03-01 0.708327
2021-04-01 0.821891
2021-05-01 0.801711
[257 rows x 1 columns]
非常感谢我能得到的所有帮助!非常感谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)