微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将月度数据转换为日数据以解决回归问题

如何解决将月度数据转换为日数据以解决回归问题

我有两个系列,一个是月度 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 举报,一经查实,本站将立刻删除。