Mathematical Modeling: 15 Predictive Models

Table of contents

step

Gray prediction model

When to Use Gray Prediction

OLS and the principle of perfect collinearity

GM(1,1) principle

Quasi-exponential law: test whether the data can be used with a gray prediction model

Before prediction: evaluate the fitting effect

Residual test

Grade ratio deviation test

expand

BP neural network

Matlab toolbox

Analyze results


step

 

Gray prediction model

When to Use Gray Prediction

  1. The data is non-negative and measured in years (if it is month/quarter, use a time series decomposition model)
  2. The data passes the test of quasi-exponential law : except for the first few periods of data, the smoothness ratio of 90 to 80% of the subsequent data periods is lower than 0.5
  3. If the data period is short and the correlation with other data is not strong: if it is more than 3 periods and the data period is too long, use the time series model; if the correlation is strong, the regression or VAR vector autoregressive model can be used

OLS and the principle of perfect collinearity

Matrix derivation: https://blog.csdn.net/lipengcn/article/details/52815429

GM(1,1) principle

Derivation of whitening equation (differential equation):

Solve the differential equation to obtain the equation used for prediction:

The smaller the development coefficient-a, the more accurate the prediction.

Quasi-exponential law: test whether the data can be used with a gray prediction model

Level ratio; proportion of smoothness ratio < 0.5

Before prediction: evaluate the fitting effect

Residual test

Grade ratio deviation test

expand

Full data GM(1,1), partial data GM(1,1), new information GM(1,1), metabolism GM(1,1) 

 

BP neural network

First explain the principle of neural network in the paper (see the reference paper information given), and explain clearly why this model can be used

Matlab toolbox

First use the load command to import the .mat data; then open the neural network fitting toolbox; then import the data

 

Then export the model in the upper right corner

Then make predictions in code:

% 导出的模型保存成 results
net = results.Network;

% 这里要注意将指标变为列向量,然后再用sim函数预测
sim(net, new_X(1,:)')

% 写一个循环,预测接下来的十个样本的值
predict_y = zeros(10,1); % 初始化predict_y
for i = 1: 10
    result = sim(net, new_X(i,:)');
    predict_y(i) = result;
end

disp('预测值为:')
disp(predict_y)

Analyze results

Regress the fitted values ​​on the true values: the higher the goodness of fit, the better the fitting effect.

 

Guess you like

Origin blog.csdn.net/m0_54625820/article/details/128719790