You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于对数差分ARIMA模型提取BTC原始价格预测值(R语言)

还原对数差分预测值为BTC原始价格的方法

核心逆变换逻辑

你做的变换是先取BTC价格的对数,再做一阶差分得到增长率序列。要还原原始价格,需要两步逆操作:

  1. 从预测的差分(增长率)序列还原出对数价格:用样本最后一天的对数价格,累加未来每一步的差分预测值
  2. 将对数价格指数化,得到原始BTC价格

具体实现步骤(R代码)

1. 提取样本最后一天的对数价格

首先获取你现有数据中最后一天的对数价格,作为还原的起点:

last_log_price <- tail(df_byday$log, 1)

2. 还原单个模型的预测结果(以forecast_ar8为例)

# 提取未来5天的差分预测值
pred_dy <- forecast_ar8$mean

# 累加差分,得到相对于最后一天的对数价格增量
cumulative_dy <- cumsum(pred_dy)

# 计算预测的对数价格
pred_log_price <- last_log_price + cumulative_dy

# 指数化得到原始BTC价格
pred_btc_price <- exp(pred_log_price)

# 整理成数据框方便查看
ar8_pred_result <- data.frame(
  预测天数 = 1:5,
  预测差分 = pred_dy,
  预测对数价格 = pred_log_price,
  预测BTC原始价格 = pred_btc_price
)

print(ar8_pred_result)

3. 批量处理其他模型

对forecast_ar1和forecast_ma1重复上述逻辑即可:

# 处理forecast_ar1
cum_dy_ar1 <- cumsum(forecast_ar1$mean)
pred_btc_ar1 <- exp(last_log_price + cum_dy_ar1)

# 处理forecast_ma1
cum_dy_ma1 <- cumsum(forecast_ma1$mean)
pred_btc_ma1 <- exp(last_log_price + cum_dy_ma1)

4. 还原预测置信区间(可选)

如果需要还原预测的上下置信区间,对区间边界执行同样的累加和指数化操作:

# 以forecast_ar8的95%置信区间为例
lower_log <- last_log_price + cumsum(forecast_ar8$lower[,2])
upper_log <- last_log_price + cumsum(forecast_ar8$upper[,2])

lower_btc <- exp(lower_log)
upper_btc <- exp(upper_log)

内容的提问来源于stack exchange,提问作者Constantin Marguier

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 04:17:09