Logistic三种迭代算法及matlab算法实现
Logistic曲线的参数估计
作者qq:2377389590欢迎探讨。
1844或1845年,比利时数学家Pierre François Verhulst提出了logistic方程,这是一个对S型曲线进行数学描述的模型。一百多年来,这个方程多次应用于一些特殊的领域建模与预测,例如单位面积内某种生物的数量、人口数量等社会经济指标、某种商品(例如手机)的普及率等。
logistic方程定义如下:
(1)
其中,t通常表示时间变量, 为模型的参数;当趋势比较完整时 a>0 b<0 c>0;其曲线如图1所示:
根据1图和(1)方程式得:当时, ;当 时, 。为了研究Logistic曲线的增长特性,对(1)式求导一阶导数得:
设xt(t=1, 2, …, n)为观测样本,对于logistic方程的参数,常规的估计方法有三种。
1.1、Yule算法:
(2)
根据式(1)有,,以及则式(2)变形为线性方程,利用普通最小二乘(OLS)方法可以得到这个方程参数的估计值,b和c的估计值也可以进一步得到。
为得到a的估计值,将式(1)变形为:
1.2、Rhodes算法:
根据式(1),有
普通最小二乘(OLS)方法得到这个方程参数的估计值,并进一步得到b和c的估计值,然后利用式(3)-式(5)的方法得到a的估计值
1.3、Nair算法:
(2)式可以进一步写为:
2.、matlab算法实现
中国1965-2011年CO2排放量(单位:亿吨)如表1所示:(备注:这是上课老师给的数据)
表1中国1965-2011年CO2排放量
1965 | 1966 | 1967 | 1968 | 1969 | 1970 | 1971 | 1972 | 1973 | 1974 |
480.9 | 522.0 | 468.8 | 469.5 | 573.8 | 737.8 | 869.8 | 933.7 | 977.2 | 997.7 |
1975 | 1976 | 1977 | 1978 | 1979 | 1980 | 1981 | 1982 | 1983 | 1984 |
1120.3 | 1176.1 | 1284.8 | 1422.1 | 1462.1 | 1499.7 | 1473.1 | 1539.2 | 1637.0 | 1771.0 |
1985 | 1986 | 1987 | 1988 | 1989 | 1990 | 1991 | 1992 | 1993 | 1994 |
1886.5 | 1994.6 | 2145.7 | 2292.0 | 2396.8 | 2387.0 | 2484.4 | 2580.8 | 2750.2 | 2915.7 |
1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 |
3163.8 | 3231.9 | 3319.5 | 3319.6 | 3484.0 | 3550.6 | 3613.9 | 3833.1 | 4471.2 | 5283.0 |
2005 | 2006 | 2007 | 2008 | 2009 | 2010 | 2011 | |||
5803.2 | 6415.5 | 6797.9 | 7033.5 | 7636.3 | 8209.8 | 8979.1 |
用logistic方程模拟我国CO2排放量的变化趋势,分别用三种方法估计方程参数,并分别计算三种方法的MAPE及未来五年CO2排放量的预测结果。
2.1.Yule算法:
2.2.Rhodes算法:
2.3.Nair算法:
根据编程计算,三种方法参数估计的结果及MAPE如表1所示:
三种方法的参数估计结果及误差分析结果
a | b | c | MAPE | |
Yule算法 | 0.0020 | -0.0580 | -0.000024579 | 0.1141 |
Rhodes算法 | 0.0019 | -0.0802 | 0.00010960 | 0.1259 |
Nair算法 | 0.0023 | -0.0683 | 0.000016564 | 0.1271 |
三种方法对未来五年CO2排放量的预测结果(单位:百万吨)如表2所示:
中国CO2排放量的预测结果
2012 | 2013 | 2014 | 2015 | 2016 | |
Yule算法 | 9167 | 9847 | 10587 | 11396 | 12282 |
Rhodes算法 | 6476.7 | 6624.9 | 6767.8 | 6905.3 | 7037.3 |
Nair算法 | 9050 | 9588 | 10152 | 10742 | 11359 |
如果想要最原始的文件和代码可以查看我上传的资源,源码下载地址