R學習筆記(2) SARIMA模型

2021-07-14 08:59:09 字數 1311 閱讀 5074

昨天做完arima的模型,由於對於其中seasonal部分的不理解,外加我的用電負荷模型應該滿足乙個季節特徵,因此得到建議去了解一下sarima模型

先看相關教程:《r語言時間序列分析》

memo:

(1)將資料從文字檔案中讀取 : kings<-scan("adress",skip=n)  其中,adress為檔案位址,skip引數可以略去檔案中前n行的資料,注意資料在文字檔案中的排列必須為一行乙個資料

(2)我們在r中使用ts()函式將資料儲存到乙個時間序列物件中去:kingstimeseries <- ts(kings) 

增加引數設定birthstimeseries <- ts(births, frequency=12, start=c(1946,1)),前式為月度資料,第乙個時間節點為2023年1月

(3)繪製時間序列圖:plot.ts(kingstimeseries)

(4)分解非季節性資料:在r 的"ttr" 包中的sma()函式可以用簡單的移動平均來平滑時間序列資料。作用?

(5)分解季節性資料:我們可以使用r 中"decompose()" 函式來估計。這個函式可以估計出時間序列中趨勢的、季節性的和不規則的部分,而此時間序列須是可以用相加模

型描述的。" decompose()" 這個函式返回的結果是乙個列表物件,裡面包含了估計出的季節性部分,趨勢部分和不規則部分,他們分別對應的列表物件元素名為「seasonal" 、」trend「 、和"random」 。   

birthstimeseriescomponents < - decompose(birthstimeseries)

我們可以輸出季節性部分的估計值:> birthstimeseriescomponents$seasonal #get the estimated values of the seasonal component

(6)使用forecast. holtwinters()返回的樣本內**誤差將被儲存在乙個元素名為"residuals" 的列表變數中。如果**模型不可再被優化,連續**中的**誤差是不相關的。換句話說,如果連續**中的誤差是相關的,很有可能是簡單指數平滑**可以被另一種**技術優化。

(7)arima模型:差分得到平穩時間序列,對於平穩性正式的檢驗對於平穩性正式的檢驗稱作"單位根測試",可以在funitroots 包中得到,可以在cran 中獲得funitroots 包而

執行。acf(kingtimeseriesdiff1, lag.max=20)  # plot a correlogram

acf(kingtimeseriesdiff1, lag.max=20, plot= false) #get the autocorrelation values

機器學習筆記 2 模型評估

訓練資料分層 將總資料集劃分為 訓練集 用來訓練模型,模型的迭代和優化 驗證集 調整超引數,優化模型 用來調參 測試集 不參與訓練流程,監測模型效果 經驗誤差 vs 泛化誤差 經驗誤差 在訓練集上面的誤差 對應訓練集資料 泛化誤差 在 未來 樣本上的誤差 對應測試集資料 問題 驗證集是用來做什麼的?...

R語言筆記之樹模型

本文 於 北美資料科學家的私房課 分類樹 離散型結果的樹 回歸樹 連續型結果的樹 點,根節點,葉節點,節點的度,樹的度,修剪,樹枝 子樹 親節點和子節點。本人烏鴉之作,大家了解分類過程就好,大夥稍安勿躁 其中長相 根節點 點 年齡和經濟狀況 點,小鮮肉所在的那些節點是終節點 葉子節點 長相節點的度為...

R學習筆記02 2021 01 29

2021 1 26整理 資料讀取 read.table name.txt header f t,sep nrows col.names 讀取txt檔案,header 是否把首行當作表頭,sep 分隔符 nrows 最大讀取行數,col.names 列名 header t時col.name將其替換 i...