Representación | Modelo |
---|---|
Y ~ 1 |
regresión por el origen, modelo sin efecto. |
Y ~ A |
regresión lineal simple y ANOVA. |
Y ~ A - 1 |
regresión con intercepto en cero. |
Y ~ A + B |
modelo lineal múltiple sin interacción. |
Y ~ A*B |
modelo lineal múltiple con interacción. |
Y ~ A + B + A:B |
idem anterior. |
Y ~ (A + B + C)^2 |
modelo con todas las interacciones de grado 2. |
Y ~ A + B + C + A:B + A:C + B:C |
idem anterior. |
Y ~ A/B |
modelo con B anidado en A. |
Y ~ A + B%in%A |
idem anterior. |
Y ~ A + I(A^2) |
modelo con efecto no lineal. |
fit <- lm(Y ~ A + B + C, data = Datos)
summary(fit)
Call:
lm(formula = Y ~ A + B + C, data = Datos)
Residuals:
Min 1Q Median 3Q Max
-23.11973 -3.91218 -0.00486 3.42803 20.64737
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -27.67413 5.89520 -4.694 7.69e-06 ***
A 0.31502 0.01917 16.430 < 2e-16 ***
B 7.77330 1.44922 5.364 4.49e-07 ***
C -1.25652 0.96565 -1.301 0.196
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 6.084 on 111 degrees of freedom
Multiple R-squared: 0.7634, Adjusted R-squared: 0.757
F-statistic: 119.4 on 3 and 111 DF, p-value: < 2.2e-16
set.seed(123); a <- rnorm(100); b <- a+0.1 + rnorm(100) #simulacion
y <- 0.3*a + 0.3*b + 0.2*a*b + rnorm(100) #simulacion
fit <- lm(y ~ a*b)
anova(fit)
## Analysis of Variance Table
##
## Response: y
## Df Sum Sq Mean Sq F value Pr(>F)
## a 1 17.986 17.9860 20.483 1.725e-05 ***
## b 1 7.577 7.5769 8.629 0.004142 **
## a:b 1 21.291 21.2912 24.247 3.521e-06 ***
## Residuals 96 84.296 0.8781
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Suma de Cuadrados | Descripción | A favor | En contra |
---|---|---|---|
Tipo I | Las variables son añadidas una a una, en el orden indicado en la fórmula. | No subestima la suma de cuadrados total. Preferible en modelos anidados donde hay un orden natural. | Distinto orden de los factores produce distintos resultados. |
set.seed(123); a <- rnorm(100); b <- a+0.1 + rnorm(100) #simulacion
y <- 0.3*a + 0.3*b + 0.2*a*b + rnorm(100) #simulacion
library(car); Anova(fit, type = 2)
## Loading required package: carData
## Anova Table (Type II tests)
##
## Response: y
## Sum Sq Df F value Pr(>F)
## a 1.750 1 1.9932 0.161245
## b 7.577 1 8.6290 0.004142 **
## a:b 21.291 1 24.2473 3.521e-06 ***
## Residuals 84.296 96
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Suma de Cuadrados | Descripción | A favor | En contra |
---|---|---|---|
Tipo II | Cada término es testeado después de introducir todos los otros, excepto las interacciones | Modelo muy usado, especialmente cuando no hay interacciones. El orden no importa. | Es sensible al desbalanceo. |
set.seed(123); a <- rnorm(100); b <- a+0.1 + rnorm(100) #simulacion
y <- 0.3*a + 0.3*b + 0.2*a*b + rnorm(100) #simulacion
library(car); Anova(fit, type = 3)
## Anova Table (Type III tests)
##
## Response: y
## Sum Sq Df F value Pr(>F)
## (Intercept) 0.053 1 0.0602 0.8066804
## a 0.519 1 0.5907 0.4440530
## b 11.072 1 12.6089 0.0005968 ***
## a:b 21.291 1 24.2473 3.521e-06 ***
## Residuals 84.296 96
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Suma de Cuadrados | Descripción | A favor | En contra |
---|---|---|---|
Tipo III | Cada término es testeado después de introducir todos los otros, incluso las interacciones. | No depende del tamaño de las celdas, útil en caso de desbalanceo. | Da la misma importancia a los efectos principales y a las interacciones. |
set.seed(456); A = c(rep(0, 100), rep(1, 100)); B = rep(c(rep(0, 50), rep(1, 50)), 2)
y = 10 + 0.08*A - 0.03*B - 1.8*A*B + rnorm(200, 0, sd=1.8)
datos = data.frame(fat = y, age = as.factor(c(rep("young", 100), rep("old", 100))), breed = as.factor(rep(c(rep("jersey", 50), rep("canadian", 50)), 2)))
model = lm(fat ~ age*breed, data=datos)
library(car)
Anova(model, Type = 2)
## Anova Table (Type II tests)
##
## Response: fat
## Sum Sq Df F value Pr(>F)
## age 77.76 1 24.417 1.659e-06 ***
## breed 45.65 1 14.334 0.0002034 ***
## age:breed 34.36 1 10.790 0.0012089 **
## Residuals 624.22 196
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
set.seed(456); A = c(rep(0, 100), rep(1, 100)); B = rep(c(rep(0, 50), rep(1, 50)), 2)
y = 10 + 0.08*A - 0.03*B - 1.8*A*B + rnorm(200, 0, sd=1.8)
datos = data.frame(fat = y, age = as.factor(c(rep("young", 100), rep("old", 100))), breed = as.factor(rep(c(rep("jersey", 50), rep("canadian", 50)), 2)))
model = lm(fat ~ age*breed, data=datos)
summary(model)
##
## Call:
## lm(formula = fat ~ age * breed, data = datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.2273 -1.3230 -0.0926 1.4443 3.8388
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 8.0627 0.2524 31.946 < 2e-16 ***
## ageyoung 2.0761 0.3569 5.817 2.41e-08 ***
## breedjersey 1.7845 0.3569 5.000 1.27e-06 ***
## ageyoung:breedjersey -1.6580 0.5048 -3.285 0.00121 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.785 on 196 degrees of freedom
## Multiple R-squared: 0.2018, Adjusted R-squared: 0.1895
## F-statistic: 16.51 on 3 and 196 DF, p-value: 1.317e-09
fit <- lm(Y ~ X * Z) # X es un CONTINUA, Z es FACTOR (a,b,c)
summary(fit)
---
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.1078 0.3136 0.344 0.732958
X 0.9714 0.2561 3.793 0.000505 ***
Zb 2.6422 0.4435 5.957 5.94e-07 ***
Zc 0.2278 0.4435 0.514 0.610429
X:Zb -1.5674 0.3622 -4.328 0.000101 ***
X:Zc -0.7103 0.3622 -1.961 0.057013 .
---
\[y = \beta_{0} + \beta_{1}X + \beta_{2}d_{1} + \beta_{3}d_{2} + \beta_{4}Xd_{1} + \beta_{5}Xd_{2} + \epsilon\]
\[y = \beta_{0} + \beta_{1}X + \beta_{2}d_{1} + \beta_{3}d_{2} + \beta_{4}Xd_{1} + \beta_{5}Xd_{2} + \epsilon\]
\[y = \beta_{0} + \beta_{1}X + \beta_{2}d_{1} + \beta_{3}d_{2} + \beta_{4}Xd_{1} + \beta_{5}Xd_{2} + \epsilon\]
fit <- lm(Y ~ X * Z) # X es un CONTINUA, Z es FACTOR (a,b,c)
summary(fit)
---
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.1078 0.3136 0.344 0.732958
X 0.9714 0.2561 3.793 0.000505 ***
Zb 2.6422 0.4435 5.957 5.94e-07 ***
Zc 0.2278 0.4435 0.514 0.610429
X:Zb -1.5674 0.3622 -4.328 0.000101 ***
X:Zc -0.7103 0.3622 -1.961 0.057013 .
---
Según la pregunta de interés se decide la presentación del resultado.