> # Projet Econometrie - Regression lineaire multiple
> # Donnees : mtcars (R dataset)
>
> # 1. Chargement des donnees
> data(mtcars)
> cat("========== Apercu des donnees ==========\n")
========== Apercu des donnees ==========
> print(head(mtcars))
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
>
> # 2. Statistiques descriptives
> cat("\n========== Statistiques descriptives ==========\n")
========== Statistiques descriptives ==========
> print(summary(mtcars))
mpg cyl disp hp drat wt qsec vs
Min. :10.40 Min. :4.000 Min. : 71.1 Min. : 52.0 Min. :2.760 Min. :1.513 Min. :14.50 Min. :0.0000
1st Qu.:15.43 1st Qu.:4.000 1st Qu.:120.8 1st Qu.: 96.5 1st Qu.:3.080 1st Qu.:2.581 1st Qu.:16.89 1st Qu.:0.0000
Median :19.20 Median :6.000 Median :196.3 Median :123.0 Median :3.695 Median :3.325 Median :17.71 Median :0.0000
Mean :20.09 Mean :6.188 Mean :230.7 Mean :146.7 Mean :3.597 Mean :3.217 Mean :17.85 Mean :0.4375
3rd Qu.:22.80 3rd Qu.:8.000 3rd Qu.:326.0 3rd Qu.:180.0 3rd Qu.:3.920 3rd Qu.:3.610 3rd Qu.:18.90 3rd Qu.:1.0000
Max. :33.90 Max. :8.000 Max. :472.0 Max. :335.0 Max. :4.930 Max. :5.424 Max. :22.90 Max. :1.0000
am gear carb
Min. :0.0000 Min. :3.000 Min. :1.000
1st Qu.:0.0000 1st Qu.:3.000 1st Qu.:2.000
Median :0.0000 Median :4.000 Median :2.000
Mean :0.4062 Mean :3.688 Mean :2.812
3rd Qu.:1.0000 3rd Qu.:4.000 3rd Qu.:4.000
Max. :1.0000 Max. :5.000 Max. :8.000
>
> # 3. Matrice de correlation
> cat("\n========== Matrice de correlation ==========\n")
========== Matrice de correlation ==========
> cor_matrix <- cor(mtcars[, c("mpg", "cyl", "disp", "hp", "wt", "am")])
> print(cor_matrix)
mpg cyl disp hp wt am
mpg 1.0000000 -0.8521620 -0.8475514 -0.7761684 -0.8676594 0.59983243
cyl -0.8521620 1.0000000 0.9020329 0.8324475 0.7824958 -0.52260706
disp -0.8475514 0.9020329 1.0000000 0.7909486 0.8879799 -0.59122707
hp -0.7761684 0.8324475 0.7909486 1.0000000 0.6587479 -0.24320426
wt -0.8676594 0.7824958 0.8879799 0.6587479 1.0000000 -0.69249534
am 0.5998324 -0.5226071 -0.5912271 -0.2432043 -0.6924953 1.00000000
>
> # 4. Modele de regression lineaire multiple
> modele <- lm(mpg ~ cyl + hp + wt + am, data = mtcars)
> cat("\n========== Resume du modele ==========\n")
========== Resume du modele ==========
> print(summary(modele))
Call:
lm(formula = mpg ~ cyl + hp + wt + am, data = mtcars)
Residuals:
Min 1Q Median 3Q Max
-3.9387 -1.2560 -0.4013 1.1253 5.5493
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 36.14654 3.10478 11.642 4.94e-12 ***
cyl -0.85717 0.56345 -1.521 0.1399
hp -0.01840 0.01162 -1.584 0.1248
wt -3.53198 0.71669 -4.928 3.86e-05 ***
am 2.20189 1.07402 2.050 0.0503 .
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2.513 on 27 degrees of freedom
Multiple R-squared: 0.8431, Adjusted R-squared: 0.8199
F-statistic: 36.25 on 4 and 27 DF, p-value: 1.717e-10
>
> # 5. Diagnostic des hypotheses
> library(lmtest)
> cat("\n========== Test de Breusch-Pagan (homoscedasticite) ==========\n")
========== Test de Breusch-Pagan (homoscedasticite) ==========
> print(bptest(modele))
studentized Breusch-Pagan test
data: modele
BP = 2.487, df = 4, p-value = 0.6466
> cat("\n========== Test de Shapiro-Wilk (normalite des residus) ==========\n")
========== Test de Shapiro-Wilk (normalite des residus) ==========
> print(shapiro.test(residuals(modele)))
Shapiro-Wilk normality test
data: residuals(modele)
W = 0.94937, p-value = 0.1345
> cat("\n========== Test de Durbin-Watson (autocorrelation des erreurs) ==========\n")
========== Test de Durbin-Watson (autocorrelation des erreurs) ==========
> print(dwtest(modele))
Durbin-Watson test
data: modele
DW = 1.4968, p-value = 0.1002
alternative hypothesis: true autocorrelation is greater than 0
>
> # 6. Export des donnees en CSV
> write.csv(mtcars, "mtcars.csv", row.names = TRUE)
> cat("\nLes donnees ont ete exportees dans le fichier 'mtcars.csv'.\n")
Les donnees ont ete exportees dans le fichier 'mtcars.csv'.
To embed this project on your website, copy the following code and paste it into your website's HTML: