预测模型基于灰度预测之房价的预测matlab源码
Posted 博主QQ2449341593
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了预测模型基于灰度预测之房价的预测matlab源码相关的知识,希望对你有一定的参考价值。
一、简介
1 名称由来
灰色模型(Gray Model),邓聚龙教授1982年提出。
常见系统分类:
白色系统是指一个系统的内部特征是完全 已知的,即系统的信息是完全充分的。
黑色系统是指一个系统的内部信息对外界来说是一无所知的,只能通过它与外界的联系来加以观测研究。
灰色系统内的一部分信息是已知的,另一部分信息是未知的,系统内各因素间有不确定的关系。
2 算法原理
二、源代码
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
axis=[1999.00,2000.00,2001.00,2002.00,2003.00,2004.00,2005.00,2006.00,2007.00,2008.00,2009.00,2010.00];%年份
a=[3422.00,3565.00,3866.00,4134.00,5118.00,5855.00,6842.00,7196.00,10320.00,13411,15800,21600];%房价
a1=leija(a,12);%得到X1(k)
f=[0];
bf=cat(2,f,a1);
bf2=cat(2,a1,f);
bf3=ones(11,1);
B=-0.5*(bf+bf2);
B=B(2:12)';
B=cat(2,B,bf3);%得到矩阵B
Y=a(2:12)';%得到矩阵Y
A=(inv(B'*B))*B'*Y;%得到矩阵A
anum=A(1)
bnum=A(2)%两个系数
a1yuce=zeros(1,11);
for i=0:11
a1yuce(i+1)=(a(1)-bnum/anum)*exp(-anum*i)+bnum/anum;
end %生成X1(k)预测值
ayuce=leijian(a1yuce,12);%生成X(k)预测值
plot (axis,ayuce,'g')
hold on
plot(axis,a,'r')%做出图形
hold on
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%求的绝对残差序列
chazhi=(ayuce-a).^2;
chazhi=sqrt(chazhi);
%相对残差序列
xiangdui=chazhi./a;
%平均相对残差
meanxd=mean(xiangdui);
%求关联度
ayuce1=ayuce./ayuce(1);
a1=a./a(1);
zuix=zeros(1,12);
zuid=zeros(1,12);
for i=1:12
zuix(i)=min(sqrt((ayuce1(i)-a1).^2));
zuid(i)=max(sqrt((ayuce1(i)-a1).^2));
end
zuixiao=min(zuix');
zuida=max(zuid');
e=zeros(1,12);
for i=1:12
e(i)=(zuixiao+0.5*zuida)/(abs(ayuce1(i)-a1(i))+0.5*zuida);
end
R=mean(e)
%后验差检验
%原始序列的均值
meana=mean(a);
%原始序列的均方差
S1=sqrt(sum((a-meana).^2)/11);
%残差的均值
meanchazhi=mean(chazhi);
S2=sqrt(sum((chazhi-meanchazhi).^2)/11);
%方差比
C=S2/S1
%残差概率
k=0;
for i=1:12
if abs((chazhi(i)-meanchazhi))<0.6745*S1
k=k+1;
end
end
P=k/12
%GM(1,1)残差模型
eyuce=yuce(e,12);
ayuce=ayuce-eyuce;
%plot(axis,ayuce,'k')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%求的绝对残差序列
chazhi=(ayuce-a).^2;
chazhi=sqrt(chazhi);
%相对残差序列
xiangdui=chazhi./a;
%平均相对残差
meanxd=mean(xiangdui);
%求关联度
ayuce1=ayuce./ayuce(1);
a1=a./a(1);
zuix=zeros(1,12);
zuid=zeros(1,12);
for i=1:12
zuix(i)=min(sqrt((ayuce1(i)-a1).^2));
zuid(i)=max(sqrt((ayuce1(i)-a1).^2));
end
zuixiao=min(zuix');
zuida=max(zuid');
e=zeros(1,12);
for i=1:12
e(i)=(zuixiao+0.5*zuida)/(abs(ayuce1(i)-a1(i))+0.5*zuida);
end
三、运行结果
以上是关于预测模型基于灰度预测之房价的预测matlab源码的主要内容,如果未能解决你的问题,请参考以下文章
预测模型基于遗传算法优化BP神经网络房价预测matlab源码
ML之shap:基于boston波士顿房价回归预测数据集利用shap值对XGBoost模型实现可解释性案例