修正曲线指数法
利用指数曲线外推来进行预测时,存在着预测值随着时间的推移会无限增大的情况。这是不符合客观规律的。因为任何事物的发展都是有一定限度的。例如某种畅销产品,在其占有市场的初期是呈指数曲线增长的,但随着产品销售量的增加,产品总量接近于社会饱和量时。这时的预测模型应改用修正指数曲线。
修正指数曲线用于描述这样一类的现象:
初期增长迅速,随后增长率逐渐降低。
当 K>0,a<0, 0 < b < 1时,,,即。
采用三和法。
解得:
至此三个参数全部确定了,于是就可以用式进行预测。值得注意的是,并不是任何一组数据都可以用修正指数曲线拟合。采用前应对数据进行检验,检验方法是看给定数据的逐期增长量的比率是否接近某一常数b,即
代码如下:
经计算可知
可以认定这组数据可以采用修正指数曲线拟合。现将以上 15 个数据分为三部分,
每部分 5 个数据,即 n = 15 ,m = 5 ,并以 1969 年作为开始年份t = 1 。
Compertz 曲线
曲线的一般形式:
采用 Compertz 曲线前应对数据进行检验,检验方法是看给定数据的对数逐期增长量的比率是否接近某一常数b 。即
Compertz 曲线用于描述这样一类现象:初期增长缓慢,以后逐渐加快。当达到一定程度后,增长率又逐渐下降。
其中
function Compertz1
clc,clear
global a b k
% load xsh.txt %原始数据存放在纯文本文件 xsh.txt 中
xsh=[42.1 47.5 52.7 57.7 62.5 67.1 71.5 75.7 79.8 83.7 87.5 91.1 94.6 97.9 101.1];
yt=log(xsh);
n=length(yt);m=n/3;
s1=sum(yt(1:m)), s2=sum(yt(m+1:2*m)), s3=sum(yt(2*m+1:end))
b=((s3-s2)/(s2-s1))^(1/m)
a=(s2-s1)*(b-1)/(b*(b^m-1)^2)
k=(s1-a*b*(b^m-1)/(b-1))/m
a=exp(a)
k=exp(k)
y=Compertz(1:18)
% plot(y)