在R中用SSasymp拟合负指数曲线并预测后续7天数值
解决方案
步骤1:提取模型拟合参数
从你的modelcut数据框中提取已拟合完成的参数值:
# 提取Asym、R0、lrc参数 asym_val <- modelcut$Asym r0_val <- modelcut$R0 lrc_val <- modelcut$lrc
步骤2:生成待预测的天数序列
创建28至34天的连续天数序列:
pred_days <- 28:34
步骤3:使用SSasymp公式计算预测值
SSasymp的数学表达式为:
Asym + (R0 - Asym) * exp(-exp(lrc) * x)
代入参数和待预测天数直接计算:
# 计算预测百分比 pred_perc <- asym_val + (r0_val - asym_val) * exp(-exp(lrc_val) * pred_days) # 整理为结构化数据框 pred_results <- data.frame( daysinchambers = pred_days, predicted_perc = pred_perc ) # 查看结果 print(pred_results)
完整可运行代码
整合所有步骤,直接执行即可得到预测结果:
# 提取参数 asym_val <- modelcut$Asym r0_val <- modelcut$R0 lrc_val <- modelcut$lrc # 待预测天数 pred_days <- 28:34 # 计算并输出预测结果 data.frame(daysinchambers = pred_days, predicted_perc = asym_val + (r0_val - asym_val) * exp(-exp(lrc_val) * pred_days))
结果说明
运行后会生成包含7行的数据框,每行对应28-34天的预测百分比数值,符合负指数曲线的衰减趋势。
内容的提问来源于stack exchange,提问作者Christophe
相关产品推荐
相关产品推荐

