予測モデル - グレー予測モデル
- グレイ予測とは、既知の情報と不確実な情報の両方を含む系を予測すること、つまり、時間に関連して一定の範囲内で変化するグレイプロセスを予測することです。
- グレイ予測は、元のデータを生成および処理してシステム変化の法則を見つけ、強い規則性を持つデータ列を生成し、対応する微分方程式モデルを確立して、潜在的な状況を超えて物事の将来の発展を予測します。
グレー予測モデル
-
グレー予測モデル (Gray Forecast Model) は、数学的モデルを確立し、少量の不完全な情報を通じて予測を行う予測手法であり、オペレーションズ リサーチの思考方法を実践的な問題解決に適用するとき、開発戦略や政策を策定するとき、重要な問題について決定を下すには、将来について科学的に予測する必要があります。予測は、客観的な物事の過去と現在の発展法則に基づいており、科学的手法の助けを借りて、将来の発展の傾向と状況を説明および分析し、予測を形成します。科学的な仮定と判断。
-
グレイ システム理論は、グレイ システムの分析、モデリング、予測、意思決定、制御を研究し解決する理論であり、グレイ予測はグレイ システムに基づいて行われる予測です。
現在一般的に使用されている一部の予測手法(回帰分析など)では、より大きなサンプルを必要とするため、サンプルが少ないと誤差が大きくなり、予測対象が無効になることがよくあります。グレー予測モデルは、必要なモデリング情報が少なく、操作が便利で、モデリング精度が高いため、さまざまな予測分野で広く使用されており、小規模なサンプルの予測問題を処理する場合に効果的なツールです。 -
グレイ システム理論は、1982 年に華中科技大学の鄧居龍教授によって提案および開発されました。過去20年にわたり、国内外の多くの学者の注目を集め、大きな発展を遂げてきました。現在、我が国においては、社会、経済、科学技術等の多くの分野において、予測、意思決定、評価、計画管理、システム分析、モデリング等の重要な手法の一つとなっている。特に、短い時系列、統計データが少ない、不完全な情報の分析とモデリングに独特の効果を発揮するため、広く使用されています。
グレー系
- ホワイトシステムのメッセージは
完全に明確です。 - グレイシステムの情報は
既知の部分もあれば、未知の部分もあります。 - ブラックシステムの内部情報
は不明。 - グレイシステムの特徴:
(1) グレイ数学を使用して不確実性を扱い、それを定量化する
(2) 既知の情報を駆使してシステムの運動法則を求める
(3) グレイシステム理論は貧弱な情報システムに対処できる。
GM(1,1) モデルの概要
モデリングプロセス
モデルチェック
モデル結果の分析
グレー予測モデルの使用のポイント
ケース
GM(1,1)コード
function gm11 = GM11_model(X,td)
%GM11_model用于灰色模型c(1,1)的建立和预测
%输入参数x为原始数据,td为未来预测期数
%输出参数gm11为一个结构体,包括。
%Coeff_a为发展系数,Coeff_u为灰作用量,
%Predict_Value为预测值,包括当前值和未来td期预测值
%AbsoluteBrror为绝对误差,RelativeErrorMean为相对误差均值
%C为方差比,P误差为小概率,R为关联度
%% 输入参数的控制与默认值
if nargin < 2
warning('输入参数为2个,td将默认使用默认值5')
td = 5;
elseif td < 0
warning('未来预测期数td不能为负值,td将默认使用默认值0')
td = 0;
end
%%数据预处理:累加,平均
n = length(X); %%获取原始数据个数
Ago = cumsum(X); %% 原始数据一次累加 获取新1-AGO序列xi(1)
% Z(i) 为xi(1)的紧邻均值生成序列
% Z = (Ago(1:n-1)+Ago(2:end))/2;
Z = (Ago(1:end-1) + Ago(2:end) ) / 2; % 计算紧邻均值生成数列(长度为n-1)
%%构造B和Ynz矩阵
Yn = X(2:end)'; %Yn是常数项向量 X(2),x(3)
B= [-Z;ones(1,n-1)]'; %% 累加生成数据作均值
%% 最小二乘法求解发展系数a和灰色作用量u
LS_solution = (B'*B)\(B'*Yn); %% 利用公式求解a,u
a = LS_solution(1); %%发展系数a
u = LS_solution(2); %%灰色作用量u
%%建立灰度GM(1,1)模型,白化一元一阶微分方程
F = [X(1),(X(1)-u/a)./exp(a*(1:n+td-1))+u/a];
%% 还原序列,得到预测数据
PreData = [F(1),F(2:end)-F(1:end-1)];
%% 数据可视化
t = 1:n;
plot(t,X,'ko-','MarkerFaceColor','k') %%原数据图像
hold on;
grid on
%%预测当前数据图像
plot(t,PreData(1:n),'b*-','LineWidth',1.5)
%% 未来td期数据图像
plot(n:n+td,PreData(n:n+td),'r*-','LineWidth',1.5)
title('GM(1,1) model --- Original VS Current And Future Predict');
legend('OriginalData','ForecastData','ForecastFutureData','Location','best')
legend('boxoff')
set(get(gca, 'XLabel'), 'String', 'Time');
set(get(gca, 'YLabel'), 'String', 'Value');
%% 模型校验
Err = abs(X-PreData(1:n)); %真实值与预测值误差
q = mean(Err./X);%真实值与预测值误差
XVar = std(X,1);%原数据的标准方差,前置因子1/n
ErrVar = std(Err(2:end):1);%残差(2:end)的标准方差,前置因子1/n
C = ErrVar/XVar; %后验方差比
%小误差率
P = sum(abs(Err-mean(Err))<0.6745*XVar)/n;
R_k = (min(Err)+0.5*max(Err))./(Err+0.5*max(Err)); %rho=0.5
R = sum(R_k)/length(R_k); %关联度
%%计算变量组合,生成输出结构体变量
gm11.Coeff_a = a;
gm11.Coeff_u = u;
gm11.Predict_Value = PreData;
gm11.AbsoluteError = Err;
gm11.RelativeErrorMean = q;
gm11.R = R;
gm11.C = C;
gm11.P = P;
end
X = [174,179,183,189,207,234,220.5,256,270,285,300,320,344,365];
gm11 = GM11_model(X,5)
%%未来预测值
prd = gm11.Predict_Value(end-5+1:end)
%{
gm11 =
包含以下字段的 struct:
Coeff_a: -0.0621
Coeff_u: 156.7876
Predict_Value: [1×19 double]
AbsoluteError: [0 6.1049 0.9646 6.7429 1.2753 12.3899 15.2986 5.1045 3.0410 0.9490 2.2373 1.5880 1.8225 0.9147]
RelativeErrorMean: 0.0185
R: 0.7182
C: NaN
P: 1
根据模型评价标准
p=1,C=0.0724,预测等级为:好;
相对误差均值0.085,合格
关联度0.7182,勉强合格
由于-a系数小于0.3,适合中长期预测。
从运行结果看,对于线性的数据使用GM(11)预测,其拟合效果还是不错。
%%未来预测值
prd =
387.3958 412.1987 438.5896 466.6702 496.5486
%}