Показатели (иначе говоря, «манекены») в линейных моделях интерпретируются как контраст . Когда у вас есть такой показатель, как мужчина = 1 / женщина = 0, индикатор показывает разницу между мужчинами и женщинами. Общий эффект самок захвачен перехватом. Общий эффект для мужчин - это перехват + индикатор.
В вашем случае эффект для женщин составляет 1,28, а для мужчин 1,28 - 0,62 = 0,66.
В Википедии есть поучительная статья (с иллюстрациями).
Редактировать: Я добавил минимальный R
пример для иллюстрация.
Создайте некоторые данные с перехватом 0 и с наклоном 1 (в среднем):
# DF for person 1
df1 = data.frame(c(0.9,1.1,1.9,2.1,2.9,3.1),c(1,1,2,2,3,3),c(0,0,0,0,0,0))
colnames(df1)<-c("y","x","i")
summary(lm(y~x,data=df1))
В результате мы получим результат для лица 1:
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -7.252e-16 1.323e-01 0.00 1
x 1.000e+00 6.124e-02 16.33 8.23e-05 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Теперь сгенерируйте дополнительные данные для человека 2 и объедините оба данных в один DF. У человека 2 то же x
, что и у человека 1, но все y
для человека 2 +1
по сравнению с человеком 1. Таким образом, функция человека 2 имеет другой перехват:
# DF for person 2
df2 = df1
# All y + 1
df2$y = df1$y + 1
# He/she is indicated by i = 1
df2$i = 1
# Combine both DFs
df=rbind(df1,df2)
df
Теперь мы запустить регрессию и выделить человека 2 (против человека 1), добавив переменную i
(индикатор / манекен):
# Regression
mymod = lm(y~x+i,data=df)
summary(mymod)
Вот что мы получаем:
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -7.692e-16 9.428e-02 0.0 1
x 1.000e+00 4.082e-02 24.5 1.51e-09 ***
i 1.000e+00 6.667e-02 15.0 1.13e-07 ***
Показатель i
теперь представляет собой разницу в перехвате человека 2 (по сравнению с человеком 1). Мы можем предсказать модель и график для иллюстрации:
# Prediction and plot
pred = predict(mymod, newdata=df)
plot(df$x[df$i==0], pred[df$i==0],type="l",ylim=c(0,5), xlim=c(1,3), xlab = "x", ylab="y")
lines(df$x[df$i==1], pred[df$i==1], type="l", col="red")
Человек 2 (красная линия) просто получает отдельную "линию" в нашей модели, которая равна +1 по сравнению с человеком 1 (черная линия). Таким образом, в этой модели мы допускаем отдельный перехват для лиц 1 и 2. Однако оба имеют одинаковый наклон (по определению модели). Мы также можем учесть отдельные уклоны, введя термины взаимодействия.
R может обрабатывать факторы (или индикаторы / манекены) без нумерации c кодировка (необходимо указать 1 = TRUE
или 0 = FALSE
, если число c). Вот как факторы рассматриваются в R:
# First see if "i" is numeric in the moment -> TRUE
is.numeric(df$i)
# We can treat "i" as (non-numeric) factor
df$i = as.factor(df$i)
summary(lm(y~x+i,data=df))
# We can also chenge the base level
summary(lm(y~x+relevel(i,ref="0"),data=df)) # just as before
summary(lm(y~x+relevel(i,ref="1"),data=df)) # just reversed since 1 is now the reference category
# note that intercept AND indicator change (not the marginal effect of x on y)