x <- c(0, 0.02, 0.05, 0.1, 0.5, 1, 1.5, 2)
y <- c(0.0074, 0.0280, 0.0619, 0.1388, 0.6488, 1.3056, 1.9724, 2.6302)
df <- data.frame(x, y)
fit.lineal <- lm(y ~ x, data = df)
fit.cuadratica <- lm(y ~ x + I(x^2), data = df)Test de Mandel
Revisé tus cálculos y este es el código en R para tu curva de calibración:
Esta es la tabla anova que interesa y que aparece en el documento pdf:
anova(fit.lineal, fit.cuadratica)Analysis of Variance Table
Model 1: y ~ x
Model 2: y ~ x + I(x^2)
Res.Df RSS Df Sum of Sq F Pr(>F)
1 6 0.00026494
2 5 0.00014145 1 0.00012349 4.3653 0.09098 .
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
F.teorico <- qf(0.95, 1, 5) # F.teorico = 6.607891
F.calculado <- 0.00012349 / (0.00014145 / 5) # F.calculado = 4.365En tu ejemplo, el estadístico F = 4,365 se calcula comparando la reducción de la suma de cuadrados de los residuos (\(DS^2\)) al pasar del modelo lineal al cuadrático, respecto de la varianza residual estimada por el modelo cuadrático (\(s^2_{cuadratico}\))
1. Fórmula del estadístico F
Para dos modelos anidados:
\[\boxed{F=\frac{(RSS_L-RSS_C)/(gl_L-gl_C)}{RSS_C/gl_C}}\]
Donde:
- \(RSS_L\): suma de cuadrados de los residuos del modelo lineal.
- \(RSS_C\): suma de cuadrados de los residuos del modelo cuadrático.
- \(gl_L\): grados de libertad residuales del modelo lineal.
- \(gl_C\): grados de libertad residuales del modelo cuadrático.
2. Cálculo con tus datos
Tu tabla ANOVA es aproximadamente:
| Modelo | gl residuales | RSS |
|---|---|---|
| Lineal | 6 | 0,0002649403 |
| Cuadrático | 5 | 0,0001414476 |
| Diferencia | 1 | 0,0001234927 |
Primero calculamos el cuadrado medio correspondiente al término cuadrático añadido:
\[ MS\_{\mathrm{adicional}}= DS^2 = \frac{0.0002649403-0.0001414476}{1} =0.0001234927 \]
Luego, el cuadrado medio del error del modelo cuadrático:
\[ MS_E=\frac{0.0001414476}{5} =0.0000282895 \]
Finalmente:
\[ \boxed{ F=\frac{0.0001234927}{0.0000282895} =4.3653 } \]
3. Cómo calcularlo directamente en R a mano:
RSS_L <- sum(resid(fit.lineal)^2)
RSS_C <- sum(resid(fit.cuadratica)^2)
gl_L <- df.residual(fit.lineal)
gl_C <- df.residual(fit.cuadratica)
F_calculado <- ((RSS_L - RSS_C) / (gl_L - gl_C)) /
(RSS_C / gl_C)
F_calculado[1] 4.365319
# 4.3653194. Interpretación
Las hipótesis del contraste son:
\[ H_0:\beta_2=0 \]
\[ H_1:\beta_2\neq 0 \]
Es decir, contrastamos si incorporar el término cuadrático produce una mejora estadísticamente significativa del ajuste.
F calculado
4,3653
F crítico (α = 0,05)
6,6079
Como \(F_{} < F_{}\), no rechazamos \(H_0\).
El valor p es aproximadamente 0,0910.
Conclusión: con estos datos no existe evidencia estadística suficiente para rechazar la hipótesis nula de linealidad (lo que no quiere decir que el modelo SEA lineal)