欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python如何實(shí)現(xiàn)MK突變檢驗(yàn)方法,代碼復(fù)制修改可用

 更新時(shí)間:2023年05月08日 10:23:10   作者:David_wangzw  
這篇文章主要介紹了python如何實(shí)現(xiàn)MK突變檢驗(yàn)方法,代碼復(fù)制修改可用,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

需求

已知年份和歷年最大凍土深度,計(jì)算最大凍土深度Mk突變檢驗(yàn)。

原理

請?zhí)砑訄D片描述

請?zhí)砑訄D片描述

請?zhí)砑訄D片描述

工具和語言

  • python
  • jupter notebook

代碼過程

定義函數(shù)

def mktest(inputdata):
    import numpy as np
    inputdata = np.array(inputdata)
    n=inputdata.shape[0]
    Sk = np.zeros(n)
    UFk = np.zeros(n)
    r = 0
    for i in range(1,n):
        for j in range(i):
            if inputdata[i] > inputdata[j]:
                r = r+1
        Sk[i] = r
        E = (i+1)*i/4
        Var = (i+1)*i*(2*(i+1)+5)/72
        UFk[i] = (Sk[i] - E)/np.sqrt(Var)
    Sk2 = np.zeros(n)
    UBk = np.zeros(n)
    inputdataT = inputdata[::-1]
    r = 0
    for i in range(1,n):
        for j in range(i):
            if inputdataT[i] > inputdataT[j]:
                r = r+1
        Sk2[i] = r
        E = (i+1)*(i/4)
        Var = (i+1)*i*(2*(i+1)+5)/72
        UBk[i] = -(Sk2[i] - E)/np.sqrt(Var)
    UBk2 = UBk[::-1]
    return UFk, UBk2
定義函數(shù)計(jì)算變量
```python
def mktest(inputdata):
    import numpy as np
    inputdata = np.array(inputdata)
    n=inputdata.shape[0]
    s              =  0
    Sk = np.zeros(n)
    UFk = np.zeros(n)
    for i in range(1,n):
        for j in range(i):
            if inputdata[i] > inputdata[j]:
                s = s+1
            else:
                s = s+0
        Sk[i] = s
        E = (i+1)*(i/4)
        Var = (i+1)*i*(2*(i+1)+5)/72
        UFk[i] = (Sk[i] - E)/np.sqrt(Var)
    Sk2 = np.zeros(n)
    UBk = np.zeros(n)
    s  =  0
    inputdataT = inputdata[::-1]
    for i in range(1,n):
        for j in range(i):
            if inputdataT[i] > inputdataT[j]:
                s = s+1
            else:
                s = s+0
        Sk2[i] = s
        E = (i+1)*(i/4)
        Var = (i+1)*i*(2*(i+1)+5)/72
        UBk[i] = -(Sk2[i] - E)/np.sqrt(Var)
    UBk2 = UBk[::-1]
    return UFk, UBk2

導(dǎo)入變量 ,形成突變檢驗(yàn)圖

import matplotlib.dates as mdates    #處理日期
import matplotlib.pyplot as plt
import numpy as np
from pylab import mpl
from matplotlib.pyplot import MultipleLocator
mpl.rcParams['font.sans-serif'] = ['SimHei'] #防止標(biāo)題出現(xiàn)亂碼。
plt.rcParams['axes.unicode_minus'] = False   #防止出現(xiàn)圖上的負(fù)數(shù)為方框。
# y值和x值   分別輸入六個(gè)站點(diǎn)的最大凍土深度值,將值以列表的方式導(dǎo)入
a = [150,150,114,109,96,95,83,76,109,80,115,80,94,86,133,91,110,116,114,128,172,172,
162,121,175,151,110,92,116,156,134,110,89,97,109,157,153,105,76,87,122,78,97,93,141,162,
123,133,161,128,138,104,133,102,140,109,118,86,126,92,121,149,116]  #這個(gè)部分值可以替換成為要檢驗(yàn)的氣溫、水文等值
x_values=list(range(1961,2022))
uf,ub = mktest(a)
plt.figure(figsize=(8,4))   #圖片的大小
plt.plot(uf,'r',label='UFk')
plt.plot(ub,'b',label='UBk')
plt.xticks([0,5,10,15,20,25,30,35,40,45,50,55,60],['1960','1965','1970','1975','1980','1985','1990','1995','2000','2005','2010','2015','2020',])
#將默認(rèn)的x軸數(shù)值替換為年份的X軸,默認(rèn)是0-61,一共62個(gè)值,代表X軸內(nèi)容。
# 0.01顯著性檢驗(yàn)
plt.legend()
plt.axhline(1.96)
plt.axhline(-1.96)
#設(shè)置圖片的標(biāo)簽(標(biāo)題)
plt.title("富蘊(yùn)點(diǎn)最大凍土深度突變檢驗(yàn)結(jié)果")#x軸上的名字
plt.xlabel("年份(1960年-2022年)")#x軸上的名字
plt.ylabel("突變值波動參數(shù)")#y軸上的名字
plt.grid() #形成網(wǎng)格線輸出
x_major_locator=MultipleLocator(5)
plt.show()

最后成圖以后的樣子。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python 簡單的調(diào)用有道翻譯

    python 簡單的調(diào)用有道翻譯

    這篇文章主要介紹了python 如何簡單的調(diào)用有道翻譯,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-11-11
  • 一文詳解Python中復(fù)合語句的用法

    一文詳解Python中復(fù)合語句的用法

    復(fù)合語句是包含其它語句(語句組)的語句;它們會以某種方式影響或控制所包含其它語句的執(zhí)行。通常,復(fù)合語句會跨越多行,雖然在某些簡單形式下整個(gè)復(fù)合語句也可能包含于一行之內(nèi)。本文就來講講Python中復(fù)合語句的使用
    2022-07-07
  • python 列表刪除所有指定元素的方法

    python 列表刪除所有指定元素的方法

    下面小編就為大家分享一篇python 列表刪除所有指定元素的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python封裝成可帶參數(shù)的EXE安裝包實(shí)例

    Python封裝成可帶參數(shù)的EXE安裝包實(shí)例

    今天小編就為大家分享一篇Python封裝成可帶參數(shù)的EXE安裝包實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 基于Python實(shí)現(xiàn)撲克牌面試題

    基于Python實(shí)現(xiàn)撲克牌面試題

    這篇文章主要介紹了基于Python實(shí)現(xiàn)撲克牌面試題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Django修改app名稱和數(shù)據(jù)表遷移方案實(shí)現(xiàn)

    Django修改app名稱和數(shù)據(jù)表遷移方案實(shí)現(xiàn)

    這篇文章主要介紹了Django修改app名稱和數(shù)據(jù)表遷移方案實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 使用python實(shí)現(xiàn)個(gè)性化詞云的方法

    使用python實(shí)現(xiàn)個(gè)性化詞云的方法

    最近看到可視化的詞云,看到網(wǎng)上也很多這樣的工具,但是都不怎么完美,有些不支持中文,有的中文詞頻統(tǒng)計(jì)得莫名其妙、有的不支持自定義形狀、所有的都不能自定義顏色,于是網(wǎng)上找了一下,決定用python繪制詞云
    2017-06-06
  • python語言線程標(biāo)準(zhǔn)庫threading.local解讀總結(jié)

    python語言線程標(biāo)準(zhǔn)庫threading.local解讀總結(jié)

    在本篇文章里我們給各位整理了一篇關(guān)于python threading.local源碼解讀的相關(guān)文章知識點(diǎn),有需要的朋友們可以學(xué)習(xí)下。
    2019-11-11
  • Python的Tornado?Web框架深入解析

    Python的Tornado?Web框架深入解析

    這篇文章主要為大家介紹了Python的Tornado Web框架的使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • 利用Python實(shí)現(xiàn)批量下載上市公司財(cái)務(wù)報(bào)表

    利用Python實(shí)現(xiàn)批量下載上市公司財(cái)務(wù)報(bào)表

    這篇文章主要為大家介紹了如何利用Python做個(gè)小工具,可以批量把某網(wǎng)站上的上市公司的財(cái)報(bào)下下來。文中的示例代碼講解詳細(xì),感興趣的可以動手試一試
    2022-03-03

最新評論