资源简介
此压缩包中包括2018年华为软赛初赛练习数据,数据预处理及应用MATLAB自带的ARIMA函数进行算法可行性验证。
代码片段和文件信息
%从txt中统计数据,每个月单独统计,用的前5个月份的txt
%最终统计结果放在data下,data的第n列表示第n型号设备每天的数量
clear;
clc;
data1=readtxt(1‘data_2015_1.txt‘);
data2=readtxt(2‘data_2015_2.txt‘);
data3=readtxt(3‘data_2015_3.txt‘);
data4=readtxt(4‘data_2015_4.txt‘);
data5=readtxt(5‘data_2015_5.txt‘);
data=[data1;data2;data3;data4;data5];
%下边处理都是用的8型号的数据
%剔除坏值,保证数据在均值上下3个标准差范围内
data8=data(:8).‘;
len=length(data8);
result=removedata(data8);
%滤波
Wc=0.9; %数字带宽
[ba]=butter(4Wc);
result_filter=filter(baresult);
figure(3)
plot(1:length(result_filter)result_filter‘.-r‘)
hold on
plot(1:length(result_filter)result‘.-g‘)
hold off
%arma模型定阶,其中的ij表示的是pq
s = 1; %周期是1
x = result_filter;%初始数据的录入,把滤波之后的数据作为输入
n = 14; %预报的个数
m1 = length(x); %原始的数据的个数
k=0;
w = x;
m2 = 1;
for i = 1:9
for j = 1:2
ToEstMd = arima(i0j); %指定模型的结构
k = k + 1;
R(k) = i;
M(k) = j;
[EstMdEstParamCovLogLinfo] = estimate(ToEstMdw‘);%模型拟合
numParams = sum(any(EstParamCov));%计算拟合参数的个数
[aic(k)bic(k)] = aicbic(LogLnumParamsm2);%计算aic,bic
end
end
fprintf(‘RMAICBIC的对应值如下\n%f‘);%显示计算结果
check = [R‘M‘aic‘bic‘]
%根据上面结果,p,q为93时aic,bic较小,用arma(9,3)做预测
www=result_filter(1:40);
toEstMd = arima(903);%构建arma(93)模型
[EstMdEstParamCovLogLinfo] = estimate(toEstMdwww‘);%将上面模型用在www上
f= forecast(EstMd14‘Y0‘www‘);%对www进行预测,预测14个点
figure(4)
plot(1:54result_filter(1:54)‘.-‘)
hold on
plot(41:54f‘.-r‘)
hold off
grid on
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1758 2018-03-11 12:41 test\codecraft.m
文件 703 2018-03-10 17:20 test\data.mat
文件 8459 2018-01-10 16:42 test\data_2015_1.txt
文件 49174 2018-01-10 16:42 test\data_2015_12.txt
文件 12074 2018-02-27 20:47 test\data_2015_2.txt
文件 8903 2018-02-10 21:16 test\data_2015_3.txt
文件 13885 2018-02-10 21:16 test\data_2015_4.txt
文件 19945 2018-02-10 21:16 test\data_2015_5.txt
文件 36591 2018-01-10 16:42 test\data_2016_1.txt
文件 448 2018-03-09 21:22 test\readtxt.m
文件 292 2018-03-10 22:19 test\removedata.m
目录 0 2018-03-11 12:42 test
----------- --------- ---------- ----- ----
152232 12
- 上一篇:ARMA模型的MATLAB实现
- 下一篇:S变换 matlab源码
评论
共有 条评论