Je me demande s'il existe un moyen pour inclure des termes d'erreur pour un modèle de régression linéaire commecomprennent des termes d'erreur au modèle de régression linéaire avec R
r = lm (y ~ x1 + x2)?
Je me demande s'il existe un moyen pour inclure des termes d'erreur pour un modèle de régression linéaire commecomprennent des termes d'erreur au modèle de régression linéaire avec R
r = lm (y ~ x1 + x2)?
Le code r = lm(y ~ x1+x2)
signifie que nous modélisons y comme une fonction linéaire de x1 et x2. Puisque le modèle ne sera pas parfait, il y aura un terme résiduel (c.-à-d. Le reste que le modèle n'a pas réussi à ajuster).
En mathématiques, comme Rob Hyndman a noté dans les commentaires, y = a + b1*x1 + b2*x2 + e
, où a
, b1
et b2
sont constantes et e
est votre résiduel (qui est supposé être normalement distribués).
Pour regarder un exemple concret, tenez compte des données de l'iris qui vient avec R.
model1 <- lm(Sepal.Length ~ Sepal.Width + Petal.Length + Petal.Width, data=iris)
Maintenant, nous pouvons extraire les constantes du modèle (équivalent à a
, b1
, b2
et dans ce cas b3
trop).
> coefficients(model1)
(Intercept) Sepal.Width Petal.Length Petal.Width
1.8559975 0.6508372 0.7091320 -0.5564827
Les résidus ont été calculés pour chaque ligne de données utilisée dans le modèle.
> residuals(model1)
1 2 3 4 5
0.0845842387 0.2100028184 -0.0492514176 -0.2259940935 -0.0804994772
# etc. There are 150 residuals and 150 rows in the iris dataset.
(EDIT: Cut information sommaire ne pas Relevent.)
EDIT:
La valeur Error
que vous mentionnez dans vos commentaires expliqué sur la page d'aide à AOV .
If the formula contains a single ‘Error’ term, this is used to
specify error strata, and appropriate models are fitted within
each error stratum.
Comparez ce qui suit (Adaptée de la page ?aov
.)
> utils::data(npk, package="MASS")
> aov(yield ~ N*P*K, npk)
Call:
aov(formula = yield ~ N * P * K, data = npk)
Terms:
N P K N:P N:K P:K N:P:K Residuals
Sum of Squares 189.2817 8.4017 95.2017 21.2817 33.1350 0.4817 37.0017 491.5800
Deg. of Freedom 1 1 1 1 1 1 1 16
Residual standard error: 5.542901
Estimated effects may be unbalanced
> aov(yield ~ N*P*K + Error(block), npk)
Call:
aov(formula = yield ~ N * P * K + Error(block), data = npk)
Grand Mean: 54.875
Stratum 1: block
Terms:
N:P:K Residuals
Sum of Squares 37.00167 306.29333
Deg. of Freedom 1 4
Residual standard error: 8.750619
Estimated effects are balanced
Stratum 2: Within
Terms:
N P K N:P N:K P:K Residuals
Sum of Squares 189.28167 8.40167 95.20167 21.28167 33.13500 0.48167 185.28667
Deg. of Freedom 1 1 1 1 1 1 12
Residual standard error: 3.929447
1 out of 7 effects not estimable
Estimated effects may be unbalanced
Hey Richie, cela semble intéressant. Donc je pensais que je peux essayer cela dans R: > v = aov (rendement ~ N * P * K, npk) > v2 = aov (rendement ~ N * P * K + erreur (bloc), npk) > coefficients (v) > coefficients (v2) De quel type de régression s'agit-il? Et quels sont les coefficients tels que N1: P1 et N1: P1: K1? – phpdash
@phpdash: Ceci est parfois connu comme ANOVA split-plot. Il y a un exemple étape-par-étape dans l'informatique statistique par Michael Crawley. http://books.google.com/books?id=OlPUa6lVeb0C&pg=PA345# –
Que voulez-vous dire par des termes d'erreur? Votre code s'adaptera au modèle linéaire suivant: y = a + b1 * x1 + b2 * x2 + e où e est l'erreur. –
Donc le modèle inclut déjà les termes d'erreur? Mais j'ai vu cela aussi: y ~ A * B + Erreur (C) – phpdash