簡體   English   中英

使用分類預測變量進行回歸的標准化系數:出了點問題

[英]Standardized coefs in regression with a categorical predictor: there's something wrong

據我了解,標准化系數可以用作效果大小的指標(可以使用經驗法則,例如Cohen's 1988)。 我還了解到,標准化系數以標准偏差表示 ,這使它們相對接近Cohen的d。

我還了解,獲取標准化系數的一種方法是預先對數據進行標准化。 另一個方法是使用MuMIn包中的std.coef函數。

使用線性預測變量時,這兩種方法是等效的:

library(tidyverse)
library(MuMIn) # For stds coefs


df <- iris %>% 
  select(Sepal.Length, Sepal.Width) %>% 
  scale() %>% 
  as.data.frame() %>% 
  mutate(Species = iris$Species)


fit <- lm(Sepal.Length ~ Sepal.Width, data=df)
round(coef(fit), 2)
round(MuMIn::std.coef(fit, partial.sd = TRUE), 2)

在這兩種情況下,系數均為-0.12。 我將其解釋為: 對於Sepal.Width的每1標准偏差增加,Sepal.Length減小其SD的0.12

但是,這兩種方法在分類預測器中得出的結果不同

fit <- lm(Sepal.Length ~ Species, data=df)
round(coef(fit), 2)
round(MuMIn::std.coef(fit, partial.sd = TRUE), 2)

相比於setosa(截距),1.12和0.46,其給出對於雲芝的效果。

我應該說什么能說“ 雜色setosa之間的區別是Sepal.Length的SD的……”? 非常感謝

您沒有標准化與Species相關的隱式變量,因此這些系數不會標准化。

您可以這樣做,如下所示:

dummies <- scale(contrasts(df$Species)[df$Species,])
fit <- lm(Sepal.Length ~ dummies, data = df)
round(coef(fit), 2)
#      (Intercept) dummiesversicolor  dummiesvirginica 
#             0.00              0.53              0.90 

如果將partial.sd參數設置為FALSE則這與MuMIn::std.coef的結果一致。

暫無
暫無

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

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