基于多时间序列求和的指数衰减模型参数估计(R语言)
非线性回归分析求助:指数衰减模型与时间序列求和问题
大家好,我现在在处理一个非线性回归的问题,是实际场景简化后的版本,遇到了几个卡壳的地方,想请大家帮忙看看:
数据说明
我有5名参与者观察3种车型(奥迪、大众、保时捷)10秒内的速度,得到的时间序列数据集如下:
S_t_c <- read.table(text = " time S_c_1 S_c_2 S_c_3 1 20 15 40 2 45 30 50 3 60 45 60 4 75 60 60 5 90 70 60 6 105 70 90 7 120 70 120 8 125 70 140 9 130 70 160 10 145 70 180 ",header = T)
随后参与者猜测了t=11时的速度,对应的数据集是:
S_11_i_c <-read.table(text = " i c_1 c_2 c_3 1 150 70 190 2 155 70 200 3 150 75 195 4 160 80 190 5 150 75 180 ",header = T)
分析需求
我需要执行非线性回归来估计指数衰减模型的自由参数,这个模型涉及时间序列的求和运算,而且要针对3组不同的观测集(对应每种车型)分别进行估计。
遇到的问题
- 不知道怎么在回归中编码时间序列的求和运算;
- 对因变量(DV)依赖不同时间序列自变量(IV)的情况感到困惑;
- 不清楚如何为参数
beta_2设置上下限; - 不确定能不能在回归中自定义使用函数;
- 考虑是否需要分组因变量与自变量,以及如何合并不同数据表中的变量。
已有尝试
我试着写了w_s和Sum_S相关的代码,还写了回归的伪代码,但就是没法完成拟合:
# 尝试编写的w_s和Sum_S函数 function (x) { x = 0 for (j in 0:9) { x <- x+ x^j } } w_s = beta_2^s / function(beta_2) Sum_S_t_c <- data.frame( s = seq(1:9), c_1 = rnorm(9), c_2 = rnorm(9), c_3 = rnorm(9) ) Sum_S_t_c = 0 for (c in 2:4) { for (s in 0:9) { Sum_S_t_c[s,c] <- Sum_S_t_c + S_t_c[10-s, c] Sum_S_t_c = Sum_S_t_c[s,c] } } # 回归伪代码 for (c in 2:4) { for (i in 1:5) { for (s in 0:9) { S_11_i_c ~ beta_0 + beta_1 * Sum_S_t_c[s,c] * beta_2^s / function(beta_2) } } }
内容的提问来源于stack exchange,提问作者Jj Blevins
相关产品推荐
相关产品推荐

