【大数据分析与挖掘模型】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型曲线规律当中分析而出,能够较好地描述技术增长和新技术扩散过程。

相关推荐
卧式纯绿4 分钟前
每日文献(八)——Part one
人工智能·yolo·目标检测·计算机视觉·目标跟踪·cnn
巷95510 分钟前
OpenCV图像形态学:原理、操作与应用详解
人工智能·opencv·计算机视觉
深蓝易网39 分钟前
为什么制造企业需要用MES管理系统升级改造车间
大数据·运维·人工智能·制造·devops
xiangzhihong81 小时前
Amodal3R ,南洋理工推出的 3D 生成模型
人工智能·深度学习·计算机视觉
狂奔solar1 小时前
diffusion-vas 提升遮挡区域的分割精度
人工智能·深度学习
青云交1 小时前
Java 大视界 -- Java 大数据在智能电网电力市场交易数据分析与策略制定中的关键作用(162)
java·大数据·数据分析·交易策略·智能电网·java 大数据·电力市场交易
资源大全免费分享1 小时前
MacOS 的 AI Agent 新星,本地沙盒驱动,解锁 macOS 操作新体验!
人工智能·macos·策略模式
跳跳糖炒酸奶2 小时前
第四章、Isaacsim在GUI中构建机器人(2):组装一个简单的机器人
人工智能·python·算法·ubuntu·机器人
AI.NET 极客圈2 小时前
AI与.NET技术实操系列(四):使用 Semantic Kernel 和 DeepSeek 构建AI应用
人工智能·.net
Debroon2 小时前
应华为 AI 医疗军团之战,各方动态和反应
人工智能·华为