阿里云機器學習平臺采用拖拉算法組件拼接實驗的操作方式,先來看下整個實驗流程:
我們把整個實驗拆解成四個部分,分別是數據導入及預處理、統(tǒng)計分析、隨機森林預測及分析、邏輯回歸預測及分析。下面我們分別介紹一下這四個模塊的邏輯。
1.數據導入及預處理
(1)數據導入:在“數據源”中選擇“新建表”,可以把本地txt文件上傳。數據導入后查看:
(2)數據預處理:通過類型轉換把string型的數據轉double。把pm2這一列作為目標列,數值超過200的情況作為重度霧霾天氣打標為1,低于200標為0,實現的SQL語句如下:
select time,hour,(case when pm2>200 then 1 else 0 end),pm10,so2,co,no2 from ${t1};
(3)歸一化
歸一化主要是去除量綱的作用,把不同指標的污染物單位統(tǒng)一。
我們在統(tǒng)計分析的模塊用了兩個組件:
(1)直方圖:通過直方圖可以可視化的查看不同數據在不同區(qū)間下的分布。通過這組數據的可視化展現,我們可以了解到每一個字段數據的分布情況,以PM2.5為例,數值區(qū)間出現最多的是11.74~15.61,一共出現了430次。
(2)數據視圖:通過數據視圖可以查看不同指標的不同區(qū)間對于結果的影響。
以二氧化氮為例,在112.33~113.9這個區(qū)間產生了7個目標列為0的目標,產生了9個目標列為1的目標。也就是說當二氧化氮為112.33~113.9區(qū)間的情況下,出現重度霧霾的天氣的概率是非常大的。熵和基尼系數是表示這個特征區(qū)間對于目標值的影響,數值越大影響越大,這個是從信息量層面的影響。
3.隨機森林預測及分析
本案其實是采用了兩種不同的算法對于結果進行預測,我們先來看看隨機森林這一分支。我們通過將數據集拆分,百分之八十的數據訓練模型,百分之二十的數據預測。最終模型的呈現可以可視化的顯示出來,在左邊模型菜單下查看,隨機森林是樹狀模型。
我們看到AUC是0.99,也就是說如果我們有了本文用到的天氣指標數據,就可以預測天氣是否霧霾,而且準確率可以達到百分之九十以上。
4.邏輯回歸預測及分析
再來看下邏輯回歸這一分支的預測模型,邏輯回歸是線性模型:
模型預測準確率:
邏輯回歸的AUC為0.98,比用隨機森林計算得到的結果略低一點。如果排除調參對于結果的影響因素,可以說明針對這個數據集,隨機森林的訓練效果會更好一點。
結果評估
上面介紹了如何通過搭建實驗來搭建針對PM2.5的預測流程,準確率達到百分之九十以上。下面我們來分析一下哪種空氣指標對于PM2.5影響最大,首先來看下邏輯回歸的生成模型:
因為經過歸一化計算的邏輯回歸算法有這樣的特點,模型系數越大表示對于結果的影響越大,系數符號為正號表示正相關,負號表示負相關。我們看一下正號系數里pm10和二氧化氮最大。pm10和pm2只是顆粒尺寸大小不同,是一個包含關系,這里不考慮。剩下的二氧化氮對于pm2.5的影響最大。我們只要查閱一下相關文檔,了解下哪些因素會造成二氧化氮的大量排放即可找出影響pm2.5的主要因素。
以下是網上是找到的關于二氧化氮排放的論述,文中說明了二氧化氮主要來自電廠和汽車尾氣:《減少二氧化氮與氨或是抑制中國霧霾形成的關鍵》