文/馬若炎 劉子樺
本數(shù)據(jù)來源于?zdemir, AhmetTuran, Billur Barsha三位瑞士研究人員所公布的針對于中國老年人所做的相關(guān)摔倒實驗的具體數(shù)據(jù)。
本數(shù)據(jù)集包含16832條數(shù)據(jù),七個變量值,分別為:ACTIVITY(摔倒次數(shù))、TIME(測試者測試時間)、SL(血糖值)、EEG(EEG檢測時間)、BP(血壓值)、HR(心跳頻率)、CIRCULATION(血液循環(huán)速率)。
因變量處理:針對于數(shù)據(jù)集ACTIVITY和TIME列,在實驗中不同的測試者檢測時間是不同的,而為了保證因變量值數(shù)的統(tǒng)一性,我們運用如下的計算公式進行數(shù)據(jù)統(tǒng)一:
進而進一步得到不同用戶在每一小時內(nèi)摔倒的次數(shù),同時生成新的因變量值列ADJUST_FALL并取代ACTIVITY和TIME值列。
數(shù)據(jù)去噪:由于python進行機器學(xué)習(xí)時是無法識別num值(空值),所以需要再通過fal_data=fal_data.dropna(axis=0)方法去噪。
通過依次畫出HR、SL、BP、CIRCULATION、EEG五個變量對于因變量ADJUST_FALL的殘差圖,我們發(fā)現(xiàn)HR、SL、BP、CIRULATION四個變量均與ADJUST_FALL呈現(xiàn)出反比例函數(shù)的趨勢,同時從形態(tài)上初步可以看出他們之間的關(guān)系可能符合如下式:
EEG變量從形態(tài)上來看可能與因變量ADJUST_FALL之間存在正比例函數(shù)關(guān)系,同時更有可能是值數(shù)函數(shù)關(guān)系,如下所示:
由于明顯存在的正、反比例關(guān)系,可以進一步進行圖形上的線性擬合嘗試,實現(xiàn)方法是運用seaborn庫的sns.pairplot(x=,y=,kind=re g,respect=0.8)命令行,生成相應(yīng)的擬合直線,但是從圖中來看單純的線性回歸很可能并不能做到較佳的擬合,相比而言取過對數(shù)后的變量可能更適合進行線性回歸。
定性的分析之后,雖然數(shù)據(jù)可能存在強相關(guān)性,但仍需要通過相關(guān)性數(shù)值的計算才能夠下定論,數(shù)值計算采用的是簡單相關(guān)系數(shù),在程序中,需調(diào)用的是cor_box = fall_data.corr()方法,生成簡單相關(guān)系數(shù)表。
根據(jù)一般情況:簡單相關(guān)系數(shù)0~0.3呈弱相關(guān)、0.3~0.6呈中等程度相關(guān)、0.6~1呈強相關(guān),由以上數(shù)據(jù)可知,SL、HR、CIRCULATION與因變量ADJUST_FALL呈現(xiàn)強相關(guān)性,BP則與之呈現(xiàn)弱相關(guān)性,而EEG相關(guān)性極弱則可以考慮剔除。
不過從散點圖來看,數(shù)據(jù)間可能存在反比例關(guān)系的可能性,所以可以嘗試將取對數(shù)后再進行變量擬合。
經(jīng)處理后,所有自變量調(diào)整過后于調(diào)整過后的因變量的簡單相關(guān)系數(shù)都有了比較大的提高,除了BP之外其他所有的自變量已經(jīng)達到了強相關(guān)水平,說明取對數(shù)后的自變量和取對數(shù)后的因變量有著極強的線性關(guān)系,后期的多元線性回歸可以按照取對數(shù)后的數(shù)據(jù)進行。
sklearn對一些常用的機器學(xué)習(xí)方法進行了封裝,只需要簡單的調(diào)用sklearn里的模塊就可以實現(xiàn)大多數(shù)機器學(xué)習(xí)任務(wù)。
圖1:預(yù)測集和測試集曲線圖
機器學(xué)習(xí)任務(wù)通常包括分類(Classification)和回歸(Regression),常用的分類器包括SVM、KNN、貝葉斯、線性回歸、邏輯回歸、決策樹、隨機森林、xgboost、GBDT、boosting、神經(jīng)網(wǎng)絡(luò)NN。
第一步:調(diào)用sklearn的LinearRegression()函數(shù)進行多元線性回歸,同時運用fit函數(shù)進行訓(xùn)練,輸出a(截距)、b(系數(shù))。
第二步:輸出測試集所針對的score值針對的測試集,并將score值賦值給y_predict。
第三步:不斷調(diào)整訓(xùn)練集的參數(shù)設(shè)置,使得最終的參數(shù)達到一個合理的值數(shù)。最終調(diào)整過后的train_size為11000。
4.2.1 預(yù)測方程的推導(dǎo)
最終得出的預(yù)測方程是取對數(shù)后的方程,我們還需要將其進行還原得到的自變量和因變量真正意義上的擬合方程:推到公式如下:
(1)得到的原始方程為:y'=k1x1'+k2x2'+k3x3'+k4x4'+b(y'、x1'、x2'、x3'、x4'分別為取過對數(shù)的自變量和因變量)
(2)兩邊同時還原得到:
(3)帶入線性擬合后的相關(guān)參數(shù)k1=-0.579, k2=0.0316, k3=-0.632, k4=0.679, b=4.270得到最終的回歸方程為:
4.2.2 預(yù)測方程的檢驗
采用的是運用ROC二分類曲線檢驗的方式進行擬合函數(shù)診斷檢驗,終的預(yù)測模型已經(jīng)能夠達到較好的反應(yīng)真實值的水平。