¿Cómo predecir el modelo gris GM(1,1)? Tengo datos de los últimos once años y quiero predecir datos para 2020 y 2030. ¡Por favor dame algún consejo!

Darle un modelo de programa. También tengo el programa completo aquí. Si es necesario escríbeme.

Centro de control de croma

Borrar todo

Este programa se utiliza principalmente para calcular los valores predichos de modelos basados ​​en la teoría de grises.

El modelo matemático aplicado es GM(1,1).

El método de procesamiento de los datos originales es el método de acumulación única.

Y=input('Ingrese datos'); Ingrese datos de acuerdo con el formato que se muestra en el ejemplo: [48.7 57.17 68.76 92.15]

n = longitud (y);

yy=ones(n,1);

YY(1)= y(1);

Para i=2: n

YY(I)= YY(I-1) y(I);

Fin

b =一(n-1,2);

Para i=1: (n-1)

B(i, 1)=-(YY(I) YY(I 1))/2;

B( i , 2)= 1;

Fin

BT = B';

Para j=1: n-1

YN ( j)= y(j 1);

Fin

YN = YN ';

a = inv(BT * B)* BT * YN;

A = A(1);

u = A(2);

t = u/a; input ('Ingrese el número a predecir: ');

I = 1: t_test n;

yys(i 1)=(y(1)-t). * exp(-a . * I) t;

yys(1)= y(1);

Para j=n t_test: -1:2

ys(j)= yys(j)-yys(j-1);

Fin

x = 1:n;

xs = 2 :n t _ prueba;

yn = ys(2: n t _ prueba);

plot(x, y, '^r', xs, yn, '*-b'

det = 0;

Para i=2: n

det = det ABS(yn(I)-y(I));

End

det = det/(n-1);

Disp(['El error absoluto en porcentaje es: ', num2str(det), ' ']

Disp(['El valor previsto es: ', num 2 str(ys(n 1: n t _ test)));