预测模型算法

预测模型

1、灰色预测
适用范围:它是一种基于小样本数据进行预测的模型。灰色系统理论它主要针对时间序列少、统计数据少、信息不完全的分析和建模。

灰色系统:我们将信息完全未确定的系统为黑色系统,信息完全确定的为白色系统,既有已知信息又有未知信息的为灰色系统

灰色系统是对离散序列建立的微分方程,它通过对原始数据的整理来寻求其变化规律,也就是灰色序列的生产。

灰色生成:累加生成、累减生成、均值生成、级比生成

1数据检验
计算数列的级比,所有级比都落在可覆盖区间(e-2/n+1,e2/n+1)内,则可以建立GM(1,1)模型

2构建模型
生成x1的邻值生成序列z1,定义模型为:

d(k)+az1(k)=b

(a为发展系数,z1(k)为白化背景值,b为灰作用量)

1.1预测检验
残差检验:

s(k)=x0(k)-x^0(k)/x0(k)

所有的|s(k)|<0.1,认为达到较高的要求,

|s(k)|<0.2认为达到一般要求

级比偏差值检验:

p(k)=1-(1-0.5a)/(1+0.5a)*s(k)/s^(k)

|p(k)|<0.1认为达到较高要求

|p(k)|<0.2认为达到一般要求

2、马尔可夫链

状态空间从一个状态到另一个状态转换的随机过程。它必须满足两个条件:

1 任意时刻可以用有限个可能状态之一描述

2 无后效性

状态向量:x=(x1,x2,x3,…xk)

各个元素分别表示第几次观测时第i个状态的概率

系统的可能状态为k个

p 转移概率矩阵

x(n+1)=x(0)P(n)

3、线性回归

线性回归在因变量和一个或多个自变量之间建立一种关系 a为截距,b表示斜率,然后衡量自变量与因变量的相关程度 较多适用于数据多、计算简单。

其表达形式为:y=w’x+e.其中e为误差服从均值为0的正态分布

最小二乘法:以残差平方和最小确定直线的位置

调用python的sklearn可以实现线性回归算法,训练模型,从而求出截距和斜率



//灰色预测
import numpy as np
import pandas as pd
def ratio(x0):
    n=len(x0)
    ratio=[x0[i]/x0[i+1] for i in range(n-1)]
    print(f"级比:{ratio}")
    min_r=min(ratio)
    max_r=max(ratio)
    r=[np.exp(-2/(n+2)),np.exp(2/(n+2))]
    print(r)
    if min_r >= r[0] and max_r <= r[1]:
        print("级比满足要求")
    else:
        print("级比超过灰色模型预测范围")
    return ratio,r
def predict(x0
  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值