【预测模型】基于matlab elman神经网络的房价预测【含Matlab源码 589期】

一、简介

基于matlab elman神经网络的房价预测

二、源代码

% elm_stockpredict.m

%% 清除工作空间中的变量和图形
clear,clc
close all

%% 1.加载337期上证指数开盘价格
load matlab.mat

whos
rng(1)
%% ARMA模型
z=iddata(y1);
m=armax(z(1:19),'na',2,'nc',1);
yp = predict(m,y1,1);
yp=yp';

yp=yp(:,157:end);
%% 2.构造样本集
% 数据个数
price=y1;
n=length(price);

% 确保price为列向量
price=price(:);

% x(n)x(n-1),x(n-2),...,x(n-L)共L个数预测得到.
L = 6;

% price_n:每列为一个构造完毕的样本,共n-L个样本
price_n = zeros(L+1, n-L);
for i=1:n-L
    price_n(:,i) = price(i:i+L);
end

%% 划分训练、测试样本
% 将前280份数据划分为训练样本
%51份数据划分为测试样本

trainx = price_n(1:6, 1:150);
trainy = price_n(7, 1:150);

testx = price_n(1:6, 151:end);
testy = price_n(7, 151:end);

%% 创建Elman神经网络

% 包含15个神经元,训练函数为traingdx
net=elmannet(1:2,15,'traingdx');

% 设置显示级别
net.trainParam.show=1;

% 最大迭代次数为2000次
net.trainParam.epochs=2000;

% 误差容限,达到此误差就可以停止训练
net.trainParam.goal=0.00001;

% 最多验证失败次数
net.trainParam.max_fail=5;

% 对网络进行初始化
net=init(net);

%% 网络训练

%训练数据归一化
[trainx1, st1] = mapminmax(trainx);
[trainy1, st2] = mapminmax(trainy);

% 测试数据做与训练数据相同的归一化操作
testx1 = mapminmax('apply',testx,st1);
testy1 = mapminmax('apply',testy,st2);

% 输入训练样本进行训练
[net,per] = train(net,trainx1,trainy1);

%% 测试。输入归一化后的数据,再对实际输出进行反归一化

% 将训练数据输入网络进行测试
train_ty1 = sim(net, trainx1);
train_ty = mapminmax('reverse', train_ty1, st2);

% 将测试数据输入网络进行测试
test_ty1 = sim(net, testx1);
test_ty = mapminmax('reverse', test_ty1, st2);



% 显示真实值
plot(x,testy,'b-');
hold on
% 显示神经网络的输出值
plot(x,test_ty,'r--')

% 显示ARMA的输出值
plot(x,yp,'k--')

legend('real price','prediction price of Elman','prediction price of ARMA')
title('Test Results');

% 显示均方误差
mse2 = mse(test_ty - testy);
fprintf('    Elman_mse = \n     %f\n', mse2)
mse3 = mse(yp - testy);
fprintf('    ARMA_mse = \n     %f\n', mse3)

三、运行结果

在这里插入图片描述

四、备注

完整代码或者代写添加QQ1564658423
往期回顾>>>>>>
【预测模型】基于matlab粒子群的lssvm预测【含Matlab源码 103期】
【lSSVM预测】基于matlab鲸鱼优化算法之lSSVM数据预测【含Matlab源码 104期】
【lstm预测】基于matlab鲸鱼优化算法之改进的lstm预测【含Matlab源码 105期】
【SVM预测】基于matlab蝙蝠算法改进的SVM预测(一)【含Matlab源码 106期】
SVM预测】基于matlab灰狼算法优化svm支持向量机预测【含Matlab源码 107期】
【预测模型】基于matlab BP神经网络的预测【含Matlab源码 108期】
【lssvm预测模型】基于蝙蝠算法改进的最小二乘支持向量机lssvm预测【Matlab 109期】
【lssvm预测】基于飞蛾扑火算法改进的最小二乘支持向量机lssvm预测【Matlab 110期】
【SVM预测】基于matlab蝙蝠算法之改进的SVM预测(二)【含Matlab源码 141期】
【lssvm预测】基于matlab飞蛾扑火算法之改进的最小二乘支持向量机lssvm预测【含Matlab源码 142期】
【ANN预测模型】基于matlab差分算法改进ANN网络预测【含Matlab源码 151期】
【预测模型】基于matlab RBF神经网络预测模型【含Matlab源码 177期】
【预测模型】基于matlab SVM回归预测算法来预测股票趋势【含Matlab源码 180期】
【预测模型】基于matlab BP神经网络之模型优化预测【含Matlab源码 221期】
【预测模型】基于matlab RLS算法的数据预测【含Matlab源码 222期】
【预测模型】基于matlab碳排放约束下的煤炭消费量优化预测【含Matlab源码 223期】
【预测模型】基于matlab BP神经网络的电力负荷预测模型【含Matlab源码 278期】
【预测模型】基于matlab BP神经网络的股票预测【含Matlab源码 345期】
【预测模型】基于matlab GM11一二三线城市房价的预测【含Matlab源码 346期】
【预测模型】基于matlab粒子群PSO优化BP神经网络风电功率预测【含Matlab源码 347期】
【预测模型】基于matlab最小二乘法的股票预测【含Matlab源码 348期】
【预测模型】基于matlab PSO优化CNN预测【含Matlab源码 362期】
【预测模型】基于matlab rnn循环神经网络预测【含Matlab源码 363期】
【预测模型】基于matlab bp神经网络风电功率预测【含Matlab源码 399期】
【预测模型】基于matlab小波神经网络的短时交通流量预测【含Matlab源码 400期】
【预测模型】基于matlab PSO算法优化RBF进行预测【含Matlab源码 449期】
【预测模型】基于matlab时间序列的股票价格预测【含Matlab源码 450期】
【预测模型】基于matlab遗传算法优化BRF神经网络预测【含Matlab源码 451期】
【预测模型】基于matlab BP_Adaboost的财务预警【含Matlab源码 494期】
【预测模型】基于matlab 灰色理论GM模型实现地区PM2.5的预测【含Matlab源码 499期】

猜你喜欢

转载自blog.csdn.net/TIQCmatlab/article/details/115037330