【发布时间】:2026-01-23 22:00:02
【问题描述】:
"f","index","values","lo.80","lo.95","hi.80","hi.95"
"auto.arima",2017-07-31 16:40:00,2.81613884762163,NA,NA,NA,NA
"auto.arima",2017-07-31 16:40:10,2.83441637197378,NA,NA,NA,NA
"auto.arima",2017-07-31 20:39:10,3.18497899649267,2.73259824384436,2.49312233904087,3.63735974914098,3.87683565394447
"auto.arima",2017-07-31 20:39:20,3.16981166809297,2.69309866988864,2.44074205235297,3.64652466629731,3.89888128383297
"ets",2017-07-31 16:40:00,2.93983529828936,NA,NA,NA,NA
"ets",2017-07-31 16:40:10,3.09739640066054,NA,NA,NA,NA
"ets",2017-07-31 20:39:10,3.1951571771414,2.80966705285567,2.60560090776504,3.58064730142714,3.78471344651776
"ets",2017-07-31 20:39:20,3.33876776870274,2.93593322313957,2.72268549604222,3.7416023142659,3.95485004136325
"bats",2017-07-31 16:40:00,2.82795253090081,NA,NA,NA,NA
"bats",2017-07-31 16:40:10,2.96389759682623,NA,NA,NA,NA
"bats",2017-07-31 20:39:10,3.1383560278272,2.76890864400062,2.573335012715,3.50780341165378,3.7033770429394
"bats",2017-07-31 20:39:20,3.3561357998535,2.98646195085452,2.79076843614824,3.72580964885248,3.92150316355876
我有一个类似上面的数据框,其列名称为:“f”、“index”、“values”、“lo.80”、“lo.95”、“hi.80”、“hi.95” .
我想要做的是计算来自不同模型的特定时间戳的预测结果的加权平均值。我的意思是
对于 auto.arima 中的每一行,在 ets 和 bats 中都有对应的行具有相同的时间戳值,因此加权平均值应按如下方式计算:
value_arima*1/3 + values_ets*1/3 + values_bats*1/3 ;应该计算 lo.80 和其他列的相似值。
这个结果应该与所有加权平均值一起存储在一个新的数据框中。
新的数据框可能类似于:
index(timesamp from above dataframe),avg,avg_lo_80,avg_lo_95,avg_hi_80,avg_hi_95
我想我需要使用 spread() 和 mutate() 函数来实现这一点。作为 R 的新手,我在形成此数据框后无法继续。
请帮忙。
【问题讨论】:
-
我会在你学习的时候暂时删除这篇文章并按顺序整理格式,否则你可能会收到很多反对意见。
-
@snoram,还好吗?
-
更好但不是很好。我认为更好地使用数据子集的 dput... 看到这个:*.com/questions/5963269/…
标签: r dataframe time-series weighted-average ensemble-learning