python - Pandas 中是否有一个很好的捷径可以从一阶差分时间序列中恢复真实值?
问题描述
我有timeseries = (training, test)
,然后我对部分时间序列 ( ) 使用 Pandas.diff()
运算符使我的时间序列静止,然后我使用 预测测试值。training
diff_training_ts
diff_training_set
显然,我的预测值还不是真的,我必须要integrate
他们。
现在我想计算sqrt(rmse(test, predicted))
,问题是我必须恢复真实值,并且我使用cumsum()
和其他人编写了一段代码,但它看起来很hacky(而且也有一个错误)。Pandas 中是否有用于这种操作的不错的快捷方式?
UPD:如果我删除 cumsum,这是一个结果:imgur.com/a/OEiDXXk 但这是一个示例:源数据:df = 3 10 12 15 4
where {3, 10, 12} = training
, {15, 4} = test
. 之后df = df.diff()
-> diff = {NaN 7 2 3 -11}
-> diff_training = {7, 2}
, diff_test = {3, -11}
-> diff_test.cumsum() = {3, -8}
, seed = 3
,term_to_add = 12
然后接收到真正的测试值就可以了test = {3 + 12, -8 + 12}
。
解决方案
推荐阅读
- java - 当应用程序在前台使用挂起的意图或其他解决方案运行时,从主菜单打开特定选项卡
- firebase - database.rules.json 和 firestore.rules 有什么区别?
- google-cloud-platform - 在 GCP 中使用保险柜轮换服务帐号
- python - 将 WordNetLemmatizer.lemmatize() 与 pos_tags 一起使用会引发 KeyError
- alias - 将鱼壳别名存储在另一个文件中
- python - 使用python读取大量文本文件的有效方法
- node.js - 异步等待正确使用
- datetime - `foo.Seconds()`(类型 time.Duration)错误 - 不能使用 'd.Step.Seconds()'(类型 float64)作为类型 time.Duration
- c++ - 如何根据 C++ 中的行合并两个二维数组
- java - spring IOC 限定符和自动装配的奇怪行为