Me gusta mucho el ANOVA respuesta por Stephan Kolassa. Sin embargo, también me gustaría ofrecer una perspectiva ligeramente diferente.
En primer lugar, consideremos la razón por qué usted es la prueba de no linealidad. Si desea probar la hipótesis de mínimos cuadrados ordinarios para estimar el modelo de regresión lineal simple, tenga en cuenta que si desea utilizar el modelo estimado para realizar otras pruebas (por ejemplo, la prueba de si la correlación entre el $X$ $Y$ es estadísticamente significativa), el resultado de la prueba será de un compuesto de la prueba, cuyo Tipo I y error de Tipo II las tasas de no ser la nominal. Esta es una de las múltiples razones por las que, en lugar de que formalmente las pruebas de los supuestos de la regresión lineal, puede que desee utilizar parcelas con el fin de entender si los supuestos son razonables. Otra razón es que las más de las pruebas que realice, más probable es que usted va a obtener un importante resultado de la prueba, incluso si la nula es verdadera (después de todo, la linealidad de la relación entre el $X$ $Y$ no es la única hipótesis del modelo de regresión lineal simple), y estrechamente relacionado con este motivo, el hecho de que la asunción de las pruebas tienen de sí mismos supuestos!
Por ejemplo, después de Stephan Kolassa del ejemplo, vamos a construir un sencillo modelo de regresión:
set.seed(1)
xx <- runif(100)
yy <- xx^2+rnorm(100,0,0.1)
plot(xx,yy)
linear.model <- lm(yy ~ xx)
El plot
función para modelos lineales muestra un host de parcelas cuyo objetivo es exactamente para dar una idea acerca de la validez de los supuestos subyacentes en el modelo lineal y el método de estimación OLS. El propósito de la primera de estas parcelas, los residuales vs equipada parcela, es exactamente para mostrar si hay desviaciones de la hipótesis de una relación lineal entre el predictor $X$ y la respuesta $Y$:
plot(linear.model)
Se puede ver claramente que hay una tendencia cuadrática de los valores ajustados y los residuos, por lo tanto la suposición de que $Y$ es una función lineal de $X$ es cuestionable.
Sin embargo, si se determina que usted es en el uso de un estadístico de prueba para comprobar la suposición de linealidad, a continuación, se enfrenta con el problema de que, como señaló Stephan Kolassa, hay infinitamente muchas formas posibles de la no linealidad, por lo que no es posible concebir una prueba única para todos ellos. Usted necesita decidir sus alternativas y, a continuación, puede probar ellos.
Ahora, si todas las alternativas son polinomios, entonces usted incluso no necesita ANOVA, porque por defecto R
calcula los polinomios ortogonales. Vamos a probar 4 alternativas, es decir, un polinomio lineal, cuadrática uno, uno cúbico y una cuártica. Por supuesto, mirando a la residual vs equipada parcela, no hay evidencia de un mayor de grado 2 modelo aquí. Sin embargo, hemos de incluir el mayor grado modelos para mostrar cómo operar en un caso más general. Necesitamos sólo un ajuste para comparar los cuatro modelos:
quartic.model <- lm(yy ~ poly(xx,4))
summary(quartic.model)
Call:
lm(formula = yy ~ poly(xx, 4))
Residuals:
Min 1Q Median 3Q Max
-0.175678 -0.061429 -0.007403 0.056324 0.264612
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.33729 0.00947 35.617 < 2e-16 ***
poly(xx, 4)1 2.78089 0.09470 29.365 < 2e-16 ***
poly(xx, 4)2 0.64132 0.09470 6.772 1.05e-09 ***
poly(xx, 4)3 0.04490 0.09470 0.474 0.636
poly(xx, 4)4 0.11722 0.09470 1.238 0.219
Como se puede ver, los p-valores para el primer y segundo grado plazo son extremadamente bajos, lo que significa que un ajuste lineal es insuficiente, pero los p-valores para el tercer y cuarto término es mucho más grande, lo que significa que los terceros o de grado superior, los modelos no son justificados. Por lo tanto, se selecciona el segundo grado de modelo. Nota que esto sólo es válido porque R
es apropiado polinomios ortogonales (no intente hacer esto en el momento del montaje raw polinomios!). El resultado habría sido el mismo si se hubiera utilizado el ANOVA. Como cuestión de hecho, las plazas, los de la t-estadísticas de aquí son iguales a los F-estadísticas de la prueba de ANOVA:
linear.model <- lm(yy ~ poly(xx,1))
quadratic.model <- lm(yy ~ poly(xx,2))
cubic.model <- lm(yy ~ poly(xx,3))
anova(linear.model, quadratic.model, cubic.model, quartic.model)
Analysis of Variance Table
Model 1: yy ~ poly(xx, 1)
Model 2: yy ~ poly(xx, 2)
Model 3: yy ~ poly(xx, 3)
Model 4: yy ~ poly(xx, 4)
Res.Df RSS Df Sum of Sq F Pr(>F)
1 98 1.27901
2 97 0.86772 1 0.41129 45.8622 1.049e-09 ***
3 96 0.86570 1 0.00202 0.2248 0.6365
4 95 0.85196 1 0.01374 1.5322 0.2188
Por ejemplo, 6.772^2 = 45.85998, que no es exactamente 45.8622 pero muy cerca, teniendo en cuenta los errores numéricos.
La ventaja de la prueba de ANOVA entra en juego cuando se desea explorar no polinomio modelos, siempre y cuando todos están anidados. Dos o más modelos de $M_1,\dots,M_N$ están anidados si los predictores de $M_i$ son un subconjunto de los predictores de $M_{i+1}$, para cada una de las $i$. Por ejemplo, consideremos un spline cúbico modelo con 1 interior nudo se coloca en la mediana de xx. La interpolación cúbica base incluye lineal, de segundo y de tercer grado, polinomios, por lo tanto el linear.model
, quadratic.model
y cubic.model
son todos los modelos anidados de los siguientes spline.model
:
spline.model <- lm(yy ~ bs(xx,knots = quantile(xx,prob=0.5)))
El quartic.model
no es un modelo anidado de la spline.model
(ni viceversa cierto), así que debemos salir de nuestra prueba de ANOVA:
anova(linear.model, quadratic.model,cubic.model,spline.model)
Analysis of Variance Table
Model 1: yy ~ poly(xx, 1)
Model 2: yy ~ poly(xx, 2)
Model 3: yy ~ poly(xx, 3)
Model 4: yy ~ bs(xx, knots = quantile(xx, prob = 0.5))
Res.Df RSS Df Sum of Sq F Pr(>F)
1 98 1.27901
2 97 0.86772 1 0.41129 46.1651 9.455e-10 ***
3 96 0.86570 1 0.00202 0.2263 0.6354
4 95 0.84637 1 0.01933 2.1699 0.1440
De nuevo, vemos que una ecuación cuadrática ajuste está justificado, pero no tenemos ninguna razón para rechazar la hipótesis de un modelo cuadrático, en favor de un cúbicos o una spline ajuste alternativa.
Por último, si usted desea probar también la no-anidada modelo (por ejemplo, le gustaría probar un modelo lineal, un modelo spline y un modelo no lineal como un Proceso Gaussiano), entonces creo que no hay pruebas de hipótesis para eso. En este caso, su mejor apuesta es la validación cruzada.