Académique Documents
Professionnel Documents
Culture Documents
R Cours7
R Cours7
yi = axi + b + ε i , i = 1,...,30.
où εi est une suite de variables aléatoires i.i.d. de moyenne nulle et de varianceσ ²
>x=1:100; X=sample(x,30,replace=TRUE)
>Y=3+7*X+rnorm(30,0,100)
>regression=lm(Y~X); regression
Call:
lm(formula = Y ~ X)
Coefficients:
(Intercept) X
-30.26 7.42
Le modèle de régression linéaire simple
> plot(X,Y)
>text(40,600, substitute(y==a*x+b, list(a=regression$coef[2],
b=regression$coef[1])))
> lines(X,regression$fitted.values)
> M=locator(); v=locator()
> segments(0,M$y,M$x,M$y)
> arrows(M$x,M$y,M$x,v$y,angle=30, code=3)
> segments(M$x,v$y,0,v$y,lty=2)
> text(0,350, "yi",col="red")
> text(0,200, "^yi",col="red")
> text(25,250, "ei",col="red")
> title("nuage de points et droite de regression")
Le modèle de régression linéaire simple
Le modèle de régression linéaire simple
> names(regression)
[1] "coefficients" "residuals" "effects" "rank"
[5] "fitted.values" "assign" "qr" "df.residual"
[9] "xlevels" "call" "terms" "model«
> anova(regression)
Analysis of Variance Table F=MSM/MSR
SSM
Response: Y
SSR
Df Sum Sq Mean Sq F value Pr(>F)
X 1 1485466 1485466 159.83 4.312e-13 ***
Residuals 28 260238 9294 MSM=SSM/dl=SSM
--- n-2 MSR=SSR/dl=SSR/n-2
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Le modèle de régression linéaire simple
â
>summary(regression)
Call:
lm(formula = Y ~ X)
^b
Residuals:
Min 1Q Median 3Q Max s(^b)
-206.89 -76.47 12.28 61.42 192.04
s(â)
Coefficients: tb=^b/s(^b)
Estimate Std. Error t value Pr(>|t|)
(Intercept) -30.2553 34.3536 -0.881 0.386
X 7.4199 0.5869 12.642 4.31e-13 *** ta=â/s(â)
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 S=sqrt(MSR)
Fonctions R utiles:
- influence(): étude des points contribuant à l’instabilité du modèle
(prédiction).
- residuals() e ei
rei = i =
- rstudent() : résidus réduits s (ei ) s (1 − hii )
- acf() : graphe d’autocorrelation des résidus
- plot()
- qqnorm()
Le modèle de régression linéaire simple
> regression$res
1 2 3 4 5 6
-124.555774 192.039037 -206.889677 66.405930 134.778691 84.971904
7 8 9 10 11 12
62.303811 49.992064 58.754097 -59.526887 -122.429844 164.829565
13 14 15 16 17 18
-32.171872 66.230754 14.259927 -85.047904 -10.456005 -85.910834
19 20 21 22 23 24
-25.642668 -90.246235 50.526061 40.156580 -54.350556 10.292678
25 26 27 28 29 30
1.090471 94.392800 29.988159 20.679500 -162.341983 -82.121786
Le modèle de régression linéaire simple
> rstudent(regression)
1 2 3 4 5 6
-1.33891051 2.18030419 -2.35658586 0.69563804 1.44970973 0.90378230
7 8 9 10 11 12
0.67206553 0.54684103 0.61362322 -0.63902844 -1.37190197 1.80811221
13 14 15 16 17 18
-0.33693306 0.72519680 0.14970613 -0.92811721 -0.11319206 -0.91236104
19 20 21 22 23 24
-0.27792699 -0.96174524 0.53172811 0.43253471 -0.58014349 0.10726922
25 26 27 28 29 30
0.01142126 1.03392757 0.31123595 0.21446494 -1.79851278 -0.86589500
Le modèle de régression linéaire simple
> par(mfrow=c(1,2))
> plot(regression$residuals)
> acf(regression$res)
Le modèle de régression linéaire simple
• Les conséquences d’une variance non constante sont: Les estimations ne sont pas
bonnes il faut utiliser les moindres carrés pondérés.
Le modèle de régression linéaire simple
Residuals:
Le terme constant n’est
Min 1Q Median 3Q Max
pas significativement
-206.89 -76.47 12.28 61.42 192.04
different de zero: on peut
Coefficients:
decider de refaire tourner
Estimate Std. Error t value Pr(>|t|)
le modèle sans lui
(Intercept) -30.2553 34.3536 -0.881 0.386
X 7.4199 0.5869 12.642 4.31e-13 ***
--- Le modèle est
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1pertinent à 5%
Six (k) insecticides (spray) ont été testés chacun sur 12 cultures. La
réponse observée (count) est le nombre d'insectes. Les données sont
contenues dans le data.frame « InsectSprays ». On veut savoir si il
existe un effet significatif du facteur insecticide, i.e. on veut valider
le modèle d’analyse de variance :
Countij = µ + α j + ε ij , i = 1,...12; j = 1,...6.
où ε i est une suite de variables aléatoires i.i.d. de moyenne nulle et de
variance σ ²
> names(anov)
[1] "coefficients" "residuals" "effects" "rank"
[5] "fitted.values" "assign" "qr" "df.residual"
[9] "contrasts" "xlevels" "call" "terms"
[13] "model"
Le Boxplot montre :
>plot(rstudent(anov))
II- Analyse de variance
>par(mfrow=c(2,1))
> acf(anov$res)
>plot(anov$res)
II- Analyse de variance
>summary(anov)
>anov$coeff
> x = rnorm(100,1,1)
>y = rexp(200,1)
>st=t.test(x,y); st
III- Test de comparaison de moyenne
Welch Two Sample t-test Généralisation du test de Student au cas de
data: x and y variances inégales
t = -0.2178, df = 178.446, p-value = 0.8278
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval: P(|T|>t)
-0.2648092 0.2121608 T suit T(179)
sample estimates: mean of x : 0.9544127 mean of y : 0.9807369
> summary(st) X Y
Length Class Mode
statistic 1 -none- numeric Nombre de ddl corrigé=179
parameter 1 -none- numeric
p.value 1 -none- numeric
conf.int 2 -none- numeric
estimate 2 -none- numeric Statistique t
null.value 1 -none- numeric
alternative 1 -none- character
method 1 -none- character
data.name 1 -none- character
III- Test de comparaison de moyenne
> names(st)
[1] "statistic" "parameter" "p.value" "conf.int" "estimate"
[6] "null.value" "alternative" "method" "data.name"
statistic : valeur de t
alternative : type d’alternative two-sided, one-sided.
estimate : moyennes empiriques des echantillons
null.value : hypothese nulle
conf.int: intervalles de confiances
parameter :ddl