白噪聲是時間序列預(yù)測中的一個重要概念。如果一個時間序列是白噪聲,它是一個隨機(jī)數(shù)序列,不能預(yù)測。如果預(yù)測誤差不是白噪聲,它暗示了預(yù)測模型仍有改進(jìn)空間。
創(chuàng)新互聯(lián)專注于浮梁企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計(jì),商城網(wǎng)站建設(shè)。浮梁網(wǎng)站建設(shè)公司,為浮梁等地區(qū)提供建站服務(wù)。全流程按需制作網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
什么是白噪聲時間序列?
時間序列可能是白噪聲。時間序列如果變量是獨(dú)立的且恒等分布的均值為0,那么它是白噪聲。這意味著所有變量具有相同的方差 (sigma^2),并且每個值與該系列中的所有其他值具有零相關(guān)。
如果序列中的變量被高斯分布繪制,則該系列稱為高斯白噪聲。
為什么這么重要?
白噪聲是時間序列分析和預(yù)測中的一個重要的概念。
重要的兩個主要原因?yàn)椋?/p>
1.可預(yù)測性:如果你的時間序列是白噪聲,那么根據(jù)定義它是隨機(jī)的。你無法對它合理的建模并進(jìn)行預(yù)測。
2.模型診斷:時間序列上一系列誤差的預(yù)測模型最好是白噪聲。
模型診斷是時間序列預(yù)測的重要領(lǐng)域。
時間序列數(shù)據(jù)在潛在的因素產(chǎn)生的信號上被預(yù)測,它包含一些白噪聲成分。
例如:
y(t)= signal(t)+ noise(t)
通過時間序列預(yù)測模型進(jìn)行預(yù)測,可以對其進(jìn)行收集和分析。在理想情況下,預(yù)測誤差應(yīng)該是白噪聲。
當(dāng)預(yù)測誤差為白噪聲時,意味著時間序列中的所有信號已全部被模型利用進(jìn)行預(yù)測。剩下的就是無法建模的隨機(jī)波動。
模型預(yù)測的信號不是白噪聲則表明可以進(jìn)一步對預(yù)測模型改進(jìn)。
你的時間序列白噪音嗎?
你的時間序列如果符合下面條件則不是白噪聲:
你的序列均值為零嗎?
方差隨時間變化嗎?
值與延遲值相關(guān)嗎?
你可以用一些工具來檢查你的時間序列是否為白噪音:
創(chuàng)建一個折線圖。檢查總體特征,如變化的平均值,方差或延遲變量之間的明顯關(guān)系。
計(jì)算匯總統(tǒng)計(jì)。對照序列中有意義的連續(xù)塊的均值和方差,檢查整個序列的均值和方差(如年、月、日)。
創(chuàng)建一個自相關(guān)的圖。檢查延遲變量之間的總體相關(guān)性。
白噪聲時間序列的例子
在本節(jié)中,我們將使用Python創(chuàng)建一個高斯白噪聲序列并做一些檢查。它有助于在實(shí)踐中創(chuàng)建和評估白噪聲時間序列。它將提供參考框架和示例圖并且使用和比較自己的時間序列項(xiàng)目的統(tǒng)計(jì)測試,以檢查它們是否為白噪聲
首先,我們可以使用隨機(jī)模塊的gauss()函數(shù)創(chuàng)建一個1,000個隨機(jī)高斯變量的列表。
我們將從高斯分布提取變量:平均值(mu)0.0和標(biāo)準(zhǔn)偏差(sigma)1.0。
一旦創(chuàng)建,為方便起見,我們可以在Pandas序列中打包這個列表。
from randomimport gaussfrom randomimport seedfrom pandasimport Seriesfrom pandas.tools.plottingimport autocorrelation_plot
# seed random number generatorseed(1)# create white noise series
series= [gauss(0.0,1.0)for iin range(1000)]series= Series(series)
接下來,我們可以計(jì)算和打印一些匯總統(tǒng)計(jì)數(shù)據(jù),包含序列的平均值和標(biāo)準(zhǔn)偏差。
# summary statsprint(series.describe())
鑒于我們在繪制隨機(jī)數(shù)時定義了平均值和標(biāo)準(zhǔn)偏差,所以應(yīng)該不會有意外。
count ? 1000.000000mean ? ? ?-0.013222std ? ? ? ?1.003685min ? ? ? ?-2.96121425% ? ? ? ?-0.68419250% ? ? ? ?-0.01093475% ? ? ? ? 0.703915max ? ? ? ? 2.737260
我們可以看到平均值接近0.0,標(biāo)準(zhǔn)偏差接近1.0??紤]到樣本較小預(yù)測會有些誤差。
如果我們有更多的數(shù)據(jù),將序列分成兩半計(jì)算和比較每一半的匯總統(tǒng)計(jì)可能會更有趣。我們認(rèn)為每個子系列的平均值和標(biāo)準(zhǔn)差都會相似。
現(xiàn)在我們可以創(chuàng)建一些序列的線條圖。
# line plot
series.plot()pyplot.show()
我們可以看到,這個序列似乎是隨機(jī)的。
我們還可以創(chuàng)建直方圖,并確認(rèn)分布是高斯分布。
# histogram plot
series.hist()pyplot.show()
事實(shí)上,直方圖顯示了典型的鐘形曲線。
最后,我們可以創(chuàng)建一個自相關(guān)圖并檢查延遲變量的所有自相關(guān)。
# autocorrelationautocorrelation_plot(series)pyplot.show()
自相關(guān)圖沒有顯示任何顯著的自相關(guān)特征。在峰值時可信度達(dá)在95%和99%,但這只是統(tǒng)計(jì)的偶然情況。
為了完整性,下面提供了完整的代碼清單。
from randomimport gaussfrom randomimport seedfrom pandasimport Seriesfrom pandas.tools.plottingimport autocorrelation_plotfrom matplotlibimport pyplot
# seed random number generatorseed(1)# create white noise series
series= [gauss(0.0,1.0)for iin range(1000)]series= Series(series)# summary statsprint(series.describe())# line plot
series.plot()pyplot.show()# histogram plot
series.hist()pyplot.show()# autocorrelationautocorrelation_plot(series)pyplot.show()
原文:網(wǎng)頁鏈接
在python語言中,random函數(shù)生成隨機(jī)數(shù),根據(jù)不同的方法生成不同范圍的隨機(jī)數(shù)。那么random函數(shù)具體怎么使用,操作方法如下。
1、首先在打開的軟件中,random.random():返回一個隨機(jī)數(shù),范圍是0到1之間。
2、random.uniform():在指定范圍內(nèi),生成隨機(jī)數(shù),一個是下限,另一個是上限。
3、random.randint():生成指定范圍內(nèi)的整數(shù),開始數(shù)和結(jié)束數(shù)。
4、最后使用?random.randrange():在指定范圍內(nèi),按指定基數(shù)遞增的集合中獲得一個隨機(jī)數(shù),這樣就完成了。
python中的randint用來生成隨機(jī)數(shù),在使用randint之前,需要調(diào)用random庫。其表達(dá)是為random.randint(x,y),參數(shù)x和y代表生成隨機(jī)數(shù)的區(qū)間范圍。
random() 函數(shù)命名來源于英文單詞random(隨機(jī))。randint是random + integer拼接簡寫而成,代表隨機(jī)一個整數(shù)。
Python標(biāo)準(zhǔn)庫中的random函數(shù),可以生成隨機(jī)浮點(diǎn)數(shù)、整數(shù)、字符串,甚至幫助你隨機(jī)選擇列表序列中的一個元素,打亂一組數(shù)據(jù)等。
函數(shù)randint的使用
1、OUT = RANDINT
產(chǎn)生一個“ 0 ”或“ 1 ”等概率。
2、OUT = RANDINT(M)
生成的M 矩陣的隨機(jī)二進(jìn)制數(shù)字,“ 0 ”和“ 1 ”出現(xiàn)的概率均等。
3、OUT = RANDINT(M,N)
生成的(M,N) 矩陣的隨機(jī)二進(jìn)制數(shù)字,“ 0 ”和“ 1 ”出現(xiàn)的概率均等。
4、OUT = RANDINT(M,N,RANGE)
生成的(M,N) 矩陣的隨機(jī)二進(jìn)制數(shù)字,RANGE范圍可以是標(biāo)量或向量。
標(biāo)量:為正的話,取值為[0,RANGE-1] ,為負(fù)的話,取值為 [RANGE+1, 0]。
向量:取值為[RANGE(1), RANGE(2)]。
5、OUT = RANDINT(M,N,RANGE,STATE)
resets the state of RAND to STATE。
分享標(biāo)題:python隨機(jī)噪聲函數(shù) python 白噪聲
分享地址:http://m.rwnh.cn/article46/doopdhg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、網(wǎng)站導(dǎo)航、網(wǎng)站維護(hù)、域名注冊、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容