機器學習演算法 基於R語言的多元線性回歸分析

2021-07-11 10:19:36 字數 2476 閱讀 3103

多元線性回歸的適用條件:

(1)自變數對應變數的變化具有顯著影響

(2)自變數與應變數間的線性相關必須是真實的,而非形式上的

(3)自變數之間需有一定的互斥性

(4)應具有完整的統計資料

訓練資料:csv格式,含有19維特徵

步驟一:資料讀取及預處理

從vt.csv檔案中讀取訓練資料,從

rm(list = ls(all=true))

library(car)

library(corrplot, quietly=true)

library(sqldf)

## 資料讀取

folder

# 銷量分3類讀取

name

namepre

path

pathpre

# 訓練集

dataset

# **集

datasetpre

dataselect

datapre

## 訓練集準備

names

names

datatrain

datatarget

步驟二:檢查兩兩變數關係

從結果可以看到,自變數之間存在非常嚴重的共線性,不能直接作為回歸引數輸入

若自變數之間的線性關係超過自變數與因變數之間的線性關係,則回歸模型穩定性收到破壞

步驟三:主成分分析

通過主成分分析,發現使用僅用2個主成分即可解釋96.8%的累積誤差,因此選用  comp1和comp2進行建模

步驟四:多元回歸模型建立

## 主成分擬合多元線性回歸方程

步驟五:模型檢驗(1)擬合程度檢驗

r^2 為0.8905,自變數與應變數之間具有較強的線性關係

(2)估計標準誤差檢驗

rse值為59.48

(3)回歸方程顯著性檢驗(f檢驗)

f檢驗結果為1221,查f分布表,所有自變數與應變數的線性關係密切

(4)回歸係數顯著性檢驗(t檢驗)

可以看到comp1,comp2的p-value均小於0.05,表名這兩個自變數對模型影響顯著

(5)多重共線性檢驗

compsx 

x step(lmp)

可以利用setp函式消除多重共線性影響

步驟六:殘差分析## 殘差分析par(mfrow=c(2,2))

步驟七:模型**及結果輸出

comppre 

coe

tpre

output

pathwrite

write.table(output, file =pathwrite,sep =",",col.names =t,row.names = f)

將**結果寫入tpre.csv檔案中

參考文獻

精通機器學習 基於R(二)

第二章 線性回歸 機器學習基礎技術 2.1單變數回歸 線性回歸必須通過假設檢驗,總結如下 1 線性 變數與響應變數之間的關係是線性的。如果不是線性的要進行資料轉換 對數轉換 多項式轉換 指數轉換等 2 誤差不相關 在時間序列和面板資料中,en betan 1是乙個常見的問題。3 同方差性 誤差是正態...

用R語言DIY機器學習演算法 KNN

knn演算法又稱為k最鄰近演算法 k nearest neighbour 是一種出現較早且原理比較簡單的機器學習演算法。其基本思想就是根據距離待分類資料a最近的k個樣本資料的分類來 a可能屬於的類別。基本的計算步驟如下 knn演算法的優點是原理簡單,易於實現,在多分類問題中能取得較好的結果 缺點是計...

機器學習與R語言 5 規則學習演算法

目錄2.規則學習應用示例 過程 對於每乙個特徵,基於相似的特徵值1r對資料分組,然後對於每個書分組,該演算法的 類為占多數的類。比如動物分類中若以行走途徑為規則錯誤率為2 15,若以是否有皮毛為規則錯誤率為3 15,因此1r演算法基於以行走途徑為規則返回結果。注意 如果分類水平分布很不均勻,規則學習...