成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

了解隨機游走模型和移動平均過程(Python)

開發 后端
在本文中,我將介紹兩個能夠對時間序列進行建模的模型:隨機游走和移動平均過程。

在本文中,我將介紹兩個能夠對時間序列進行建模的模型:隨機游走和移動平均過程。

[[326745]]

隨機游走模型

隨機游走模型由以下公式表示:

換句話說,當前時刻t的位置是前一時刻(t-1)的位置與噪聲(用z表示)之和。這里我們假設噪聲是正態分布的(均值為0,方差為1)。

我們從0開始隨機游走,也就是說,任何時間點都是該時間之前所有噪聲的和。數學上表示為:

讓我們在Python中模擬隨機游走。

首先,我們導入所需的Python庫:

  1. from statsmodels.graphics.tsaplots import plot_acf 
  2. from statsmodels.tsa.arima_process import ArmaProcess 
  3. from statsmodels.tsa.stattools import acf 
  4. import matplotlib.pyplot as plt 
  5. import numpy as np 
  6.  
  7. %matplotlib inline 

然后,我們生成一個包含1000個數據點的數據集。起點是0,我們將隨機噪聲添加到上一個點以生成下一個點:

  1. steps = np.random.standard_normal(1000) 
  2. steps[0]=0 
  3. random_walk = np.cumsum(steps) 

繪制數據集的Python代碼如下:

  1. plt.figure(figsize=[10, 7.5]); # Set dimensions for figure 
  2. plt.plot(random_walk) 
  3. plt.title("Simulated Random Walk") 
  4. plt.show() 

模擬隨機游走

你的隨機行走可能與上面的圖不同,因為噪聲是隨機的。

現在,讓我們看看我們的隨機游走的自相關圖(或相關圖):

  1. random_walk_acf_coef = acf(random_walk) 
  2. plot_acf(random_walk, lags=20); 

了解隨機游走模型和移動平均過程(Python)

隨機游走的相關圖

不管你的隨機游走看起來像什么,你都應該得到一個非常相似的相關圖。

現在,一切都指向數據集中的趨勢。我們可以改變這種趨勢嗎?答案是肯定的。

讓我們在Python中進行驗證。

  1. random_walk_diff = np.diff(random_walk, n=1

然后我們繪制結果:

  1. plt.figure(figsize=[10, 7.5]); # Set dimensions for figure 
  2. plt.plot(random_walk_diff) 
  3. plt.title('Noise') 
  4. plt.show() 
了解隨機游走模型和移動平均過程(Python)

如您所見,上面的圖沒有趨勢,也沒有季節性,是一個完全隨機的過程。

查看相關圖的python代碼如下:

  1. plot_acf(random_walk_diff,lags = 20); 
了解隨機游走模型和移動平均過程(Python)

我們看到這是一個純隨機過程的相關圖,其中自相關系數在滯后1處下降。

移動平均過程

我們先來直觀了解一下什么是移動平均過程。

假設你把一塊石頭扔進一個池塘里,你要追蹤水面上一滴水的位置。當石頭撞擊水面時,會形成波紋,所以我們要跟蹤的水滴會上下移動。讓我們假設波紋只持續兩秒鐘,在這兩秒鐘之后,水面就會完全變平。

我們的水滴位置可以表示為:

上面的方程表示,X在t時刻的位置取決于t時刻的噪聲,加上t-1時刻的噪聲(有一定的權重THETA),加上t-2時刻的噪聲(有一定的權值)。

這被稱為二階移動平均過程,可以表示為MA(2)。

通用表示法是MA(q)。在上面的示例中,q = 2。

讓我們在Python中模擬此過程。具體來說,我們將模擬以下過程:

這是一個二階移動平均過程,我們指定了權重。您可以隨意更改權重,并對參數進行試驗。

我們從指定滯后開始,我們用的是2。

  1. ar2 = np.array([2]) 

然后,我們指定權重,權重為[1、0.9、0.3]。

  1. ma2 = np.array([1, 0.9, 0.3]) 

最后,我們模擬該過程并生成1000個數據點:

  1. MA2_process = ArmaProcess(ar2, ma2).generate_sample(nsample=1000

現在,讓我們可視化該過程及其相關圖:

  1. plt.figure(figsize=[10, 7.5]); # Set dimensions for figure 
  2. plt.plot(MA2_process) 
  3. plt.title('Moving Average Process of Order 2') 
  4. plt.show() 
  5.  
  6. plot_acf(MA2_process, lags=20); 
了解隨機游走模型和移動平均過程(Python)

由于噪聲是隨機產生的,因此您的圖形可能與我的不同。但相關圖應與下圖類似:

了解隨機游走模型和移動平均過程(Python)

正如您所注意到的,相關性在滯后2之前是顯著的。這很有意義,因為我們指定了滯后為2。

這意味著您可以使用相關圖來推斷時間序列的滯后。如果您看到滯后q之后相關性并不顯著,那么您可以將時間序列建模為MA(q)過程。

最后

通過本文,您了解了隨機游走是什么以及如何對其進行模擬。此外,您還學習了移動平均過程,并了解了如何對其建模。

 

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2021-09-13 11:59:30

Python股票代碼

2011-03-11 13:47:17

移動開發者

2024-12-09 13:18:56

2011-02-22 18:09:08

Konqueror

2024-05-13 11:25:08

概念模型邏輯模型物理模型

2017-10-13 17:35:30

深度學習移動端機器學習

2011-09-01 10:09:04

2011-08-23 11:03:35

ATM

2010-08-02 14:35:11

Flex Chart

2025-02-07 15:52:07

SQL函數移動平均值

2022-03-08 08:44:13

偏向鎖Java內置鎖

2021-05-17 10:53:32

工信部移動流量5G

2010-11-26 13:47:51

MySQL隨機字符串

2023-07-06 08:00:00

機器學習擴散模型Midjourney

2011-07-18 11:24:18

2018-01-06 10:38:51

Ping抓包 ICMP協議

2014-12-15 10:25:21

移動開發像素設計

2013-12-31 10:32:57

移動閱讀多看閱讀PDF

2021-10-14 10:45:57

云計算SaaSPaaS

2022-02-23 20:20:48

Kubernetes網絡模型
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线一区视频 | 亚洲精品国产一区 | 国产乱码精品一区二区三区五月婷 | 综合久久色 | 国产在线视频在线观看 | 亚洲一区二区在线视频 | 精品日韩一区二区 | 久久久久久久久久毛片 | 国产日韩一区 | 精品中文字幕一区二区三区 | 国产成人一区二区三区电影 | 国产精品片 | 亚洲一区二区三区在线播放 | 日批免费在线观看 | 久久国产亚洲 | 91成人免费看片 | 青青草一区 | 精品成人在线 | 成人国产精品久久 | 一区二区三区视频在线观看 | 免费黄色av| 国产精品久久久久久久久久免费看 | 欧美日韩国产一区二区三区 | 欧美激情亚洲激情 | 九色av | 国产黄色小视频 | 久久国产亚洲 | 亚洲精品68久久久一区 | 亚洲高清在线观看 | 成人欧美一区二区 | 国产精品污污视频 | 亚洲视频欧美视频 | 99在线精品视频 | 国产精品久久久久久久午夜片 | 911网站大全在线观看 | 免费在线视频一区二区 | 亚洲精品免费在线 | 污视频在线免费观看 | 亚洲免费一区二区 | 亚洲欧洲一区 | 亚洲成人网在线观看 |