MATLAB GM(1,1) 模型建立步骤及代码示例
建立 GM(1,1) 模型需要按照以下步骤进行:
-
准备数据:获取需要建模的数据,可以是时间序列数据或者其他类型数据。
-
确定初始值:通过原始数据计算出初始值,包括数据的绝对值的累加值和原始数据的累加值。
-
建立灰色预测模型:根据 GM(1,1) 模型的公式,利用初始值和原始数据,建立灰色预测模型。
-
模型检验:通过模型检验,判断模型的拟合程度和预测能力,包括计算相对误差、平均相对误差和小残差概率等指标。
-
模型预测:根据建立的模型,预测未来的数据。
具体建立 GM(1,1) 模型的代码如下:
- 准备数据
假设有一个时间序列数据如下:
data = [25 32 45 52 65 78 85 92 105];
- 确定初始值
根据 GM(1,1) 模型的公式,计算出数据的绝对值的累加值和原始数据的累加值:
B = cumsum(data); C = B - data;
- 建立灰色预测模型
利用初始值和原始数据,建立灰色预测模型:
n = length(data); a = (C(1:n-1)+C(2:n))/(2B(1:n-1)); b = data(1)/exp(a(1)); data_fit = bexp(a);
- 模型检验
计算相对误差、平均相对误差和小残差概率等指标,判断模型的拟合程度和预测能力。
e = data - data_fit; SSE = sum(e.^2); SST = sum((data - mean(data)).^2); R2 = 1 - SSE/SST; MAPE = mean(abs(e./data)); P = sum(e < 0)/n;
- 模型预测
根据建立的模型,预测未来的数据:
data_predict = b*exp(a(n)) * [1 2 3 4];
原文地址: https://www.cveoy.top/t/topic/nCOW 著作权归作者所有。请勿转载和采集!