建模重复测量后勤增长曲线

时间:2018-05-18 18:01:37

标签: r time-series logistic-regression nls non-linear-regression

我有两个月(2016年,2017年)每个月末的累计人口总数数据。我想将这两年结合起来,将每个月的累计总数视为重复测量(每年一次),并使这些数据符合非线性增长模型。我们的目标是通过将模型的渐近线增加到我们2018年的年终目标来确定我们当前的2018年累积月度总数是否有望实现我们2018年末的人口目标。理想情况下,我希望将一个置信区间整合到模型中,以反映每个月两年之间的变化。

我的data.frame中的列如下: - 年份是年份 - 月份是月份 - 时间是月份的数字(1-12) - 总计是月末累计人口总数 - Norm是该月份年终总数的比例 - log是转换的总日志 Year Month Total Time Norm log 1 2016 January 3919 1 0.2601567 8.273592 2 2016 February 5887 2 0.3907993 8.680502 3 2016 March 7663 3 0.5086962 8.944159 4 2016 April 8964 4 0.5950611 9.100972 5 2016 May 10014 5 0.6647637 9.211739 6 2016 June 10983 6 0.7290892 9.304104 7 2016 July 11775 7 0.7816649 9.373734 8 2016 August 12639 8 0.8390202 9.444543 9 2016 September 13327 9 0.8846920 9.497547 10 2016 October 13981 10 0.9281067 9.545455 11 2016 November 14533 11 0.9647504 9.584177 12 2016 December 15064 12 1.0000000 9.620063 13 2017 January 3203 1 0.2163458 8.071843 14 2017 February 5192 2 0.3506923 8.554874 15 2017 March 6866 3 0.4637622 8.834337 16 2017 April 8059 4 0.5443431 8.994545 17 2017 May 9186 5 0.6204661 9.125436 18 2017 June 10164 6 0.6865248 9.226607 19 2017 July 10970 7 0.7409659 9.302920 20 2017 August 11901 8 0.8038501 9.384378 21 2017 September 12578 9 0.8495778 9.439705 22 2017 October 13422 10 0.9065856 9.504650 23 2017 November 14178 11 0.9576494 9.559447 24 2017 December 14805 12 1.0000000 9.602720

Here is my data plotted as a scatter plot:

我应该将这两年视为单独的模型,还是可以将所有数据合并为一个?

我已经能够使用以下代码计算2016年的拦截和增长参数: coef(lm(logit(df_tot$Norm[1:12]) ~ df_tot$Time[1:12]))

并使用此代码获得2016年的非线性最小二乘回归: fit <- nls(Total ~ phi1/(1+exp(-(phi2+phi3*Time))), start = list(phi1=15064, phi2 = -1.253, phi3 = 0.371), data = df_tot[c(1:12),], trace = TRUE)

任何帮助都非常感谢!时间序列非线性建模不是我的强项,谷歌搜索在这一点上并没有让我走得太远。

0 个答案:

没有答案