簡體   English   中英

如何基於另一個線性回歸從線性回歸中過濾出行

[英]How can I filter out rows from linear regression based on another linear regression

我想進行一個線性回歸,該回歸將包括三個步驟: 1)在所有數據點上運行回歸2)使用rstandard的絕對rstandard值找出10個離群值3)在新數據上再次運行回歸幀。 我知道如何手動執行操作,但是這些操作很尷尬。 有沒有辦法自動做到這一點? 是否也可以取出列?

這是我的玩具數據框和代碼(我將取出2個離群值):

df <- read.table(text = "userid target birds    wolfs     
                 222       1        9         7 
                 444       1        8         4 
                 234       0        2         8 
                 543       1        2         3 
                 678       1        8         3 
                 987       0        1         2 
                 294       1        7         16 
                 608       0        1         5 
                 123       1        17        7 
                 321       1        8         7 
                 226       0        2         7 
                 556       0        20        3 
                 334       1        6         3 
                 225       0        1         1 
                 999       0        3         11 
                 987       0        30         1  ",header = TRUE) 
model<- lm(target~ birds+ wolfs,data=df)
rstandard <- abs(rstandard(model))
df<-cbind(df,rstandard)
g<-subset(df,rstandard > sort(unique(rstandard),decreasing=T)[3])
g
       userid target birds wolfs rstandard    
    4     543      1     2     3  1.189858    
   13    334      1     6     3  1.122579  

   modelNew<- lm(target~ birds+ wolfs,data=df[-c(4,13),])

我不知道如何在不估計兩個模型的情況下做到這一點,第一個模型確定最有影響力的案例,第二個模型在沒有這些案例的情況下確定數據。 您可以簡化代碼並避免混亂的工作空間,但是,只需一次完成所有工作即可,並且將子集過程嵌入到調用中以估計“最終”模型。 這是為您提供的示例執行此操作的代碼:

model <- lm(target ~ birds + wolfs,
    data = df[-(as.numeric(names(sort(abs(rstandard(lm(target ~ birds + wolfs, data=df))), decreasing=TRUE)))[1:2]),])

在此,初始模型,影響評估以及隨后的數據子集都內置在第一個data =之后的代碼中。

另外,請注意,生成的模型將不同於您的代碼生成的模型。 那是因為您的g不能正確識別兩個最有影響力的情況,如您所見,您只是abs(rstandard(lm(target ~ birds + wolfs, data=df))) 我認為這與您對unique()使用有關,這似乎不必要,但我不確定。

暫無
暫無

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

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