Annexe B Annexe B : Rappel sur RStudio pour la science des données

Annexe B Annexe B : Rappel sur RStudio pour la science des données

R est un outil d'analyse statistique largement utilisé dans le domaine de la science des données. R offre de nombreux outils pour l'exploration, la visualisation et l'analyse statistique des données. Il est disponible sous la forme d'un logiciel libre et gratuit (open source) et propose une suite intégrée de fonctions pour l'analyse des données, la création de graphiques et la programmation statistique. R est de plus en plus utilisé par les spécialistes de la science des données comme outil d'analyse de données et d'analyse statistique, en partie parce qu'il s'agit d'un langage open source auquel de nouvelles fonctionnalités sont constamment ajoutées par la communauté des utilisateurs. Cet outil peut être utilisé sur de nombreuses plateformes informatiques différentes et peut être téléchargé sur le site web du projet R.

Une fois R installé et lancé sur votre ordinateur, vous devriez voir au bas de la console R le symbole >, qui indique que R est prêt à accepter des commandes.

Pour un utilisateur novice dans R, taper help.start() dans l'invite de commande de R affiche un menu de manuels et de documents de référence, comme le montre la Figure B1.

Capture d'écran du menu d'aide à l'analyse statistique de R. Les catégories du menu comprennent Manuals (Manuels), Reference (Références) et Miscellaneous Material (Documents divers).
Figure B1 Menu d'aide de R basé sur
help.start()

R propose de nombreuses ressources d'aide intégrées. Lorsqu'un utilisateur tape help() dans l'invite de R, une liste de ressources d'aide est fournie. Par exemple, taper help(median) affichera des éléments de documentation sur la fonction médiane intégrée dans R.

De plus, si un utilisateur tape demo() dans l'invite de R, diverses options de démonstration s'affichent. Par exemple, taper demo(graphics) fournira des exemples de différents tracés graphiques.

Analyse élémentaire des données avec R

R est un langage orienté commandes, ce qui signifie que l'utilisateur saisit des commandes dans l'invite, que R exécute ensuite une à une. R peut également exécuter un programme contenant plusieurs commandes. Il existe des moyens d'ajouter une interface graphique utilisateur (GUI) à R. Un exemple d'outil d'interface graphique pour R est RStudio.

La ligne de commande de R peut être utilisée pour effectuer n'importe quel calcul numérique, à l'instar d'une calculatrice de poche. Par exemple, pour évaluer l'expression 10+3·710+3·7, entrez l'expression suivante dans l'invite de la ligne de commande et appuyez sur Entrée. Le résultat numérique 31 s'affiche alors :

    > 10+3*7

    [1] 31
    

La plupart des calculs dans R sont gérés par des fonctions. Pour la science des données et l'analyse statistique, R propose de nombreuses fonctions prédéfinies pour calculer la moyenne, la médiane, l'écart type, les quartiles, etc. Il est possible de nommer des variables et de leur affecter des valeurs à l'aide de l'opérateur d'assignation <-. Par exemple, les commandes R suivantes assignent la valeur 20 à la variable nommée x et la valeur 30 à la variable nommée y :

    > x <- 20
    
    > y <- 30
    

Ces noms de variables peuvent être utilisés dans n'importe quel calcul, par exemple en multipliant x par y pour obtenir le résultat 600 :

    > x*y
    
    [1] 600
    

La méthode classique pour utiliser des fonctions dans des applications statistiques consiste à créer d'abord un vecteur de valeurs de données. Il existe plusieurs façons de créer des vecteurs dans R. Par exemple, la fonction c est souvent utilisée pour combiner des valeurs en un vecteur. La commande R suivante génère un vecteur appelé salaries qui contient les valeurs de données 40000, 50000, 75000 et 92000 :

    > salaries <- c(40000, 50000, 75000, 92000)
    

Ce vecteur salaries peut ensuite être utilisé dans des fonctions statistiques telles que mean, median, min, max, etc., comme illustré ci-dessous :

    > mean(salaries)
    
    [1] 64250
    
    > median(salaries)
    
    [1] 62500
    
    > min(salaries)
    
    [1] 40000
    
    > max(salaries)
    
    [1] 92000
    

Une autre option pour générer un vecteur dans R consiste à utiliser la fonction seq, qui génère automatiquement une séquence de nombres. Par exemple, nous pouvons générer une séquence de nombres de 1 à 5, avec un incrément de 0,5, et appeler ce vecteur example1, de la façon suivante :

    > example1 <- seq(1, 5, by=0.5)
    

Si nous tapons ensuite le nom du vecteur et appuyons sur Entrée, R affichera la liste des valeurs numériques associées à ce nom de vecteur.

    > salaries
    
    [1] 40000 50000 75000 92000
    
    > example1
    
    [1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
    

Bien souvent, un spécialiste de la science des données souhaite générer un résumé statistique rapide d'un jeu de données sous la forme de sa moyenne, sa médiane, ses quartiles, son minimum et son maximum. La commande R summary fournit ces résultats.

    > summary(salaries)
    
       Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
    
       40000   47500   62500   64250   79250   92000
    

Pour les mesures de dispersion, R inclut une commande pour l'écart type, appelée sd(), et une commande pour la variance, appelée var(). L'écart type et la variance sont calculés en supposant que le jeu de données provient d'un échantillon.

    > sd(salaries)
    
    [1] 23641.42
    
    > var(salaries)
    
    [1] 558916667
    

Pour calculer une moyenne pondérée dans R, créez deux vecteurs, l'un contenant les valeurs de données et l'autre contenant les poids associés. Entrez ensuite la commande R weighted.mean(values, weights).

Voici un exemple de calcul de moyenne pondérée dans R :

EXEMPLE B.1

Énoncé

Supposons qu'un portefeuille financier contienne 1 000 actions de la société XYZ, achetées à trois dates différentes, comme le montre le Tableau B1. Utilisez R pour calculer la moyenne pondérée du prix d'achat, où les poids sont basés sur le nombre d'actions dans le portefeuille.

Date d'achat Prix
d'achat ($)
Nombre d'actions
achetées
17 janvier 78 200
10 février 122 300
23 mars 131 500
Total 1000
Tableau B1 Portefeuille d'actions XYZ

Solution

Voici comment créer deux vecteurs dans R : le vecteur price contiendra le prix d'achat, et le vecteur shares contiendra le nombre d'actions. Exécutez ensuite la commande R weighted.mean(price, shares), comme suit :

    > price <- c(78, 122, 131)
    
    > shares <- c(200, 300, 500)
    
    > weighted.mean(price, shares)
    
    [1] 117.7

Une liste des commandes statistiques courantes de R est présentée dans le Tableau B2.

Commande R Résultat
mean()
Calcule la moyenne arithmétique
median()
Calcule la médiane
min()
Calcule la valeur minimale
max()
Calcule la valeur maximale
weighted.mean()
Calcule la moyenne pondérée
sum()
Calcule la somme des valeurs
summary()
Calcule la moyenne, la médiane, les quartiles, le min et le max
sd()
Calcule l'écart type échantillonnal
var()
Calcule la variance échantillonnale
IQR()
Calcule l'écart interquartile
barplot()
Trace un diagramme à barres de données non numériques
boxplot()
Trace une boîte à moustaches de données numériques
hist()
Trace un histogramme de données numériques
plot()
Trace divers graphiques, notamment un nuage de points
freq()
Crée un tableau de distribution de fréquences
Tableau B2 Liste des commandes statistiques courantes de R

Visualisation élémentaire et graphiques avec R

R offre de nombreuses fonctions intégrées pour la visualisation de données et la création de graphiques, et confère au spécialiste de la science des données une grande souplesse ainsi que de multiples options de personnalisation pour les graphiques et autres visualisations de données.

Il existe de nombreuses applications statistiques dans R, et de multiples représentations graphiques sont possibles, telles que les diagrammes à barres, les histogrammes, les graphiques de séries temporelles, les nuages de points, etc.

À titre d'exemple simple de diagramme à barres, supposons qu'un enseignant universitaire souhaite créer un diagramme à barres pour afficher les effectifs inscrits dans différents cours tels que les cours de statistiques, d'histoire, de physique et de chimie.

Le Tableau B3 présente les données d'inscription :

Cours universitaire Nombre d'étudiants inscrits
Statistiques 375
Histoire 302
Physique 294
Chimie 193
Tableau B3 Données d'inscription

La commande de base pour créer un diagramme à barres dans R est la commande barchart().

Tout d'abord, créez un dataframe appelé enrollment pour contenir les données (un dataframe peut être considéré comme une table ou une matrice pour stocker le jeu de données).

enrollment <- data.frame(course=c("Statistics", "History", "Physics", "Chemistry"),
enrolled=c(375, 302, 294, 193))

Ensuite, utilisez la fonction barplot pour créer le diagramme à barres et ajouter des étiquettes pour l'axe des x, l'axe des y et le titre général.

barplot(enrollment$enrolled, names.arg=enrollment$course,
main="Student Enrollment at the College", xlab="Course Name",
ylab = "Enrollment"
)

Le résultat obtenu est présenté ci-dessous dans la Figure B2 :

Un diagramme à barres intitulé « Student Enrollment at the College ». L'axe des X est intitulé « Course Name » et comprend de gauche à droite statistics, history, physics et chemistry. L'axe des Y est intitulé « enrollment » et s'étend de 0 à 400 par intervalles de 50. Des barres bleues indiquant les inscriptions décroissent de gauche à droite, passant d'environ 375 à 300, puis 290 et 180.
Figure B2 Diagramme à barres des données d'inscription des étudiants

La commande de base pour créer un nuage de points dans R est la commande plot, plot(x, y), où x est un vecteur contenant les valeurs de x du jeu de données et y est un vecteur contenant les valeurs de y du jeu de données.

Le format général de la commande est le suivant :

>plot(x, y, main="text for title of graph",
xlab="text for x-axis label", ylab="text for y-axis label"
)

Par exemple, nous souhaitons créer un nuage de points pour examiner la corrélation entre la valeur du S&P 500 et le cours de l'action Nike. Supposons que nous disposions des données présentées dans le Tableau B4, recueillies sur une période d'un an.

Date S&P 500 Cours de l'action Nike ($)
4/1/2020 2912.43 87.18
5/1/2020 3044.31 98.58
6/1/2020 3100.29 98.05
7/1/2020 3271.12 97.61
8/1/2020 3500.31 111.89
9/1/2020 3363.00 125.54
10/1/2020 3269.96 120.08
11/1/2020 3621.63 134.70
12/1/2020 3756.07 141.47
1/1/2021 3714.24 133.59
2/1/2021 3811.15 134.78
3/1/2021 3943.34 140.45
3/12/2021 3943.34 140.45
(source : https://finance.yahoo.com/)
Tableau B4 Données pour le S&P 500 et le cours de l'action Nike sur une période de 12 mois

Notez que les données peuvent être importées dans R à partir d'un fichier texte, d'un fichier Excel ou du presse-papiers à l'aide de diverses commandes R. Supposons que les valeurs du S&P 500 aient été chargées dans le vecteur SP500 et que les cours de l'action Nike aient été chargés dans le vecteur Nike. Dès lors, pour générer le nuage de points, nous pouvons utiliser la commande R suivante :

>plot(SP500, Nike, main="Scatter Plot of Nike Stock Price vs. S&P 500",
xlab="S&P 500", ylab="Nike Stock Price
")

À l'issue de ces commandes, R génère le nuage de points présenté dans la Figure B3.

Un nuage de points de 12 données généré par R pour le cours de l'action Nike ($) sur l'axe des Y par rapport au S&P 500 sur l'axe des X. L'axe des Y s'étend de 80 à 150 par intervalles de 10 et l'axe des X s'étend de 2 800 à 4 000. Le nuage de points global montre que le S&P 500 est corrélé positivement avec le cours de l'action Nike (en $).
Figure B3 Nuage de points généré par R pour le cours de l'action Nike par rapport au S&P 500

Analyse des distributions de probabilité avec R

Comme mentionné précédemment, un résumé statistique rapide peut être généré à l'aide de la commande summary() dans R, dont la syntaxe est summary(data_vector).

R dispose de bibliothèques intégrées complètes pour calculer des intervalles de confiance, tester des hypothèses et manipuler diverses distributions de probabilité telles que les lois binomiale, de Poisson, normale, du khi-deux et d'autres distributions de probabilité.

Comme nous l'avons vu dans Mesures de tendance centrale, les spécialistes de la science des données s'intéressent souvent à diverses distributions de probabilité telles que la distribution normale, la loi binomiale et la loi de Poisson. Excel fournit des fonctions intégrées pour analyser de nombreuses distributions de probabilité.

R utilise la commande pnorm pour trouver l'aire sous la courbe normale située à gauche d'une valeur spécifiée :

Syntaxe : pnorm(x_value, mean, standard_deviation)

où pnorm renvoie la probabilité qu'une variable aléatoire ayant une moyenne et un écart type donnés soit inférieure à x_value.

EXEMPLE B.2

Énoncé

Le poids de naissance des nouveau-nés aux États-Unis suit une distribution normale avec une moyenne de 3 400 grammes et un écart type de 500 grammes.

  1. Utilisez R pour déterminer la probabilité qu'un nouveau-né choisi au hasard pèse moins de 4 000 grammes.
  2. Utilisez R pour déterminer la probabilité qu'un nouveau-né choisi au hasard pèse plus de 3 000 grammes.

Solution

Pour la partie (a), utilisez la commande pnorm comme suit :

pnorm(4000, 3400, 500)

qui renvoie le résultat de probabilité suivant :

[1] 0.8849303

Pour la partie (b), une option de la commande pnorm, « lower.tail=FALSE », permet de calculer l'aire à droite d'une valeur x donnée :

pnorm(3000, 3400, 500, lower.tail=FALSE)

qui renvoie le résultat de probabilité suivant :

[1] 0.7881446

R fournit également une fonction intégrée pour la loi binomiale, comme suit :

Loi binomiale :

Syntaxe : pbinom(k, n, p)

où n est le nombre d'épreuves, p est la probabilité de succès et k est le nombre de succès pour lequel la probabilité est recherchée.

EXEMPLE B.3

Énoncé

Un spécialiste de la science des données réalise un sondage auprès d'un échantillon de 20 personnes et pose la question suivante : « Avez-vous trouvé le site web de l'entreprise ABC facile à parcourir ? » D'après les données antérieures, la probabilité qu'une personne choisie au hasard trouve le site web facile à parcourir était de 65 %. Utilisez R pour trouver la probabilité que 13 personnes sur les 20 répondent qu'elles trouvent le site web facile à parcourir.

Solution

Utilisez la commande pbinom comme suit :

pbinom(13, 20, 0.65)

qui renvoie le résultat de probabilité suivant :

[1] 0.5833746

R fournit également une fonction intégrée pour la loi binomiale, comme suit :

Loi binomiale :

Syntaxe : dbinom(k, n, p)

où n est le nombre d'épreuves, p est la probabilité de succès et k est le nombre de succès pour lequel la probabilité est recherchée.

EXEMPLE B.4

Énoncé

Un spécialiste de la science des données réalise un sondage auprès d'un échantillon de 20 personnes et pose la question suivante : « Avez-vous trouvé le site web de l'entreprise ABC facile à parcourir ? » D'après les données antérieures, la probabilité qu'une personne choisie au hasard trouve le site web facile à parcourir était de 65 %. Utilisez R pour trouver la probabilité que 13 personnes sur les 20 répondent qu'elles trouvent le site web facile à parcourir.

Solution

Utilisez la commande dbinom comme suit :

dbinom(13, 20, 0.65)

qui renvoie le résultat de probabilité suivant :

[1] 0.1844012

R fournit également une fonction intégrée pour la loi de Poisson, comme suit :

Loi de Poisson :

Syntaxe : dpois(k, mu)

où mu est la moyenne de la loi de Poisson et k est le nombre de succès pour lequel la probabilité est recherchée.

EXEMPLE B.5

Énoncé

Un ingénieur de la circulation étudie une certaine intersection qui enregistre en moyenne 3 accidents par mois. Utilisez R pour déterminer la probabilité qu'il y ait 5 accidents au cours d'un mois donné.

Solution

Utilisez la commande ppois comme suit :

dpois(5, 3)

qui renvoie le résultat de probabilité suivant :

[1] 0.1008188

Analyse de corrélation et de régression élémentaire avec R

Rappelez-vous la présentation de l'analyse de corrélation et de régression dans Statistiques inférentielles et analyse de régression. Une première étape de l'analyse de corrélation consiste à calculer le coefficient de corrélation (r) pour les données (x, y). R fournit une fonction intégrée cor() pour calculer le coefficient de corrélation de données bivariées.

À titre d'exemple, considérons le jeu de données du Tableau B5 qui suit le rendement du S&P 500 par rapport au rendement de l'action Coca-Cola sur une période de sept mois.

Mois Rendement mensuel du S&P 500 (%) Rendement mensuel de Coca-Cola (%)
Janv 8 6
Févr 1 0
Mars 0 -2
Avr 2 1
Mai -3 -1
Juin 7 8
Juil 4 2
Tableau B5 Rendements mensuels de l'action Coca-Cola par rapport aux rendements mensuels du S&P 500

Pour calculer le coefficient de corrélation pour ce jeu de données, créez d'abord deux vecteurs dans R : un premier vecteur pour les rendements du S&P 500 et un second vecteur pour les rendements de Coca-Cola :

    > SP500 <- c(8,1,0,2,-3,7,4)
    
    > CocaCola <- c(6,0,-2,1,-1,8,2)

La commande R appelée cor renvoie le coefficient de corrélation pour le vecteur de données x et le vecteur de données y :

    > cor(SP500, CocaCola)
    
    [1] 0.9123872

Ainsi, le coefficient de corrélation pour ce jeu de données est d'environ 0,912.

Modèles de régression linéaire avec R

Pour créer un modèle linéaire dans R, en supposant que la corrélation soit significative, la commande lm() (pour « linear model ») fournit la pente et l'ordonnée à l'origine (y-intercept) de l'équation de régression linéaire.

Le format de la commande R est

lm(dependent_variable_vector ~ independent_variable_vector)

Remarquez l'utilisation du symbole tilde comme séparateur entre le vecteur de la variable dépendante et le vecteur de la variable indépendante.

Nous utilisons les rendements de l'action Coca-Cola comme variable dépendante et les rendements du S&P 500 comme variable indépendante, la commande R est donc :

    > lm(CocaCola ~ SP500)
    
    Call:
    
    lm(formula = CocaCola ~ SP500)
    
    Coefficients:
    
    (Intercept)    SP500
    
       -0.3453   0.8641

La sortie de R donne une valeur de -0,3453 pour l'ordonnée à l'origine et une valeur de 0,8641 pour la pente. Sur cette base, le modèle linéaire s'écrit :

y^=a+bxy^=-0.3453+0.8641xy^=a+bxy^=-0.3453+0.8641x

où x représente la valeur du rendement du S&P 500 et y représente la valeur du rendement de l'action Coca-Cola.

Les résultats peuvent également être enregistrés sous forme d'objet et nommés « model » à l'aide de la commande R suivante. Pour obtenir des résultats plus détaillés pour la régression linéaire, la commande summary peut être utilisée comme suit :

    > model <- lm(CocaCola ~ SP500)
    
    > summary(model)
    
    Call:
    
    lm(formula = CocaCola ~ SP500)
    
    Residuals:
    
          1    2    3    4    5    6    7
    
    -0.5672 -0.5188 -1.6547 -0.3828 1.9375 2.2969 -1.1109
    
    Coefficients:
    
            Estimate Std. Error t value Pr(>|t|)
    
    (Intercept) -0.3453   0.7836 -0.441 0.67783
    
    SP500     0.8641   0.1734  4.984 0.00416 **
    ---
    Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
    
    Residual standard error: 1.658 on 5 degrees of freedom
    
    Multiple R-squared: 0.8325,  Adjusted R-squared: 0.7989
    
    F-statistic: 24.84 on 1 and 5 DF, p-value: 0.004161

Dans cette sortie, l'ordonnée à l'origine et la pente sont fournies, ainsi que les résidus pour chaque valeur de x. La sortie comprend des détails statistiques supplémentaires concernant l'analyse de régression.

Les valeurs prédites et les intervalles de prédiction peuvent également être générés dans R. Tout d'abord, nous pouvons créer une structure dans R appelée dataframe pour contenir les valeurs de la variable indépendante pour lesquelles nous souhaitons générer une prédiction. Par exemple, nous souhaitons générer le rendement prédit pour l'action Coca-Cola, sachant que le rendement du S&P 500 est de 6.

Nous utilisons la commande R appelée predict().

Pour générer une prédiction pour l'équation de régression linéaire appelée model, à l'aide du dataframe où la valeur du S&P 500 est 6, les commandes R sont les suivantes :

    > a <- data.frame(SP500=6)
    
    > predict(model, a)
    
         1
    
    4.839062

La sortie de la commande predict indique que le rendement prédit pour l'action Coca-Cola sera de 4,8 % lorsque le rendement du S&P 500 est de 6 %.

Nous pouvons étendre cette analyse pour générer un intervalle de prédiction à 95 % pour ce résultat en utilisant la commande R suivante, qui ajoute une option à la commande predict pour générer un intervalle de prédiction :

    > predict(model, a, interval="predict")
    
      fit    lwr   upr
    
    1 4.839062 0.05417466 9.62395

Ainsi, l'intervalle de prédiction à 95 % pour le rendement de Coca-Cola est [0,05 %, 9,62 %] lorsque le rendement du S&P 500 est de 6 %.

Modèles de régression multiple avec R

R comprend également de nombreux outils permettant au spécialiste de la science des données de réaliser une régression multiple, où une variable dépendante est prédite à partir de plusieurs variables indépendantes. Par exemple, nous pourrions obtenir un meilleur modèle de prédiction pour le rendement mensuel de l'action Coca-Cola si nous prenions en compte non seulement le rendement mensuel du S&P 500, mais également les ventes mensuelles des produits Coca-Cola.

Voici plusieurs exemples où un modèle de régression multiple pourrait offrir un modèle de prédiction supérieur à celui d'un modèle de régression ne comportant qu'une seule variable indépendante :

  1. Le salaire des employés peut être prédit en fonction des années d'expérience et du niveau d'études.
  2. Le prix des logements peut être prédit en fonction de la superficie d'une maison, du nombre de chambres et du nombre de salles de bains.

La forme générale du modèle de régression multiple est :

y^=a+b1x1+b2x2+b3x3+?+bnxny^=a+b1x1+b2x2+b3x3+?+bnxn

où :

x1,x2,x3,…,xnx1,x2,x3,…,xn sont les variables indépendantes,
b1,b2,b3,…,bnb1,b2,b3,…,bn sont les coefficients, où chaque coefficient représente la variation de y lorsque la variable indépendante xixi varie d'une unité et que toutes les autres variables indépendantes sont maintenues constantes,
a est l'ordonnée à l'origine, qui est la valeur de y lorsque tous les xi=0xi=0.

Comme nous l'avons vu dans un exemple précédent, la syntaxe de l'analyse de régression linéaire dans R lorsqu'il n'y a qu'une seule variable indépendante se présentait comme suit :

> model <- lm(y ~ x)

où y est la variable dépendante et x est la variable indépendante.

Pour « ajouter » des variables indépendantes supplémentaires dans l'approche de régression multiple, nous utilisons le format suivant :

> model <- lm(y ~ x1 + x2 + x3)

où x1,x2,x3x1,x2,x3 sont les variables indépendantes.

Exemple :

Utilisez R pour créer un modèle de régression multiple afin de prédire le prix d'un logement en fonction des variables indépendantes superficie (en pieds carrés) et nombre de chambres à partir du jeu de données suivant. Utilisez ensuite le modèle de régression multiple pour prédire le prix d'une maison de 3 000 pieds carrés comportant 3 chambres (voir le Tableau B6).

Prix du logement (y)(y) Superficie en pieds carrés x1x1 Nombre de chambres x2x2
466000 4668 6
355000 3196 5
405900 3998 5
415000 4022 5
206000 1834 2
462000 4668 6
290000 2650 3
Tableau B6 Prix des logements en fonction de la superficie et du nombre de chambres

Tout d'abord, créez trois vecteurs dans R, un vecteur pour chacun des éléments suivants : prix du logement, superficie et nombre de chambres :

    > price <- c(466000, 355000, 405900, 415000, 206000, 462000, 290000)
    > square_footage <- c(4668, 3196, 3998, 4022, 1834, 4668, 2650)
    > bedrooms <- c(6, 5, 5, 5, 2, 6, 3)

Ensuite, exécutez le modèle de régression multiple à l'aide de la commande lm :

    > model <- lm(price ~ square_footage + bedrooms)
    > summary(model)
    
    Call:
    lm(formula = price ~ square_footage + bedrooms)
    
    Residuals:
           1       2       3       4       5       6       7
    -1704.6  1438.4  -606.9  6908.7 -6747.4 -5704.6  6416.5
    
    Coefficients:
                           Estimate Std. Error t value Pr(>|t|)
    (Intercept)    57739.887   9529.693   6.059  0.00375 **
    square_footage    66.017      8.924   7.398  0.00178 **
    bedrooms       16966.536   6283.183   2.700  0.05408 .
    ---
    Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
    
    Residual standard error: 6563 on 4 degrees of freedom
    Multiple R-squared:  0.9968,    Adjusted R-squared:  0.9953
    F-statistic: 630.6 on 2 and 4 DF,  p-value: 9.996e-06

Dans la sortie de R, notez que la colonne intitulée « Estimate » fournit les estimations des coefficients et de l'ordonnée à l'origine.

L'ordonnée à l'origine est donnée comme étant 57740 (en arrondissant à l'entier le plus proche).

Le coefficient pour la variable « square footage » (superficie) est de 66.

Le coefficient pour la variable « bedrooms » (chambres) est de 16967.

Sur la base de ces valeurs, le modèle de régression multiple est :

y^=57740+66x1+16967x2y^=57740+66x1+16967x2

Nous pouvons désormais utiliser le modèle de régression multiple pour prédire le prix d'un logement de 3 000 pieds carrés avec 3 chambres en posant x1=3000x1=3000 et x2=3x2=3, de la manière suivante :

y^=57740+66(3000)+16967(3)y^ =306641 y^=57740+66(3000)+16967(3)y^ =306641 

Ainsi, le prix prédit pour une maison de 3 000 pieds carrés et 3 chambres est de 306 641 $.