數(shù)據(jù)分享|R語言分析上海空氣質(zhì)量指數(shù)數(shù)據(jù):kmean聚類、層次聚類、時(shí)間序列分析:arim
全文鏈接:http://tecdat.cn/?p=30131
最近我們被客戶要求撰寫關(guān)于上??諝赓|(zhì)量指數(shù)的研究報(bào)告。本文向大家介紹R語言對上海PM2.5等空氣質(zhì)量數(shù)據(jù) 間的相關(guān)分析和預(yù)測分析,主要內(nèi)容包括其使用實(shí)例,具有一定的參考價(jià)值,需要的朋友可以參考一下

相關(guān)分析(correlation analysis)是研究現(xiàn)象之間是否存在某種依存關(guān)系,并對具體有依存關(guān)系的現(xiàn)象探討其相關(guān)方向以及相關(guān)程度,是研究隨機(jī)變量之間的相關(guān)關(guān)系的一種統(tǒng)計(jì)方法。分類:
·?????? 線性相關(guān)分析:研究兩個(gè)變量間線性關(guān)系的程度,用相關(guān)系數(shù)r來描述。常用的三種計(jì)算方式有Pearson相關(guān)系數(shù)、Spearman和Kendall相關(guān)系數(shù)。
·?????? 偏相關(guān)分析:當(dāng)兩個(gè)變量同時(shí)與第三個(gè)變量相關(guān)時(shí),將第三個(gè)變量的影響剔除,只分析另外兩個(gè)變量之間相關(guān)程度的過程。如控制年齡和工作經(jīng)驗(yàn)的影響,估計(jì)工資收入與受教育水平之間的相關(guān)關(guān)系。
在變量較多的復(fù)雜情況下,變量之間的偏相關(guān)系數(shù)比簡單相關(guān)系數(shù)更加適合于刻畫變量之間的相關(guān)性。
PM2.5細(xì)顆粒物指環(huán)境空氣中空氣動(dòng)力學(xué)當(dāng)量直徑小于等于2.5微米的顆粒物。它能較長時(shí)間懸浮于空氣中,其在空氣中含量濃度越高,就代表空氣污染越嚴(yán)重。與較粗的大氣顆粒物相比,PM2.5粒徑小,面積大,活性強(qiáng),易附帶有毒、有害物質(zhì)(例如,重金屬、微生物等),且在大氣中的停留時(shí)間長、輸送距離遠(yuǎn),因而對人體健康和大氣環(huán)境質(zhì)量的影響更大。
pydat2=read.csv("上海市_05.csv",header=T)pydat3=read.csv("上海市_06.csv",header=T)
?
head(pydat)
head(pydat2)
?
attach(pydat)
?
plot(pydat[,c(8:10)],
???? col=質(zhì)量等級)#畫出變量相關(guān)圖

???? col=質(zhì)量等級)#畫出變量相關(guān)圖

???? col=質(zhì)量等級)#畫出變量相關(guān)圖

上面的圖中不同顏色代表不同的空氣質(zhì)量地區(qū),從所有變量的兩兩關(guān)系散點(diǎn)圖來看,可以看到pm2.5和pm10的關(guān)系圖可以比較好的區(qū)分出不同空氣質(zhì)量的地區(qū)。并且他們之間存在正相關(guān)關(guān)系。
對數(shù)據(jù)進(jìn)行聚類
plot(hc1,
???? main="層次聚類")
?
??????????? border = "red")

對數(shù)據(jù)進(jìn)行層次聚類后,根據(jù)譜系圖可以發(fā)現(xiàn),所有樣本大概可以分成5個(gè)類別。因此,后續(xù)對數(shù)據(jù)進(jìn)行kmean聚類。
點(diǎn)擊標(biāo)題查閱往期內(nèi)容

R語言空氣污染數(shù)據(jù)的地理空間可視化和分析:顆粒物2.5(PM2.5)和空氣質(zhì)量指數(shù)(AQI)
左右滑動(dòng)查看更多
01

02

03

04

剔除缺失值
?
plot(pydat[,8:12],
???? col =km$cluster,
???? main="聚類結(jié)果1")

???? main="聚類結(jié)果2")

???? main="聚類結(jié)果3")

通過kmeans的可視化結(jié)果來看,kmeans方法比較好的將所有樣本點(diǎn)區(qū)分開來,其中綠色的樣本點(diǎn)各項(xiàng)指標(biāo)值較低,紅色樣本點(diǎn)各項(xiàng)指標(biāo)值較高,藍(lán)色和黑色樣本點(diǎn)主要在O3,NO2 等指標(biāo)上有較明顯的區(qū)別。為了具體比較每個(gè)類的指標(biāo),下面對每個(gè)類的數(shù)據(jù)特征進(jìn)行描述。
#每個(gè)類中的空氣質(zhì)量情況par(mfrow=c(3,4))
?
boxplot(pydat[,8]~pydat[,23])#聚類結(jié)果和pm2.5的關(guān)系?

從上面的箱線圖,可以看到每個(gè)類別的特征,第一類O3值較高,第二個(gè)類PM2.5的值較高,第三個(gè)類pm2.5,NO值較低,第4類O3水平較低,PM10值較高,第五類的各個(gè)指標(biāo)值都相對較低。因此第5個(gè)類別空氣質(zhì)量比較好。其他各個(gè)類別的地區(qū)在不同指標(biāo)上有不同特征。
par(mfrow=c(2,3))hist(as.numeric(pydat[km$cluster==1,6]))
?

再看每個(gè)類中空氣質(zhì)量水平的頻率,可以看到第一個(gè)類的地區(qū)空氣質(zhì)量水平大多在良好水平,第二個(gè)類地區(qū)水平層次不齊,第3個(gè)類空氣質(zhì)量水平在4居多,因此空氣質(zhì)量較差,第4個(gè)類別2,3居多,因此良好,第5個(gè)類大多地區(qū)集中在1-3,因此空氣質(zhì)量最好。
?
?
?
unique(pydat[pydat[,23]==5,4])
? unique(pydat[pydat[,23]==1,4])
?[1]??????????????? 十五廠???????? 虹口?????????? 徐匯上師大???? 楊浦四漂?????? 青浦淀山湖???
?[7] 靜安監(jiān)測站???? 浦東川沙?????? 浦東新區(qū)監(jiān)測站 浦東張江?????
12 Levels:? 虹口 靜安監(jiān)測站 美國領(lǐng)事館 普陀 浦東川沙 浦東新區(qū)監(jiān)測站 浦東張江 ... 楊浦四漂
> unique(pydat[pydat[,23]==2,4])
?[1] 楊浦四漂?????? 浦東新區(qū)監(jiān)測站 徐匯上師大???? 靜安監(jiān)測站???? 青浦淀山湖???? 虹口?????????
?[7] 十五廠???????? 浦東川沙?????? 浦東張江?????? 普陀??????????????? ?????????
12 Levels:? 虹口 靜安監(jiān)測站 美國領(lǐng)事館 普陀 浦東川沙 浦東新區(qū)監(jiān)測站 浦東張江 ... 楊浦四漂
> unique(pydat[pydat[,23]==3,4])
?[1]??????????????? 十五廠???????? 虹口?????????? 徐匯上師大???? 楊浦四漂?????? 青浦淀山湖???
?[7] 靜安監(jiān)測站???? 浦東川沙?????? 浦東新區(qū)監(jiān)測站 浦東張江?????
12 Levels:? 虹口 靜安監(jiān)測站 美國領(lǐng)事館 普陀 浦東川沙 浦東新區(qū)監(jiān)測站 浦東張江 ... 楊浦四漂
> unique(pydat[pydat[,23]==4,4])
?[1] 虹口?????????? 靜安監(jiān)測站???? 十五廠??????????????????????? 浦東新區(qū)監(jiān)測站 浦東張江?????
?[7] 徐匯上師大???? 青浦淀山湖???? 楊浦四漂?????? 浦東川沙?????? 普陀?????????
12 Levels:? 虹口 靜安監(jiān)測站 美國領(lǐng)事館 普陀 浦東川沙 浦東新區(qū)監(jiān)測站 浦東張江 ... 楊浦四漂
> unique(pydat[pydat[,23]==5,4])[1] 普陀?????? 靜安監(jiān)測站
12 Levels:? 虹口 靜安監(jiān)測站 美國領(lǐng)事館 普陀 浦東川沙 浦東新區(qū)監(jiān)測站 浦東張江 ... 楊浦四漂
時(shí)間序列分析
?
###對AQi值進(jìn)行時(shí)間序列分析?
plot.ts(mynx1)
指數(shù)平滑法
plot.ts(train)

plot.ts(mynxSMA3)

plot.ts(mynxSMA10)

對時(shí)間序列進(jìn)行平滑后,可以看到數(shù)據(jù)有較穩(wěn)定的波動(dòng)趨勢。
#畫出原始時(shí)間序列和預(yù)測的plot(mynxforecasts)
mynxforecasts$SSE

得到紅色的擬合數(shù)據(jù)和黑色的原始數(shù)據(jù),可以看到模型擬合較好。
預(yù)測
mynxforecasts2
plot.forecast(mynxforecasts2)lines(mynx1)#原始數(shù)據(jù)預(yù)測對比

使用該模型對數(shù)據(jù)進(jìn)行擬合,可以看到測試集的數(shù)據(jù)基本上再預(yù)測的置信區(qū)間之內(nèi)。
向后預(yù)測90天
mynxforecasts2
plot.forecast(mynxforecasts2)
然后對未來的數(shù)據(jù)進(jìn)行預(yù)測額,可以得到預(yù)測的區(qū)間。
由于后續(xù)預(yù)測的數(shù)值區(qū)間較大,因此我們使用arima模型進(jìn)行擬合,測試效果。
arima模型
plot(pre)#繪制預(yù)測數(shù)據(jù)prev=train-residuals(fit3)#原始數(shù)據(jù)pre$mean#每天的預(yù)測均值lines(prev,col="red")#擬合原始數(shù)據(jù)
同樣得到擬合和預(yù)測的值,紅色代表擬合的樣本點(diǎn),黑色代表原始的樣本點(diǎn),后面的代表預(yù)測的數(shù)據(jù)和置信區(qū)間,可以看到樣本擬合的狀況較好,預(yù)測的區(qū)間比指數(shù)平滑法要精確。
數(shù)據(jù)獲取
在公眾號后臺(tái)回復(fù)“空氣數(shù)據(jù)”,可免費(fèi)獲取完整數(shù)據(jù)。
點(diǎn)擊文末?“閱讀原文”
獲取全文完整代碼數(shù)據(jù)資料。
本文選自《R語言分析上??諝赓|(zhì)量指數(shù)數(shù)據(jù):kmean聚類、層次聚類、時(shí)間序列分析:arima模型、指數(shù)平滑法》。
點(diǎn)擊標(biāo)題查閱往期內(nèi)容
R語言分布滯后非線性模型(DLNM)空氣污染研究溫度對死亡率影響建模應(yīng)用
Python中的ARIMA模型、SARIMA模型和SARIMAX模型對時(shí)間序列預(yù)測
Python用RNN神經(jīng)網(wǎng)絡(luò):LSTM、GRU、回歸和ARIMA對COVID19新冠疫情人數(shù)時(shí)間序列預(yù)測
數(shù)據(jù)分享|PYTHON用ARIMA ,ARIMAX預(yù)測商店商品銷售需求時(shí)間序列數(shù)據(jù)
Python用RNN神經(jīng)網(wǎng)絡(luò):LSTM、GRU、回歸和ARIMA對COVID19新冠疫情人數(shù)時(shí)間序列預(yù)測
【視頻】Python用LSTM長短期記憶神經(jīng)網(wǎng)絡(luò)對不穩(wěn)定降雨量時(shí)間序列進(jìn)行預(yù)測分析|數(shù)據(jù)分享
深度學(xué)習(xí)實(shí)現(xiàn)自編碼器Autoencoder神經(jīng)網(wǎng)絡(luò)異常檢測心電圖ECG時(shí)間序列spss modeler用決策樹神經(jīng)網(wǎng)絡(luò)預(yù)測ST的股票
Python中TensorFlow的長短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)、指數(shù)移動(dòng)平均法預(yù)測股票市場和可視化
RNN循環(huán)神經(jīng)網(wǎng)絡(luò) 、LSTM長短期記憶網(wǎng)絡(luò)實(shí)現(xiàn)時(shí)間序列長期利率預(yù)測
結(jié)合新冠疫情COVID-19股票價(jià)格預(yù)測:ARIMA,KNN和神經(jīng)網(wǎng)絡(luò)時(shí)間序列分析
深度學(xué)習(xí):Keras使用神經(jīng)網(wǎng)絡(luò)進(jìn)行簡單文本分類分析新聞組數(shù)據(jù)
用PyTorch機(jī)器學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)分類預(yù)測銀行客戶流失模型
PYTHON用LSTM長短期記憶神經(jīng)網(wǎng)絡(luò)的參數(shù)優(yōu)化方法預(yù)測時(shí)間序列洗發(fā)水銷售數(shù)據(jù)
Python用Keras神經(jīng)網(wǎng)絡(luò)序列模型回歸擬合預(yù)測、準(zhǔn)確度檢查和結(jié)果可視化
R語言深度學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò) (CNN)對 CIFAR 圖像進(jìn)行分類:訓(xùn)練與結(jié)果評估可視化
深度學(xué)習(xí):Keras使用神經(jīng)網(wǎng)絡(luò)進(jìn)行簡單文本分類分析新聞組數(shù)據(jù)
Python用LSTM長短期記憶神經(jīng)網(wǎng)絡(luò)對不穩(wěn)定降雨量時(shí)間序列進(jìn)行預(yù)測分析
R語言深度學(xué)習(xí)Keras循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)模型預(yù)測多輸出變量時(shí)間序列
R語言KERAS用RNN、雙向RNNS遞歸神經(jīng)網(wǎng)絡(luò)、LSTM分析預(yù)測溫度時(shí)間序列、 IMDB電影評分情感
Python用Keras神經(jīng)網(wǎng)絡(luò)序列模型回歸擬合預(yù)測、準(zhǔn)確度檢查和結(jié)果可視化
Python用LSTM長短期記憶神經(jīng)網(wǎng)絡(luò)對不穩(wěn)定降雨量時(shí)間序列進(jìn)行預(yù)測分析
R語言中的神經(jīng)網(wǎng)絡(luò)預(yù)測時(shí)間序列:多層感知器(MLP)和極限學(xué)習(xí)機(jī)(ELM)數(shù)據(jù)分析報(bào)告
R語言深度學(xué)習(xí):用keras神經(jīng)網(wǎng)絡(luò)回歸模型預(yù)測時(shí)間序列數(shù)據(jù)
Matlab用深度學(xué)習(xí)長短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò)對文本數(shù)據(jù)進(jìn)行分類
R語言KERAS深度學(xué)習(xí)CNN卷積神經(jīng)網(wǎng)絡(luò)分類識別手寫數(shù)字圖像數(shù)據(jù)(MNIST)
MATLAB中用BP神經(jīng)網(wǎng)絡(luò)預(yù)測人體脂肪百分比數(shù)據(jù)
Python中用PyTorch機(jī)器學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)分類預(yù)測銀行客戶流失模型
R語言實(shí)現(xiàn)CNN(卷積神經(jīng)網(wǎng)絡(luò))模型進(jìn)行回歸數(shù)據(jù)分析
SAS使用鳶尾花(iris)數(shù)據(jù)集訓(xùn)練人工神經(jīng)網(wǎng)絡(luò)(ANN)模型
【視頻】R語言實(shí)現(xiàn)CNN(卷積神經(jīng)網(wǎng)絡(luò))模型進(jìn)行回歸數(shù)據(jù)分析
Python使用神經(jīng)網(wǎng)絡(luò)進(jìn)行簡單文本分類
R語言用神經(jīng)網(wǎng)絡(luò)改進(jìn)Nelson-Siegel模型擬合收益率曲線分析
R語言基于遞歸神經(jīng)網(wǎng)絡(luò)RNN的溫度時(shí)間序列預(yù)測
R語言神經(jīng)網(wǎng)絡(luò)模型預(yù)測車輛數(shù)量時(shí)間序列
R語言中的BP神經(jīng)網(wǎng)絡(luò)模型分析學(xué)生成績
matlab使用長短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò)對序列數(shù)據(jù)進(jìn)行分類
R語言實(shí)現(xiàn)擬合神經(jīng)網(wǎng)絡(luò)預(yù)測和結(jié)果可視化
用R語言實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)預(yù)測股票實(shí)例
使用PYTHON中KERAS的LSTM遞歸神經(jīng)網(wǎng)絡(luò)進(jìn)行時(shí)間序列預(yù)測
python用于NLP的seq2seq模型實(shí)例:用Keras實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯
用于NLP的Python:使用Keras的多標(biāo)簽文本LSTM神經(jīng)網(wǎng)絡(luò)分類