On a récemment publié une série d’articles sur les régressions linéaires dans Excel :
Suite à ces articles, vous avez été plusieurs à nous demander comment s’y prendre pour faire de la régression linéaire dans Power BI. Je vous démontre donc quelques pistes de réponse dans cet article.
Pour démontrer les fonctionnalités, j’utilise des données de taux de change CAD/USD depuis 2017.

Vous préférez la version vidéo ? La voici!
Ligne de tendance (Fonctionnalité native Power BI)
Power BI offre des options d’analytique sur plusieurs visuels. Dans ces options d’analytique, la ligne de tendance permet d’ajouter au visuel une ligne démontrant la tendance visuellement.


Cette fonctionnalité est très intéressante quand vous souhaitez obtenir rapidement un aperçu de la tendance. Toutefois, ça ne vous permet pas d’obtenir la règle mathématique de régression linéaire ni d’élaborer des prévisions.
Régression linéaire dans Power BI (LINEST)
Il existe une fonction DAX permettant de produire la régression linéaire dans Power BI. Il s’agit de la fonction LINEST. Cette fonction nous permet de créer une table retournant toutes les informations pertinentes à la régression linéaire. Et c’est aussi simple que de passer en paramètre les valeurs de Y et de X connues.

Dans mon exemple, j’utilise les dates comme valeurs de X et les taux de change comme valeur de Y.

Le résultat obtenu est une table contenant toutes les informations pertinentes à la régression linéaire. Pour en savoir plus sur ces éléments propres à la régression linéaire, voir l’explication détaillée dans l’article suivant : https://www.lecfomasque.com/analyse-predictive-dans-excel-regression-multiple/

Pour pouvoir utiliser ces résultats pour créer une ligne de tendance dans un visuel, nous pouvons créer une formule DAX mettant en relation la pente, la valeur de X à considérer et l’intercept.


Cette fonction est donc tout indiquée si vous souhaitez calculer une régression linéaire rapidement et facilement. Toutefois, puisque le calcul est généré dans une table, il n’est pas dynamique en fonction des filtres appliqués sur vos visuels. Par exemple, si je concentrais mon analyse entre le 23 mars 2020 et le 3 juin 2021, la ligne de tendance ne s’est pas actualisée pour représenter la situation réelle entre ces deux dates. Elle présente encore la régression sur toutes les données disponibles (avant le filtre).

Dans certains cas, ça peut être ce qu’on souhaite démontrer. Dans d’autres cas, on peut souhaiter que la ligne de tendance s’actualise en fonction des filtres appliqués sur la page. Pour ce faire, nous devrons calculer nous-mêmes la régression linéaire plutôt que de passer par la fonction native de Power BI.
Vous devez analyser de grandes quantités de données et les présenter dans des rapports et tableaux de bord, avec des indicateurs de performance pertinents ? Développez vos compétences avec nos formations Power BI en français ou en anglais. |
|---|
Régression linéaire dans Power BI (approche dynamique)
Avant de procéder, rappelons-nous comment est composée la régression linéaire simple.
Y = a * X + b
Où
Y = variable dépendante
X = variable indépendante
a = pente (variation de y pour une unité de x)
b = intercept (valeur théorique de y lorsque x = 0)
Nous cherchons donc à trouver les valeurs de a (pente) et de b (intercept) par Power BI.
Pour trouver la valeur de a, on souhaite trouver la pente qui permettra à notre ligne de régression linéaire de passer au milieu des points observés donc de minimiser les écarts entre la ligne et les points.

Pour y arriver, nous allons débuter par calculer la moyenne de X sur la période et la moyenne de Y sur cette même période.

Nous utiliserons ensuite ces moyennes pour calculer l’écart de chaque point avec la moyenne (X,Y). Pour chaque point, les écarts (X,Y) sont ensuite multipliés ensemble pour calculer la covariance(X,Y). Cette covariance permet de mesurer la force et le sens de la relation entre X et Y.

Ensuite, pour chaque point, nous calculons la variance de X en calculant l’écart entre la valeur x et la moyenne, au carré.

La covariance(X,Y) est ensuite divisée par la variance de X pour obtenir la pente.

La mesure complète se lit comme suit :

Nous avons donc déterminé la valeur de a (pente). Reste à mesurer la valeur de b (intercept).
Avant de procéder, rappelons-nous que l’intercept est la valeur de Y lorsque X = 0. Maintenant qu’on connait la pente (a), on peut l’utiliser pour simuler une droite qui passerait par le point moyen de la sélection (moyenne des X et moyenne des Y). Par définition, cette droite nous permettra de déterminer l’intercept :
Moyenne des Y = a * moyenne des X + b
B = moyenne des Y – a * moyenne des X

Et finalement, nous obtenons la droite de régression complète :

Lorsque j’applique cette ligne de tendance dans un visuel, elle sera complètement dynamique en fonction des filtres appliqués sur le visuel.
Tous les points :

Sélection filtrée sur les 365 derniers jours :

Fichier d’accompagnement VIP à télécharger
Pour télécharger le fichier utilisé dans ce tutoriel, devenez membre VIP du CFO masqué.
Formation complémentaire
Pour apprendre à exploiter tout le potentiel du langage DAX, nous vous recommandons la formation Introduction au langage DAX (Power BI et Power Pivot).
La mission du CFO masqué est de développer les compétences techniques des analystes et des contrôleurs de gestion en informatique décisionnelle avec Excel et Power BI et favoriser l’atteinte de leur plein potentiel, en stimulant leur autonomie, leur curiosité, leur raisonnement logique, leur esprit critique et leur créativité.


Vous devez analyser de grandes quantités de données et les présenter dans des rapports et tableaux de bord, avec des indicateurs de performance pertinents ? Développez vos compétences avec nos formations Power BI 




