【R】【纽约人口数量分析】
文章目錄
- 1)實驗說明
- 2)實驗環境
- 3)實驗目的
- 4)實驗內容
- 5)實驗步驟
- ① 下載并導入數據
- ② 對生成的時間序列對象可視化
- a. 思考
- b. 由上述三種變量查看各個波動趨勢數據
- c. 由上述結果可知:
- ③ 使用 plot()函數
- ④ 修正數據
- 6)實驗分析
- 7)ps
1)實驗說明
從網址(http://robjhyndman.com/tsdldata/data/nybirths.dat)中下載數據到指定位置(D:\),然后解壓到當前文件夾。
導入下載的數據 bank-additional-full.csv 到 R 軟件。
通過時間序列分析方法對 1946 年 1 月到 1959 年 12 月的紐約每月出生人口數量進行時間序列分析,預測紐約每月人口數量的影響因素及相關規律。
2)實驗環境
R-3.6.0
3)實驗目的
① 學會并理解 R 語言中 decompose 函數的使用;
② 理解季節指數預測法分析數據的基本原理過程。
4)實驗內容
① 從網站下載數據,read_csv 函數讀取數據,并用 ts 函數重采樣獲得時間序列對象;
② 使用 R 中的 decompose 函數觀察分析一個時間序列數據的季節、趨勢以及隨機變化這三種波動趨勢,這三種趨勢被存儲在變量 ‘seasonal’,‘trend’ 和 ‘random’ 中;
③ 對數據進行季節修正。用原始數據減去 ‘seasonal’ 變量。
5)實驗步驟
① 下載并導入數據
births<-read.csv("~bank-additional-full.csv") birthstimeseries <- ts(births, frequency=12, start=c(1946,1)) #創建時間序列對象,單位時間內觀測值的頻數為 12,從 1946 年的 1 月份開始。生成時間序列對象,指定 frequency,以及 start。
② 對生成的時間序列對象可視化
plot(birthstimeseries) #畫出生成的時間序列數據的折線圖,得到時間序列曲線
從上圖可以看到:
這個時間序列在一定月份存在季節性變動:在每年的夏天都有一個出生峰值,在冬季的時候進入波谷。同樣,這樣的時間序列也可能是一個相加模型,隨著時間推移,季節性波動是大致穩定的而不是依賴于時間序列水平,且對于時間的變化,隨機波動看起來也是大致穩定的。
a. 思考
紐約每月出生人口數量是在夏季有峰值、冬季有低谷的時間序列,當季節性和隨機變動在整個時間段內看起來基本不變,此模型很有可能是用相加模型來描述。
為了估計時間序列的趨勢性、季節性和不規則部分,使用 decompose 函數分解時間序列
的波動趨勢。
估計出的季節性、趨勢的和不規則部分現在被存儲在變量seasonal,trend 和random 中。
b. 由上述三種變量查看各個波動趨勢數據
birthstimeseriescomponents$seasonal
c. 由上述結果可知:
這里給出了估計出的每年 1-12 月的季節性因素,每年都一樣。季節性因素最大值在七月(約 1.46),最小值在二月(約-2.08),標志著每年的峰值在七月,低谷在二月份。
③ 使用 plot()函數
畫出時間序列中估計的趨勢的、季節性的和不規則的部分,更直觀的觀察結果。
plot(birthstimeseriescomponents) #對生成時間序列數據的趨勢的、季節性和不規則部分可視化。
上圖展現出了原始的時間序列圖(頂部),估計出的趨勢部分圖(第二行),估計出的季節性部分(第三行),估計得不規則部分(底部)。可以看到估計出的趨勢部分從 1947年的 24 下降到 1948 年的 22,緊隨著是一個穩定的增加,直到 1949 年的 27。
④ 修正數據
對紐約每月出生人口數量進行季節性修正,可以用“decompose()”估計季節性部分,也可以把這個部分從原始時間序列中去除。
birthstimeseriescomponents <- decompose(birthstimeseries) birthstimeseriesseasonallyadjusted <- birthstimeseries - birthstimeseriescomponents$seasonal #去除原始時間序列中的季節性 plot(birthstimeseriesseasonallyadjusted) #可視化季節修正后的數據
上圖顯示結果是去除掉季節性變動的修正序列,這個季節性修正后的時間序列現在僅包含趨勢部分和不規則變動部分。可以看出 1947 年-1949 年是人口的下降區,1950 年開始是穩定的增長,與修正數據前的結論一致。
6)實驗分析
一個季節性時間序列包含趨勢部分、季節性部分和不規則部分。分解時間序列是要把時間序列分解成這三個部分,并進行估計。若時間序列是相加模型,在 R 語言中使用 decompose()函數,可以達到估計的目的。通過本次實驗,得出了紐約人口數量分析的相關規律,隨季節性波動,并呈現上升趨勢。也可以將本實驗在其他的數據集上進行相關的時間序列分析。
本實驗主要對時間序列數據進行了季節調整分析,運用 decompose 函數將數據分成趨勢、季節、不規則波動三部分觀察,并進一步對數據進行修正,剔除季節影響,以便更好地揭示數據本身的基本趨勢,發現數據中隱藏的信息。
7)ps
因數據丟失,該實驗暫未復現,暫未精讀
總結
以上是生活随笔為你收集整理的【R】【纽约人口数量分析】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pandas 学习汇总17 - 计算(
- 下一篇: Jmeter获取当前时间、历史时间、未来