簡體   English   中英

尋找組成員的最重要變量

[英]Most important variables for finding group membership

我有一個數據集,包含 118 個變量的 8100 個觀察值,用於確定每個受訪者屬於 4 個組中的哪一個。 我感興趣的是哪些變量對於預測組成員資格最重要。 我的數據是序數和二進制的組合。 我最初做了一個判別式 function 分析,但后來讀到這不能很好地處理二進制數據。 接下來我嘗試了多項邏輯回歸。 但是,從這里開始,我正在努力找出哪些變量是最重要的。 我曾嘗試過 r-part 決策樹,但后來我讀到它們不是很穩定,事實上,當我在隨機的一半數據上運行它時,每次都會得到不同的結果。 現在我正在嘗試進行優勢分析。 我可以讓它為線性 model (lm) 工作,但對於多項邏輯回歸和判別式 function 分析,我得到錯誤:

Error in daRawResults(x = x, constants = constants, terms = terms, fit.functions = fit.functions,  : 
  Not implemented method to retrieve data from model

有人對我還能嘗試什么有什么建議嗎? 118 個變量中只有 4 個是二進制的,所以如果需要我可以刪除它們並且仍然會有很好的分析。

這是一個可重現的示例,包括一個更小的示例數據集:

set.seed(1)  ## for reproducibility

remotes::install_github("clbustos/dominanceAnalysis") # If you don't have the dominance analysis package
library(dominanceanalysis)
library(MASS)
library(nnet)

mydata <- data.frame(Segments=sample(1:4, 15, replace=TRUE),
                     var1=sample(1:7, 15, replace=TRUE),
                     var2=sample(1:7, 15, replace=TRUE),
                     var3=sample(1:6, 15, replace=TRUE),
                     var4=sample(1:2, 15, replace=TRUE))

# Show that it works for a linar model
LM<-lm(Segments ~., mydata)
da.LM<-dominanceAnalysis(LM);da.LM
#var1 is the most important, followed by var4

# Try the discriminant function analysis
DFA <- lda(Segments~., data=mydata)
da.DFA <- dominanceAnalysis(DFA)
# Error

# Try multinomial logistic regression
MLR <- multinom(Segments ~ ., data = mydata, maxit=500)
da.MLR <- dominanceAnalysis(MLR)
# Error

我發現了部分答案。

優勢分析 package 只能用於這些模型:普通最小二乘法、廣義線性模型、動態線性模型和分層線性模型。

來源: https://github.com/clbustos/dominanceAnalysis

這就解釋了為什么它對我的數據不起作用——我沒有使用那些模型。

我決定通過使用隨機森林來追求變量選擇的決策樹選項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM