建立GM(2,1)模型: α(1)x(0)(k)+a1x(0)(k)+a2z(1)(k)=b.这个方程中的a1,a2, 和 b 是我们需要通过数据来估计的参数。 建立微分方程模型:基于一次累加序列,我们构建一个包含未知参数的二阶微分方程,即GM(2,1)的白化方程。 d2x(1)dt2+a1dx(1)dt+a2x(1)=b. 其中,a1,a2,
由此可以推断出,在给定数据点数增多的情况下,级比的上下界会逐渐趋近于1。接下来,我们将通过Python代码来展示如何进行线性平移预处理,以确保数据级比在可容覆盖范围内。这个预处理函数名为greyModelPreprocess,它接受一个数据向量dataVec作为输入,并返回经过预处理后的数据。在函数内部,我们首先导入必要的库和模块。
forecast1 = (x1(1)-u(2)./u(1)).*exp(-u(1).*([0:n-1+k]))+u(2)./u(1); %白化方程的离散响应 exchange = diff(forecast1)%最后10个为预测的数据 epsilon=x0(2:n)'-exchange(1:n-1) %计算残差 delta=abs(epsilon./x0(2:n)') %计算相对误差 rho=1-(1-0.5*u(1))/(1+0.5...
代码语言:javascript 代码运行次数:0 运行 AI代码解释 clc,clear x0=[41,49,61,78,96,104];n=length(x0);x1=cumsum(x0);a_x0=diff(x0);a_x0=[0,a_x0]fori=2:nz(i)=0.5*(x1(i)+x1(i-1));endB=[-x0(2:end)',-z(2:end)',ones(n-1,1)];Y=a_x0(2:end)';u=B\Yx=dso...
小树:【数模百科】灰色预测模型GM(1,1)讲解,看这一篇就够了(附python代码)51 赞同 · 8 评论文章 说到GM(1,n)模型,这里面的“1”表示模型中只有一个微分方程,而“n”则说明有n个变量参与进来。与我们之前了解的GM(1,1)模型不同,在GM(1,1)模型中只有一个因变量和一个自变量,而GM(1,n)模型则是在...
1 1 gm 模型python gmm python 复制链接 本文参考CSDN大神的博文,并在讲述中引入自己的理解,纯粹理清思路,并将代码改为了Python版本。(在更改的过程中,一方面理清自己对GMM的理解,一方面学习了numpy的应用,不过也许是Python粉指数超标才觉得有必要改(⊙o⊙))...
代码 经过整理,以下附上Python代码:import numpy as np import matplotlib.pyplot as plt # 线性平移预处理,确保数据级比在可容覆盖范围 def greyModelPreprocess(dataVec): "Set linear-bias c for dataVec" import numpy as np from scipy import io, integrate, linalg, signal from scipy.sparse.linalg ...
定义GM(1,1)灰色模型 代码语言:javascript 代码运行次数:0 运行 AI代码解释 classGM11():def__init__(self):self.f=None deftrain(self,X0):X1=X0.cumsum()Z=(np.array([-0.5*(X1[k-1]+X1[k])forkinrange(1,len(X1))])).reshape(len(X1)-1,1)# 数据矩阵A、BA=(X0[1:]).reshape(len...
Python和R用EWMA,ARIMA模型预测时间序列 R语言用LASSO,adaptive LASSO预测通货膨胀时间序列 Python中的ARIMA模型、SARIMA模型和SARIMAX模型对时间序列预测 R语言arima,向量自回归(VAR),周期自回归(PAR)模型分析温度时间序列 【视频】Python和R语言使用指数加权平均(EWMA),ARIMA自回归移动平均模型预测时间序列 ...
本文的目的是用Python和类对灰色预测进行封装 二、原理简述 1.灰色预测概述 灰色预测是用灰色模型GM(1,1)来进行定量分析的,通常分为以下几类: (1) 灰色时间序列预测。用等时距观测到的反映预测对象特征的一系列数量(如产量、销量、人口数量、存款数量、利率等)构造灰色预测模型,预...