最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python灰色預(yù)測法的具體使用

 更新時間:2022年03月04日 09:32:09   作者:洋洋菜鳥  
灰色系統(tǒng)理論認(rèn)為對既含有已知信息又含有未知或非確定信息的系統(tǒng)進(jìn)行預(yù)測,本文就介紹了python灰色預(yù)測法的具體使用,具有一定的參考價值,感興趣的可以了解一下

1.簡介

        灰色系統(tǒng)理論認(rèn)為對既含有已知信息又含有未知或非確定信息的系統(tǒng)進(jìn)行預(yù)測,就是對在一定方位內(nèi)變化的、與時間有關(guān)的灰色過程的預(yù)測。盡管過程中所顯示的現(xiàn)象是隨機(jī)的、雜亂無章的,但畢竟是有序的、有界的,因此這一數(shù)據(jù)集合具備潛在的規(guī)律,灰色預(yù)測就是利用這種規(guī)律建立灰色模型對灰色系統(tǒng)進(jìn)行預(yù)測。

        灰色預(yù)測通過鑒別系統(tǒng)因素之間發(fā)展趨勢的相異程度,即進(jìn)行關(guān)聯(lián)分析,并對原始數(shù)據(jù)進(jìn)行生成處理來尋找系統(tǒng)變動的規(guī)律,生成有較強(qiáng)規(guī)律性的數(shù)據(jù)序列,然后建立相應(yīng)的微分方程模型,從而預(yù)測事物未來發(fā)展趨勢的狀況。其用等時距觀測到的反應(yīng)預(yù)測對象特征的一系列數(shù)量值構(gòu)造灰色預(yù)測模型,預(yù)測未來某一時刻的特征量,或達(dá)到某一特征量的時間。

2.算法詳解

2.1 生成累加數(shù)據(jù)

2.2  累加后的數(shù)據(jù)表達(dá)式

2.3 求解2.2的未知參數(shù)

3.實(shí)例分析

現(xiàn)有1997—2002年各項(xiàng)指標(biāo)相關(guān)統(tǒng)計數(shù)據(jù)如下表:

年份

第一產(chǎn)業(yè)

GDP

消費(fèi)
價格指數(shù)

第三產(chǎn)業(yè)

GDP

1997

72.03

241.2

1592.74

1998

73.84

241.2

1855.36

1999

74.49

244.8

2129.60

2000

76.68

250.9

2486.86

2001

78.00

250.9

2728.94

2002

79.68

252.2

3038.90

用灰色預(yù)測方法預(yù)測2003—2009年各項(xiàng)指標(biāo)的數(shù)據(jù)。且已知實(shí)際的預(yù)測數(shù)據(jù)如下:將預(yù)測數(shù)據(jù)與實(shí)際數(shù)據(jù)進(jìn)行比較

年份

第一產(chǎn)業(yè)GDP

居民消費(fèi)價格指數(shù)

第三產(chǎn)業(yè)GDP

2003

81.21

256.5

3458.05

2004

82.84

259.4

3900.27

2005

84.5

262.4

4399.06

2006

86.19

265.3

4961.62

2007

87.92

268.3

5596.13

2008

89.69

271.4

6311.79

2009

91.49

274.5

7118.96

3.1 導(dǎo)入數(shù)據(jù)

#原數(shù)據(jù)
data=np.array([[72.03,241.2,1592.74],[73.84,241.2,1855.36],[74.49,244.8,2129.60],[76.68,250.9,2486.86],[78.00,250.9,2728.94],[79.68,252.2,3038.90]])
#要預(yù)測數(shù)據(jù)的真實(shí)值
data_T=np.array([[81.21,256.5,3458.05],[82.84,259.4,3900.27],[84.5,262.4,4399.06],[86.19,265.3,4961.62],[87.92,268.3,5596.1],[89.69,271.4, 6311.79],[91.49,274.5,7118.96]])

返回結(jié)果,請自行打印查看

3.2 進(jìn)行累加數(shù)據(jù)

#累加數(shù)據(jù)
data1=np.cumsum(data.T,1) #按列相加
print(data1)

返回:

 3.3 求解系數(shù)

[m,n]=data1.shape #得到行數(shù)和列數(shù) m=3,n=6
#對這三列分別進(jìn)行預(yù)測
X=[i for i in range(1997,2003)]#已知年份數(shù)據(jù)
X=np.array(X)
X_p=[i for i in range(2003,2010)]#預(yù)測年份數(shù)據(jù)
X_p=np.array(X_p)
X_sta=X[0]-1#最開始參考數(shù)據(jù)
#求解未知數(shù)
for j in range(3):
    B=np.zeros((n-1,2))
    for i in range(n-1):
        B[i,0]=-1/2*(data1[j,i]+data1[j,i+1])
        B[i,1]=1
    Y=data.T[j,1:7]
    a_u=np.dot(np.dot(np.linalg.inv(np.dot(B.T,B)),B.T),Y.T)
    print(a_u)
    #進(jìn)行數(shù)據(jù)預(yù)測
    a=a_u[0]
    u=a_u[1]

返回:

 得到3對 a和u

3.4 預(yù)測數(shù)據(jù)及對比

需在3.3的基礎(chǔ)上進(jìn)行預(yù)測

[m,n]=data1.shape #得到行數(shù)和列數(shù) m=3,n=6
#對這三列分別進(jìn)行預(yù)測
X=[i for i in range(1997,2003)]#已知年份數(shù)據(jù)
X=np.array(X)
X_p=[i for i in range(2003,2010)]#預(yù)測年份數(shù)據(jù)
X_p=np.array(X_p)
X_sta=X[0]-1#最開始參考數(shù)據(jù)
#求解未知數(shù)
for j in range(3):
    B=np.zeros((n-1,2))
    for i in range(n-1):
        B[i,0]=-1/2*(data1[j,i]+data1[j,i+1])
        B[i,1]=1
    Y=data.T[j,1:7]
    a_u=np.dot(np.dot(np.linalg.inv(np.dot(B.T,B)),B.T),Y.T)
#     print(a_u)
    #進(jìn)行數(shù)據(jù)預(yù)測
    a=a_u[0]
    u=a_u[1]
    T=[i for i in range(1997,2010)]
    T=np.array(T)
    data_p=(data1[0,j]-u/a)*np.exp(-a*(T-X_sta-1))+u/a #累加數(shù)據(jù)
#     print(data_p)
    data_p1=data_p
    data_p1[1:len(data_p)]=data_p1[1:len(data_p)]-data_p1[0:len(data_p)-1]
#     print(data_p1)
    title_str=['第一產(chǎn)業(yè)GDP預(yù)測','居民消費(fèi)價格指數(shù)預(yù)測','第三產(chǎn)業(yè)GDP預(yù)測']
    plt.subplot(221+j)
    data_n=data_p1
    plt.scatter(range(1997,2003),data[:,j])
    plt.plot(range(1997,2003),data_n[X-X_sta])
    plt.scatter(range(2003,2010),data_T[:,j])
    plt. plot(range(2003,2010),data_n[X_p-X_sta-1])
#     plt.title(title_str[j])
    plt.legend(['實(shí)際原數(shù)據(jù)','擬合數(shù)據(jù)','預(yù)測參考數(shù)據(jù)','預(yù)測數(shù)據(jù)'])
    y_n=data_n[X_p-X_sta-1].T
    y=data_T[:,j]
    wucha=sum(abs(y_n-y)/y)/len(y)
    titlestr1=[title_str[j],'預(yù)測相對誤差:',wucha]
    plt.title(titlestr1)
    plt.show()

返回:

完整代碼

import numpy as np
import matplotlib.pyplot as plt
import math
 
# 解決圖標(biāo)題中文亂碼問題
import matplotlib as mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']  # 指定默認(rèn)字體
mpl.rcParams['axes.unicode_minus'] = False  # 解決保存圖像是負(fù)號'-'顯示為方塊的問題
 
#原數(shù)據(jù)
data=np.array([[72.03,241.2,1592.74],[73.84,241.2,1855.36],[74.49,244.8,2129.60],[76.68,250.9,2486.86],[78.00,250.9,2728.94],[79.68,252.2,3038.90]])
#要預(yù)測數(shù)據(jù)的真實(shí)值
data_T=np.array([[81.21,256.5,3458.05],[82.84,259.4,3900.27],[84.5,262.4,4399.06],[86.19,265.3,4961.62],[87.92,268.3,5596.1],[89.69,271.4, 6311.79],[91.49,274.5,7118.96]])
 
#累加數(shù)據(jù)
data1=np.cumsum(data.T,1)
print(data1)
 
[m,n]=data1.shape #得到行數(shù)和列數(shù) m=3,n=6
#對這三列分別進(jìn)行預(yù)測
X=[i for i in range(1997,2003)]#已知年份數(shù)據(jù)
X=np.array(X)
X_p=[i for i in range(2003,2010)]#預(yù)測年份數(shù)據(jù)
X_p=np.array(X_p)
X_sta=X[0]-1#最開始參考數(shù)據(jù)
#求解未知數(shù)
for j in range(3):
    B=np.zeros((n-1,2))
    for i in range(n-1):
        B[i,0]=-1/2*(data1[j,i]+data1[j,i+1])
        B[i,1]=1
    Y=data.T[j,1:7]
    a_u=np.dot(np.dot(np.linalg.inv(np.dot(B.T,B)),B.T),Y.T)
#     print(a_u)
    #進(jìn)行數(shù)據(jù)預(yù)測
    a=a_u[0]
    u=a_u[1]
    T=[i for i in range(1997,2010)]
    T=np.array(T)
    data_p=(data1[0,j]-u/a)*np.exp(-a*(T-X_sta-1))+u/a #累加數(shù)據(jù)
#     print(data_p)
    data_p1=data_p
    data_p1[1:len(data_p)]=data_p1[1:len(data_p)]-data_p1[0:len(data_p)-1]
#     print(data_p1)
    title_str=['第一產(chǎn)業(yè)GDP預(yù)測','居民消費(fèi)價格指數(shù)預(yù)測','第三產(chǎn)業(yè)GDP預(yù)測']
    plt.subplot(221+j)
    data_n=data_p1
    plt.scatter(range(1997,2003),data[:,j])
    plt.plot(range(1997,2003),data_n[X-X_sta])
    plt.scatter(range(2003,2010),data_T[:,j])
    plt. plot(range(2003,2010),data_n[X_p-X_sta-1])
#     plt.title(title_str[j])
    plt.legend(['實(shí)際原數(shù)據(jù)','擬合數(shù)據(jù)','預(yù)測參考數(shù)據(jù)','預(yù)測數(shù)據(jù)'])
    y_n=data_n[X_p-X_sta-1].T
    y=data_T[:,j]
    wucha=sum(abs(y_n-y)/y)/len(y)
    titlestr1=[title_str[j],'預(yù)測相對誤差:',wucha]
    plt.title(titlestr1)
    plt.show()

到此這篇關(guān)于python灰色預(yù)測法的具體使用的文章就介紹到這了,更多相關(guān)python灰色預(yù)測法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Selenium Webdriver元素定位的八種常用方式(小結(jié))

    Selenium Webdriver元素定位的八種常用方式(小結(jié))

    這篇文章主要介紹了Selenium Webdriver元素定位的八種常用方式(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • python3中確保枚舉值代碼分析

    python3中確保枚舉值代碼分析

    在本篇文章里小編給大家整理的是一篇關(guān)于python3中確保枚舉值代碼分析內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2020-12-12
  • Python 模塊EasyGui詳細(xì)介紹

    Python 模塊EasyGui詳細(xì)介紹

    這篇文章主要介紹了Python 模塊EasyGui詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • python retrying模塊的使用方法詳解

    python retrying模塊的使用方法詳解

    這篇文章主要介紹了python retrying模塊的使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • Python爬蟲之爬取我愛我家二手房數(shù)據(jù)

    Python爬蟲之爬取我愛我家二手房數(shù)據(jù)

    我愛我家的數(shù)據(jù)相對來說抓取難度不大,基本無反爬措施. 但若按照規(guī)則構(gòu)造頁面鏈接進(jìn)行抓取,會出現(xiàn)部分頁面無法獲取到數(shù)據(jù)的情況.在網(wǎng)上看了幾個博客,基本上都是較為簡單的獲取數(shù)據(jù),未解決這個問題,在實(shí)際應(yīng)用中會出錯,本文有非常詳細(xì)的代碼示例,需要的朋友可以參考下
    2021-05-05
  • Python第三方模塊apscheduler安裝和基本使用

    Python第三方模塊apscheduler安裝和基本使用

    本文主要介紹了Python第三方模塊apscheduler安裝和基本使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • pycharm修改文件的默認(rèn)打開方式的步驟

    pycharm修改文件的默認(rèn)打開方式的步驟

    在本篇文章里小編給大家整理了關(guān)于pycharm修改文件的默認(rèn)打開方式的步驟以及相關(guān)知識點(diǎn),需要的朋友們學(xué)習(xí)下。
    2019-07-07
  • Python缺少庫IPython的解決辦法步驟

    Python缺少庫IPython的解決辦法步驟

    在使用Python編寫程序過程中,有時我們會遇到一些錯誤信息,提示我們當(dāng)前環(huán)境缺少某些依賴庫文件,這篇文章主要給大家介紹了關(guān)于Python缺少庫IPython的解決辦法步驟,需要的朋友可以參考下
    2023-12-12
  • python利用Excel讀取和存儲測試數(shù)據(jù)完成接口自動化教程

    python利用Excel讀取和存儲測試數(shù)據(jù)完成接口自動化教程

    這篇文章主要介紹了python利用Excel讀取和存儲測試數(shù)據(jù)完成接口自動化教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • python tkinter組件使用詳解

    python tkinter組件使用詳解

    這篇文章主要介紹了python tkinter組件使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09

最新評論

闻喜县| 嘉黎县| 梁河县| 成都市| 巫溪县| 鹤庆县| 井冈山市| 呼玛县| 阳朔县| 扎囊县| 涡阳县| 芮城县| 长治县| 二连浩特市| 城步| 中方县| 成武县| 鹿泉市| 阜城县| 右玉县| 民权县| 巴彦淖尔市| 肥乡县| 洪洞县| 榆社县| 平度市| 岳池县| 隆子县| 五莲县| 巢湖市| 三都| 延安市| 永昌县| 望江县| 肇庆市| 北京市| 饶平县| 林周县| 南木林县| 浙江省| 精河县|