日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
時(shí)間序列分解:將時(shí)間序列分解成基本的構(gòu)建塊

大多數(shù)時(shí)間序列可以分解為不同的組件,在本文中,我將討論這些不同的組件是什么,如何獲取它們以及如何使用 Python 進(jìn)行時(shí)間序列分解。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、微信小程序定制開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了臨漳免費(fèi)建站歡迎大家使用!

時(shí)間序列組成

時(shí)間序列是(主要)三個(gè)組成部分的組合:趨勢(shì)、季節(jié)性和殘差/剩余部分。讓我們簡(jiǎn)單的解釋這三個(gè)組成部分

趨勢(shì):這是該序列的整體運(yùn)動(dòng)。它可能會(huì)持續(xù)增加、也可能持續(xù)減少,或者是波動(dòng)的。

季節(jié)性:系列中的任何常規(guī)季節(jié)性模式。比如,夏季冰淇淋的銷(xiāo)量通常高于冬季。

殘差:這是我們考慮到趨勢(shì)和季節(jié)性后剩下的部分。它也可以被認(rèn)為只是統(tǒng)計(jì)噪聲,或者是臨時(shí)性事件的影響,這個(gè)殘差量也有一個(gè)單獨(dú)的周期分量,但它通常被歸入趨勢(shì)分量。

加法模型與乘法模型

這些組件的組合方式取決于時(shí)間序列的性質(zhì)。對(duì)于加法模型:

對(duì)于乘法模型:

其中 Y 是序列,T 是趨勢(shì),S 是季節(jié)性,R 是殘差分量。

當(dāng)序列變化的大小尺度一致的時(shí)候,加法模型是最合適的。而當(dāng)序列的波動(dòng)處于相對(duì)和比例范圍內(nèi)時(shí)乘法模型是比較合適的。

例如,如果夏季冰淇淋的銷(xiāo)量每年高出 1,000 個(gè),則該模型是加法的。如果每年夏天銷(xiāo)售額持續(xù)增長(zhǎng) 20%,但絕對(duì)銷(xiāo)售額在變化,則該模型是乘法的。稍后我們將討論一個(gè)示例,該示例可以使該理論更加具體。

為了計(jì)算和可視化的漸變,可以通過(guò)對(duì)數(shù)變換或Box-Cox變換將乘法模型轉(zhuǎn)換為加法模型:

分解是如何工作的

有多種算法和方法可以將時(shí)間序列分解為三個(gè)分量。以下的經(jīng)典方法,經(jīng)常會(huì)使用并且非常直觀。

  • 使用移動(dòng)/滾動(dòng)平均值計(jì)算趨勢(shì)分量 T。
  • 對(duì)序列進(jìn)行去趨勢(shì)處理,Y-T 用于加法模型,Y/T 用于乘法模型。
  • 通過(guò)取每個(gè)季節(jié)的去趨勢(shì)序列的平均值來(lái)計(jì)算季節(jié)分量 S。
  • 殘差分量 R 的計(jì)算公式為:對(duì)于加法模型R = Y-T-R,對(duì)于乘法模型R = Y/(TR)。

還有其他幾種可用于分解的方法,例如 STL、X11 和 SEATS。這些是方法,是對(duì)經(jīng)典方法的基本方法的補(bǔ)充,并改進(jìn)了它的缺點(diǎn)。如果有想了解這些最新方法的可以留言,我們單開(kāi)一篇文章介紹。

Python中進(jìn)行時(shí)間序列分解

這里讓我們使用1948年至1961年的美國(guó)航空客運(yùn)量數(shù)據(jù)集:

#https://www.kaggle.com/datasets/ashfakyeafi/air-passenger-data-for-time-series-analysis

import plotly.express as px
import pandas as pd

# Read in the data
data = pd.read_csv('AirPassengers.csv', index_col=0)
data.index = pd.to_datetime(data.index)

# Plot the data
fig = px.line(data, x=data.index, y='#Passengers',


fig.update_layout(template="simple_white", fnotallow=dict(size=18),


fig.show()

從圖中我們觀察到趨勢(shì)是增加的,每年也有季節(jié)性。波動(dòng)的大小隨著時(shí)間的推移而增加,因此我們可以說(shuō)這是一個(gè)乘法模型。

statmodels中包含了seasonal_decomposition函數(shù)可以幫我們來(lái)分解時(shí)間序列,并在我們要在調(diào)用函數(shù)時(shí)指定這是一個(gè)“乘法”模型:

from statsmodels.tsa.seasonal import seasonal_decompose
import matplotlib.pyplot as plt

# Plot the decomposition for multiplicative series
data.rename(columns={'#Passengers': 'Multiplicative Decomposition'}, inplace=True)
decomposition_plot_multi = seasonal_decompose(data['Multiplicative Decomposition'],

decomposition_plot_multi.plot()
plt.show()

從上圖中可以看到,該函數(shù)確實(shí)成功地捕獲了這三個(gè)組成部分。

通過(guò)應(yīng)用Scipy的函數(shù)boxcox ,可以使用Box-Cox變換穩(wěn)定方差,這樣可以將序列轉(zhuǎn)換為一個(gè)加法模型:

# Import packages
from statsmodels.tsa.seasonal import seasonal_decompose
import matplotlib.pyplot as plt
from scipy.stats import boxcox

# Apply boxcox to acquire additive model
data['Additive Decomposition'], lam = boxcox(data['#Passengers'])

# Plot the decomposition for additive series
decomposition_plot_add = seasonal_decompose(data['Additive Decomposition'],

decomposition_plot_add.plot()
plt.show()

這個(gè)函數(shù)也很好地捕獲了這三個(gè)組件。但是我們看到殘差在早期和后期具有更高的波動(dòng)性。所以在為這個(gè)時(shí)間序列構(gòu)建預(yù)測(cè)模型時(shí),需要考慮到這一點(diǎn)。

總結(jié)

在這篇文章中,我們展示了如何將時(shí)間序列分解為三個(gè)基本組成部分:趨勢(shì)、季節(jié)性和殘差。這三個(gè)組成部分的組合產(chǎn)生了實(shí)際的時(shí)間序列,它們的組合可以是加性的也可以是乘性的。有幾種更新技術(shù)可以執(zhí)行分解,如STL, SEAL和X11,但是經(jīng)典的方法簡(jiǎn)單并且直觀。最后通過(guò)分解時(shí)間序列有助于建立對(duì)數(shù)據(jù)的理解,從而更容易做出未來(lái)的預(yù)測(cè)。


本文標(biāo)題:時(shí)間序列分解:將時(shí)間序列分解成基本的構(gòu)建塊
文章網(wǎng)址:http://www.5511xx.com/article/dpepdec.html