相對重要性

  • 概念

簡單就是說「哪些預測變量對響應變量影響最大」?或者「哪些變對預測最爲重要」git

  • 預測變量不相關

直接計算預測變量與響應變量之間的相關係數,進行排序便可函數

  • 預測變量有相關性
  • 利用比較標準化迴歸係數得出

標準化迴歸係數:在迴歸分析前,用scale()函數將數據標準化爲均值爲0,標準差爲1的數據集,這樣用R迴歸便可獲得標準化的迴歸係數。注意:scale()函數返回的是一個矩陣,而lm()函數要求一個數據框,須要用一箇中間步驟轉換下。code

它表示當其餘預測變量不變時,該預測變量一個標準差的變化可引發的響應變量的預期變化(以標準差單位度量)排序

> states <- as.data.frame(state.x77[,c("Murder", "Population",
+                                      "Illiteracy", "Income", "Frost")])
> zstates <- as.data.frame(scale(states))
> zfit <- lm(Murder~Population + Income + Illiteracy + Frost, data=zstates)
> coef(zfit) #提取模型的係數
  (Intercept)    Population        Income    Illiteracy         Frost 
-2.054026e-16  2.705095e-01  1.072372e-02  6.840496e-01  8.185407e-03 

#能夠看出 Illiteracy最大,Frost最小

 

  • 相對權重方法

一種比較有前景的新方法,它是對全部可能子模型添加一個預測變量引發的R平方平均增長量的一個近似值it

> relweights <- function(fit,...){
+   R <- cor(fit$model)
+   nvar <- ncol(R)
+   rxx <- R[2:nvar, 2:nvar]
+   rxy <- R[2:nvar, 1]
+   svd <- eigen(rxx)
+   evec <- svd$vectors
+   ev <- svd$values
+   delta <- diag(sqrt(ev))
+   lambda <- evec %*% delta %*% t(evec)
+   lambdasq <- lambda ^ 2
+   beta <- solve(lambda) %*% rxy
+   rsquare <- colSums(beta ^ 2)
+   rawwgt <- lambdasq %*% beta ^ 2
+   import <- (rawwgt / rsquare) * 100
+   import <- as.data.frame(import)
+   row.names(import) <- names(fit$model[2:nvar])
+   names(import) <- "Weights"
+   import <- import[order(import),1, drop=FALSE]
+   dotchart(import$Weights, labels=row.names(import),
+            xlab="% of R-Square", pch=19,
+            main="Relative Importance of Predictor Variables",
+            sub=paste("Total R-Square=", round(rsquare, digits=3)),
+            ...)
+   return(import)
+   }

 

  • relweights()函數的應用

也能夠使用這種方法,較爲直觀io

#以下圖
> states <- as.data.frame(state.x77[,c("Murder", "Population",
+                                        "Illiteracy", "Income", "Frost")])
> fit <- lm(Murder ~ Population + Illiteracy + Income + Frost, data=states)
> relweights(fit, col="blue")
             Weights
Income      5.488962
Population 14.723401
Frost      20.787442
Illiteracy 59.000195

從圖中能夠看出各個預測變量對模型方差的解釋程度(R平方=0.567),Illiteracy解釋了59%的R平方。。。根據相對權重Illiteracy具備最大的相對重要性,依次是Frost、Population、Incomeast

相關文章
相關標籤/搜索