中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

二級(jí)域名網(wǎng)站怎么投廣告百度seo優(yōu)化規(guī)則

二級(jí)域名網(wǎng)站怎么投廣告,百度seo優(yōu)化規(guī)則,自己做網(wǎng)站導(dǎo)航,域名注冊(cè)好了怎么做網(wǎng)頁(yè)目錄 一、Pmdarima實(shí)現(xiàn)單變量序列預(yù)測(cè)1.1 核心功能與特性1.2 技術(shù)優(yōu)勢(shì)對(duì)比1.3 python案例1.3.1 時(shí)間序列交叉驗(yàn)證1.3.1.1 滾動(dòng)交叉驗(yàn)證1.3.1.2 滑窗交叉驗(yàn)證 時(shí)間序列相關(guān)參考文章: 時(shí)間序列預(yù)測(cè)算法—ARIMA 基于VARMAX模型的多變量時(shí)序數(shù)據(jù)預(yù)測(cè) 基于機(jī)器學(xué)習(xí)時(shí)序庫(kù)…

目錄

  • 一、Pmdarima實(shí)現(xiàn)單變量序列預(yù)測(cè)
    • 1.1 核心功能與特性
    • 1.2 技術(shù)優(yōu)勢(shì)對(duì)比
    • 1.3 python案例
      • 1.3.1 時(shí)間序列交叉驗(yàn)證
        • 1.3.1.1 滾動(dòng)交叉驗(yàn)證
        • 1.3.1.2 滑窗交叉驗(yàn)證

時(shí)間序列相關(guān)參考文章
時(shí)間序列預(yù)測(cè)算法—ARIMA
基于VARMAX模型的多變量時(shí)序數(shù)據(jù)預(yù)測(cè)
基于機(jī)器學(xué)習(xí)時(shí)序庫(kù)pmdarima實(shí)現(xiàn)時(shí)序預(yù)測(cè)
時(shí)間序列預(yù)測(cè)算法—Prophet
時(shí)間序列預(yù)測(cè)算法—LSTM
長(zhǎng)時(shí)間序列預(yù)測(cè)算法—Informer
時(shí)間序列分類任務(wù)—tsfresh
有季節(jié)效應(yīng)的非平穩(wěn)序列分析
python時(shí)間序列處理
時(shí)間序列異常值檢測(cè)方法
時(shí)間序列異常值處理方法

一、Pmdarima實(shí)現(xiàn)單變量序列預(yù)測(cè)

??pmdarima 是 Python 生態(tài)中專注于時(shí)間序列預(yù)測(cè)的高階工具庫(kù),基于 ARIMA/SARIMA 模型框架,能夠處理平穩(wěn)性、季節(jié)性、周期性等問(wèn)題,可以執(zhí)行差分、交叉驗(yàn)證等運(yùn)算,通過(guò)自動(dòng)化建模流程降低時(shí)序分析門檻。其核心設(shè)計(jì)理念為 “自動(dòng)化” 與 “兼容性”,旨在為開(kāi)發(fā)者提供簡(jiǎn)潔、工業(yè)級(jí)的時(shí)序預(yù)測(cè)解決方案。
官方文檔
源碼倉(cāng)庫(kù)

1.1 核心功能與特性

  1. 自動(dòng)化建模引擎
    參數(shù)自動(dòng)搜索:通過(guò) auto_arima() 函數(shù)一鍵完成模型參數(shù)(p, d, q 及季節(jié)性參數(shù) P, D, Q, m)的智能搜索,無(wú)需手動(dòng)調(diào)參。內(nèi)置 ADF檢驗(yàn)(Augmented Dickey-Fuller Test)自動(dòng)確定差分階數(shù) d,解決非平穩(wěn)序列問(wèn)題。
    季節(jié)性處理:支持季節(jié)性差分與傅里葉項(xiàng)分解,自動(dòng)檢測(cè)季節(jié)性周期 m(如月、季度、年周期)。
  2. 工程化接口設(shè)計(jì)
    sklearn 兼容性:遵循 scikit-learn API 規(guī)范(fit()、predict()、score()),無(wú)縫接入機(jī)器學(xué)習(xí)流水線。支持 Pipeline 集成與 GridSearchCV 超參數(shù)優(yōu)化。
    擴(kuò)展功能:模型持久化(pickle 序列化)、置信區(qū)間計(jì)算、殘差診斷(白噪聲檢驗(yàn))。
  3. 性能優(yōu)化
    并行計(jì)算:通過(guò) n_jobs 參數(shù)啟用多核并行加速模型搜索。
    大樣本支持:分塊(Chunking)處理超長(zhǎng)時(shí)序數(shù)據(jù),避免內(nèi)存溢出。

1.2 技術(shù)優(yōu)勢(shì)對(duì)比

特性pmdarima傳統(tǒng) ARIMA 實(shí)現(xiàn)(如 statsmodels)
參數(shù)自動(dòng)化? 全自動(dòng)搜索 (p,d,q,P,D,Q,m)? 需手動(dòng)指定所有參數(shù)
季節(jié)性支持? 內(nèi)置季節(jié)差分與傅里葉分解?? 需手動(dòng)配置季節(jié)差分項(xiàng)
API 易用性? 類 sklearn 接口(fit/predict)?? 需調(diào)用專用函數(shù)(如 ARIMA()
非平穩(wěn)性處理? 自動(dòng)執(zhí)行ADF檢驗(yàn)確定差分階數(shù)d? 需手動(dòng)運(yùn)行平穩(wěn)性檢驗(yàn)
計(jì)算效率? 并行搜索 (n_jobs)、分塊處理? 單線程計(jì)算為主
生產(chǎn)集成? 兼容sklearn流水線與超參數(shù)優(yōu)化?? 需額外封裝才能接入ML系統(tǒng)
模型診斷? 內(nèi)置殘差檢驗(yàn)與置信區(qū)間計(jì)算?? 需調(diào)用其他工具輔助驗(yàn)證

1.3 python案例

??load_wineind 是pmdarima 庫(kù)中經(jīng)典的季節(jié)性時(shí)間序列數(shù)據(jù)集,時(shí)間范圍為1980 年 1 月至 1994 年 8 月(共 176 個(gè)月度觀測(cè)點(diǎn)),反映澳大利亞葡萄酒產(chǎn)業(yè)的月度銷量。

import pmdarima as pm
from pmdarima import model_selection
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.metrics import mean_squared_error
import warnings
warnings.filterwarnings("ignore")data = pm.datasets.load_wineind()
fig = plt.figure(figsize=(16,5))
plt.plot(range(data.shape[0]),data)
plt.grid()

在這里插入圖片描述

#使用pm分割數(shù)據(jù),遵循時(shí)序規(guī)則,不會(huì)打亂時(shí)間順序
train, test = model_selection.train_test_split(data, train_size=152)
#自動(dòng)化建模,只支持SARIMAX混合模型,不支持VARMAX系列模型
arima = pm.auto_arima(train, trace=True, #訓(xùn)練數(shù)據(jù),是否打印訓(xùn)練過(guò)程error_action='ignore', #設(shè)置為'ignore'將會(huì)忽略錯(cuò)誤并繼續(xù),其他選項(xiàng)包括'warn'、'raise'、'trace'等。  suppress_warnings=True, #無(wú)視警告和錯(cuò)誤maxiter=5, #允許的最大迭代次數(shù)seasonal=True,#是否考慮季節(jié)性因素。設(shè)置為True表示模型將包含季節(jié)性成分。m=12 #季節(jié)性的周期數(shù))

在這里插入圖片描述

#預(yù)測(cè) - n_periods向未來(lái)預(yù)測(cè),無(wú)法對(duì)訓(xùn)練的時(shí)間進(jìn)行預(yù)測(cè)
preds = arima.predict(n_periods=test.shape[0])
preds #按照測(cè)試集的日期進(jìn)行預(yù)測(cè)

在這里插入圖片描述

fig = plt.figure(figsize=(16,5))
plt.plot(range(test.shape[0]),test)
plt.plot(range(test.shape[0]),preds)
plt.grid()

在這里插入圖片描述

#評(píng)估指標(biāo) - 可共用sklearn的評(píng)估指標(biāo),也可調(diào)用特定的時(shí)序指標(biāo)AIC
np.sqrt(mean_squared_error(test, preds))  #rmse  輸出:2550.8824550311906
arima.aic() 							  #aic 輸出:2946.1506587987415
arima.summary()

在這里插入圖片描述
??傻瓜式搜索合適的參數(shù),從效率角度來(lái)說(shuō)遠(yuǎn)遠(yuǎn)超過(guò)statsmodel,遺憾的是,從上述代碼不難看出,pmdarima的代碼思路是更靠近機(jī)器學(xué)習(xí)而不是統(tǒng)計(jì)學(xué)的,因此pmd.auto_arima跑出的結(jié)果往往無(wú)法滿足統(tǒng)計(jì)學(xué)上的各類檢驗(yàn)要求,因此泛化能力無(wú)法被保證。同時(shí)我們也很容易發(fā)現(xiàn),由于數(shù)據(jù)集分割的緣故,autoarima選擇出的最佳模型可能無(wú)法被復(fù)現(xiàn),例如我們使用autoarima選擇出的最佳模型建立模型:

model = pm.ARIMA(order=(2,1,1),seasonal_order=(1,0,1,12), max_iter=500)
model.fit(train)
np.sqrt(mean_squared_error(test, model.predict(n_periods = test.shape[0]))) #RMSE:2983.19明顯高于auto_arima:2550.88的結(jié)果
model.aic() #AIC:2936.459卻低于auto_arima:2946.15的結(jié)果,所以AIC并不能作為唯一標(biāo)準(zhǔn)的評(píng)估指標(biāo)fig = plt.figure(figsize=(16,5))
plt.plot(range(test.shape[0]),test)
plt.plot(range(test.shape[0]),model.predict(n_periods = test.shape[0]))
plt.grid()

在這里插入圖片描述

1.3.1 時(shí)間序列交叉驗(yàn)證

??在時(shí)序模型的選擇過(guò)程中,可以借助交叉驗(yàn)證來(lái)幫助我們選擇更好的模型。時(shí)間序列的交叉驗(yàn)證非常特殊,因?yàn)闀r(shí)間序列數(shù)據(jù)必須遵守“過(guò)去預(yù)測(cè)未來(lái)”、“訓(xùn)練中時(shí)間順序不能打亂”等基本原則,因此傳統(tǒng)機(jī)器學(xué)習(xí)中的k折交叉驗(yàn)證肯定無(wú)法使用。在時(shí)間序列的世界中,有以下兩種常見(jiàn)的交叉驗(yàn)證方式:滾動(dòng)交叉驗(yàn)證滑窗交叉驗(yàn)證。

1.3.1.1 滾動(dòng)交叉驗(yàn)證

??滾動(dòng)交叉驗(yàn)證是一種針對(duì)時(shí)間序列數(shù)據(jù)的驗(yàn)證方法,其核心思想是在模型訓(xùn)練過(guò)程中不斷擴(kuò)展訓(xùn)練集,同時(shí)使驗(yàn)證集逐步向未來(lái)推進(jìn)。這種方式不僅確保了模型始終遵循“用過(guò)去預(yù)測(cè)未來(lái)”的原則,還能保證訓(xùn)練數(shù)據(jù)與預(yù)測(cè)目標(biāo)之間的時(shí)間間隔足夠接近,從而提高預(yù)測(cè)的現(xiàn)實(shí)性和有效性。
??相比傳統(tǒng)的“多步預(yù)測(cè)”方法,滾動(dòng)交叉驗(yàn)證避免了“誤差累積”問(wèn)題。由于訓(xùn)練過(guò)程中始終使用真實(shí)標(biāo)簽進(jìn)行擬合,模型不會(huì)受到前期預(yù)測(cè)誤差的傳遞影響,因此能夠更穩(wěn)定地評(píng)估未來(lái)數(shù)據(jù)的預(yù)測(cè)能力。對(duì)于時(shí)間序列任務(wù),滾動(dòng)交叉驗(yàn)證能夠更真實(shí)地模擬未來(lái)預(yù)測(cè)場(chǎng)景,從而提高模型的泛化性能。
在這里插入圖片描述
??在pmdarima中,使用類RollingForecastCVcross_validate來(lái)實(shí)現(xiàn)交叉驗(yàn)證。

model_selection.RollingForecastCV(h=1, step=1, initial=None)

h:驗(yàn)證集中的樣本數(shù)量,可以輸入[1, n_samples]的整數(shù)。

step:訓(xùn)練集中每次增加的樣本數(shù)量,必須為大于等于1的正整數(shù)。

initial:第一次交叉驗(yàn)證時(shí)的訓(xùn)練集樣本量,如果不填寫則按1/3處理。

cv = model_selection.RollingForecastCV(h=1, step=1, initial = 10)
cv_generator = cv.split(data)
next(cv_generator) #根據(jù)Initial初始訓(xùn)練集有10個(gè)樣本,驗(yàn)證集遵循參數(shù)h的設(shè)置,只包含一個(gè)樣本

在這里插入圖片描述

next(cv_generator) #根據(jù)step的設(shè)置,訓(xùn)練集每次增加1個(gè)樣本,驗(yàn)證集繼續(xù)包含一個(gè)樣本

在這里插入圖片描述

cv = model_selection.RollingForecastCV(h=5, step=10, initial = 10)
cv_generator = cv.split(data)
next(cv_generator) #驗(yàn)證集包含10個(gè)樣本

在這里插入圖片描述

next(cv_generator) 

在這里插入圖片描述
??在pmdarima中實(shí)現(xiàn)滾動(dòng)交叉驗(yàn)證時(shí),驗(yàn)證集實(shí)際上是可以重復(fù)的,可以在有限的數(shù)據(jù)上進(jìn)行多輪驗(yàn)證集重合的交叉驗(yàn)證。

model = pm.ARIMA(order=(2,1,1),seasonal_order=(1,0,1,12),max_iter=500)
cv = model_selection.RollingForecastCV(h=24, step=12, initial=36) 
predictions = model_selection.cross_validate(model, data,cv=cv, scoring = "mean_squared_error", verbose = 2, #控制日志輸出的詳細(xì)程度 0:無(wú)輸出1:僅顯示重要信息 2:詳			       細(xì)日志,顯示每次滾動(dòng)交叉驗(yàn)證的進(jìn)度和結(jié)果error_score = "raise") #控制當(dāng)交叉驗(yàn)證過(guò)程中發(fā)生錯(cuò)誤時(shí)的行為:"raise":遇到錯(cuò)誤時(shí)直接報(bào)錯(cuò)np.nan:如果遇到錯(cuò)誤,則該次評(píng)估返回 NaN,不會(huì)影響整個(gè)交叉驗(yàn)證流程
predictions

在這里插入圖片描述

np.sqrt(predictions["test_score"]) #rmse

在這里插入圖片描述
??交叉驗(yàn)證的測(cè)試集中得到的RMSE大部分都大于我們之前自動(dòng)化建模時(shí)得到的RMSE,并且訓(xùn)練數(shù)據(jù)越少時(shí),測(cè)試集上的RMSE會(huì)越大,這可能說(shuō)明在前幾折交叉驗(yàn)證時(shí),訓(xùn)練集的數(shù)據(jù)量太少,我們可以考慮增大initial當(dāng)中的設(shè)置來(lái)避免這個(gè)問(wèn)題。

1.3.1.2 滑窗交叉驗(yàn)證

??與滾動(dòng)交叉驗(yàn)證類似,滑窗交叉驗(yàn)證中的驗(yàn)證集既可以是單一樣本,也可以包含多個(gè)時(shí)間步數(shù)據(jù)。相較于滾動(dòng)交叉驗(yàn)證,滑窗交叉驗(yàn)證的核心優(yōu)勢(shì)在于訓(xùn)練集大小保持恒定, 每次訓(xùn)練時(shí)僅使用理論上對(duì)當(dāng)前驗(yàn)證集最有效的信息。這避免了訓(xùn)練集無(wú)限增長(zhǎng)所帶來(lái)的計(jì)算開(kāi)銷,同時(shí)確保模型始終基于最新的歷史數(shù)據(jù)進(jìn)行訓(xùn)練,提高對(duì)近期趨勢(shì)的適應(yīng)性。然而,這一特性也帶來(lái)了潛在問(wèn)題:由于訓(xùn)練集較小,模型需要進(jìn)行 更多次訓(xùn)練,導(dǎo)致計(jì)算量大幅增加,使得交叉驗(yàn)證過(guò)程異常緩慢。特別是在高頻時(shí)間序列或大規(guī)模數(shù)據(jù)集上,滑窗交叉驗(yàn)證的計(jì)算成本可能成為實(shí)際應(yīng)用中的限制因素。
在這里插入圖片描述
??在pmdarima當(dāng)中,使用SlidingWindowForecastCV來(lái)完成滑窗交叉驗(yàn)證:

model_selection.SlidingWindowForecastCV(h=1, step=1, window_size=None)
h:驗(yàn)證集中的樣本數(shù)量,可以輸入[1, n_samples]的整數(shù)。

step:每次向未來(lái)滑窗的樣本數(shù)量,必須為大于等于1的正整數(shù)。

window_size:滑窗的尺寸大小,如果填寫None則按照樣本量整除5得到的數(shù)來(lái)決定。

cv = model_selection.SlidingWindowForecastCV(h=1, step=1, window_size = 10)
cv_generator = cv.split(data)
next(cv_generator)

在這里插入圖片描述

next(cv_generator) 

在這里插入圖片描述

cv = model_selection.SlidingWindowForecastCV(h=5, step=10, window_size = 10)
cv_generator = cv.split(data)
next(cv_generator)

在這里插入圖片描述

next(cv_generator)

在這里插入圖片描述

model = pm.ARIMA(order=(2,1,1),seasonal_order=(1,0,1,12),max_iter=500)
cv = model_selection.SlidingWindowForecastCV(h=24, step=12, window_size=36) #簡(jiǎn)單粗暴
predictions = model_selection.cross_validate(model,data, cv=cv, scoring = "mean_squared_error", verbose = 2, error_score = "raise")
predictions

在這里插入圖片描述

np.sqrt(predictions["test_score"])

在這里插入圖片描述
??從結(jié)果來(lái)看,使用更少的訓(xùn)練集進(jìn)行訓(xùn)練后,模型輸出的RMSE大幅上升了,并且也沒(méi)有變得更穩(wěn)定,這說(shuō)明當(dāng)前模型下更大的訓(xùn)練集會(huì)更有利于模型的訓(xùn)練。

cv = model_selection.SlidingWindowForecastCV(h=24, step=1, window_size=132)
predictions = model_selection.cross_validate(model, data,cv=cv, scoring = "mean_squared_error", verbose = 2, error_score = "raise")
np.sqrt(predictions["test_score"])                                            

在這里插入圖片描述
??此時(shí)RMSE的均值大幅下降了,但是模型還是不穩(wěn)定,這說(shuō)明當(dāng)前時(shí)間序列各時(shí)間段上的差異較大,當(dāng)前模型的擬合結(jié)果一般。雖然通過(guò)增加訓(xùn)練集的數(shù)據(jù)量可以讓模型表現(xiàn)提升,但極其不穩(wěn)定的結(jié)果展示當(dāng)前模型的泛化能力是缺失的。當(dāng)然,和使用AIC時(shí)一樣,我們只能選擇表現(xiàn)更好的時(shí)序模型(只能擇優(yōu)),而無(wú)法選擇完美的時(shí)序模型。當(dāng)我們將auto_arima選出的最佳參數(shù)放棄、而選擇帶有其他參數(shù)的模型,說(shuō)不定得到的結(jié)果會(huì)更加不穩(wěn)定。

http://www.risenshineclean.com/news/31437.html

相關(guān)文章:

  • 手機(jī)端網(wǎng)站建設(shè)公司經(jīng)典網(wǎng)絡(luò)營(yíng)銷案例
  • 網(wǎng)站如何防止被復(fù)制百度打車客服電話
  • 高端網(wǎng)站設(shè)計(jì)費(fèi)用電商網(wǎng)站建設(shè)公司
  • 深圳做公司網(wǎng)站推廣的廣州seo網(wǎng)站開(kāi)發(fā)
  • 購(gòu)物網(wǎng)站開(kāi)發(fā)實(shí)戰(zhàn)有創(chuàng)意的網(wǎng)絡(luò)營(yíng)銷案例
  • 海創(chuàng)網(wǎng)站建設(shè)電子商務(wù)推廣
  • 揚(yáng)州公司做網(wǎng)站公司手游推廣平臺(tái)代理
  • 奢侈品商城網(wǎng)站建設(shè)方案泰安做網(wǎng)站公司
  • 貴陽(yáng)市網(wǎng)站做的最好的識(shí)別關(guān)鍵詞軟件
  • asp網(wǎng)站亂碼百度推廣在線客服
  • 做文化建設(shè)的網(wǎng)站免費(fèi)做網(wǎng)站怎么做網(wǎng)站鏈接
  • 全球速賣通靠譜嗎seo的關(guān)鍵詞無(wú)需
  • 專業(yè)電商網(wǎng)站建設(shè)百度快照客服
  • 做vr效果圖的網(wǎng)站seo優(yōu)化關(guān)鍵詞
  • 深圳企業(yè)網(wǎng)站制作公司美國(guó)今天剛剛發(fā)生的新聞
  • 價(jià)格優(yōu)化網(wǎng)站建設(shè)百度快速收錄方法
  • 哈爾濱php網(wǎng)站開(kāi)發(fā)公司關(guān)鍵詞優(yōu)化的建議
  • 比優(yōu)化更好的詞是seo教程網(wǎng)站
  • 大連網(wǎng)站制作重慶百度推廣排名
  • 汕尾手機(jī)網(wǎng)站開(kāi)發(fā)一鍵注冊(cè)所有網(wǎng)站
  • psd做成網(wǎng)站電腦培訓(xùn)速成班多少錢
  • 二級(jí)域名是什么洛陽(yáng)網(wǎng)站seo
  • 免費(fèi)行情軟件app網(wǎng)站大全下載免費(fèi)入口資源鏈接搜索引擎
  • 國(guó)外免費(fèi)二級(jí)域名注冊(cè)網(wǎng)站各大搜索引擎提交入口
  • 環(huán)保公司網(wǎng)站模板聯(lián)合早報(bào) 即時(shí)消息
  • wordpress讀音seo的概念
  • 做胃鏡多少錢天津津門網(wǎng)站I南昌百度搜索排名優(yōu)化
  • 電子商務(wù)網(wǎng)站建設(shè)作文編寫網(wǎng)站
  • 背景視頻素材下載免費(fèi)seo搜索優(yōu)化
  • 學(xué)校網(wǎng)站建設(shè)計(jì)入哪個(gè)會(huì)計(jì)科目google chrome download