【大数据分析与挖掘模型】matlab实现——趋势外推预测模型

一、实验目的

掌握趋势外推预测模型的基本理论,通过编程对实例进行预测。

二、实验任务

在佩尔预测模型、龚珀兹预测模型和林德诺预测模型中任选其一,进行编程预测。

本实验选择:佩尔预测模型

数据实例如下:

三、实验过程

四、实验结果

实现平台:++Matlab 2022A++

实验代码:

matlab 复制代码
% 年份和客运量的数据
% years = 1987:2006;
% passengers = [10091,10551,10389,10702,11078,10565,11063,25163,21697,23904,25003.7,29863,32962.2,33704,39984.4,38879.6,35156,38902,41079,43844];
years = 1994:2006;
passengers = [25163,21697,23904,25003.7,29863,32962.2,33704,39984.4,38879.6,35156,38902,41079,43844];

% 求解参数
% 计算数组的长度
n = length(years);
% 将数组分为三份
r = floor(n / 3);
part1 = passengers(1:r);
part2 = passengers((r + 1):(2 * r));
part3 = passengers((2 * r + 1):end);
% 求每份的总和
S1 = sum(1 ./ part1);
S2 = sum(1 ./ part2);
S3 = sum(1 ./ part3);
% 求各个参数
b = log((S1 - S2) / (S2 - S3)) / r;
L = r / (S1 - ((S1 - S2)^2 / ((S1 - S2) - (S2 - S3))));
a = ((S1 - S2)^2 * (1 - exp(-b)) * L) / (((S1 - S2) - (S2 - S3)) * exp(-b) * (1 - exp(-r * b)));

% 输出参数值
disp(['参数 L 的值为: ', num2str(L)]);
disp(['参数 a 的值为: ', num2str(a)]);
disp(['参数 b 的值为: ', num2str(b)]);



% 应用模型进行预测
t = 1:length(years);
predicted_passengers = L ./ (1 + a * exp(-b * t));

% 可视化预测结果
figure;
plot(years, passengers, '-', 'DisplayName', '实际乘客数量');
hold on;
plot(years, predicted_passengers, '-', 'LineWidth', 2, 'DisplayName', '预测乘客数量');
xlabel('年份');
ylabel('乘客数量');
title('佩尔预测模型预测结果');
legend;
grid on;

实验结果:

五、个人总结

1.对趋势外推预测模型的理解

趋势外推法的基本理论是:事物发展过程一般都是渐进式的变化,而不是跳跃式的变化,决定事物过去发展的因素在很大程度上也决定该事物未来的发展,事物的变化不会太大。依据这种规律推导,就可以预测出它的未来趋势和状态。

本次实验采用的佩尔模型是从生物繁殖和人口增长的S型曲线规律当中分析而出,能够较好地描述技术增长和新技术扩散过程。

相关推荐
飞睿科技13 分钟前
乐鑫代理商飞睿科技,2025年AI智能语音助手市场发展趋势与乐鑫芯片解决方案分析
人工智能
许泽宇的技术分享14 分钟前
从新闻到知识图谱:用大模型和知识工程“八步成诗”打造科技并购大脑
人工智能·科技·知识图谱
坤坤爱学习2.028 分钟前
求医十年,病因不明,ChatGPT:你看起来有基因突变
人工智能·ai·chatgpt·程序员·大模型·ai编程·大模型学
蹦蹦跳跳真可爱5891 小时前
Python----循环神经网络(Transformer ----注意力机制)
人工智能·深度学习·nlp·transformer·循环神经网络
好开心啊没烦恼2 小时前
Python 数据分析:计算,分组统计1,df.groupby()。听故事学知识点怎么这么容易?
开发语言·python·数据挖掘·数据分析·pandas
空中湖3 小时前
tensorflow武林志第二卷第九章:玄功九转
人工智能·python·tensorflow
lishaoan773 小时前
使用tensorflow的线性回归的例子(七)
人工智能·tensorflow·线性回归
千宇宙航6 小时前
闲庭信步使用SV搭建图像测试平台:第三十一课——基于神经网络的手写数字识别
图像处理·人工智能·深度学习·神经网络·计算机视觉·fpga开发
onceco7 小时前
领域LLM九讲——第5讲 为什么选择OpenManus而不是QwenAgent(附LLM免费api邀请码)
人工智能·python·深度学习·语言模型·自然语言处理·自动化
jndingxin9 小时前
OpenCV CUDA模块设备层-----高效地计算两个 uint 类型值的带权重平均值
人工智能·opencv·计算机视觉