Régression linéaire
La régression linéaire est une méthode statistique de suivi de la tendance. Ses résultats
sont habituellement proches de la moyenne mobile & les modes d'utilisation sont similaires. Elle présente les valeurs de la variable sous forme d’une droite avec l’équation : Y=aX+b (ou y est la valeur de la variable, x représente
dans les cas des tendances le temps)
Une courbe de tendance linéaire est une ligne droite pondérée qui est utilisée avec des ensembles
de données linéaires simples. Vos données sont linéaires si le motif des points de données ressemble à une ligne. Une courbe de tendance linéaire représente généralement une augmentation
ou une diminution régulière.
Exemple MDX :
adventureWorks pour le calcul de la régression linéaire des ventes.
L’exemple suivant calcul la valeur de Y (dans notre cas le montant des ventes) en fonction de x (dans notre cas le temps).
LINREGPOINT(
Rank([Order Date].[Calendar].CurrentMember,[Order Date].[Calendar].CurrentMember.Level.Members),
DESCENDANTS([Order
Date].[Calendar].[All],[Order Date].[Calendar].CurrentMember.Level),
[Measures].[Internet Sales Amount],
Rank([Order Date].[Calendar].CurrentMember,[Order Date].[Calendar].CurrentMember.Level.Members)
)
L’exemple ci-dessus calcul la regression linéaire du montant des ventes de AdventureWorks pour n’importe quel
niveau de la dimension temps. C'est-à-dire si on explore avec les mois il va calculer la regression linéaire des mois et il peut prédire les prochaines valeurs des ventes pour les mois/trimestre/année à venir.
Syntaxe et arguments de la fonction
LinRegPoint
(extrait du technet) :
LinRegPoint(Slice_Expression_x, Set_Expression, Numeric_Expression_y [ ,Numeric_Expression_x ] )
Slice_Expression_x
Expression numérique valide qui correspond généralement à une expression MDX
(Multidimensional Expressions) des coordonnées des cellules qui retournent un nombre représentant les valeurs de l'axe de secteur.
Set_Expression
Expression MDX (Multidimensional Expressions) valide qui retourne un jeu.
Numeric_Expression_y
Expression numérique valide qui correspond généralement à une expression MDX
(Multidimensional Expressions) des coordonnées des cellules qui retournent un nombre représentant les valeurs de l'axe des ordonnées.
Numeric_Expression_x
Expression numérique valide qui correspond généralement à une expression MDX
(Multidimensional Expressions) des coordonnées des cellules qui retournent un nombre représentant les valeurs de l'axe des abscisses.
La régression linéaire qui utilise la méthode des moindres carrés calcule l'équation
d'une droite de régression (c'est-à-dire de la meilleure ligne pour une série de points). La droite de régression s'exprime par l'équation suivante, où
a représente la pente et b l'ordonnée à l'origine :
y = ax+b
La fonction
LinRegPoint évalue le jeu spécifié par rapport à la deuxième expression numérique pour extraire les valeurs de l'axe des ordonnées. Elle évalue ensuite le jeu spécifié par
rapport à la troisième expression numérique (si cette dernière est précisée) pour extraire les valeurs de l'axe des abscisses. Si la troisième expression numérique n'est pas spécifiée, la
fonction utilise le contexte actuel des cellules dans le jeu spécifié en tant que valeurs de l'axe des abscisses. Il est fréquent de ne pas spécifier l'argument de l'axe des abscisses avec la dimension Time.
Une fois la régression linéaire calculée, la valeur de l'équation est calculée
pour la première expression numérique, puis retournée.
En plus des explications du technet cité ci-dessus et par rapport à notre exemple je vouderai
juste préciser qu’il faut fournir à l’argument
Slice_Expression_x
les coordonées et non les valeurs de x c’est pour cela que dans notre exemple on a utilisé la fonction RANK.
Fonction
LinRegPoint:
http://technet.microsoft.com/fr-fr/library/ms144752(SQL.100).aspx
Fonction
Descendants :
http://technet.microsoft.com/fr-fr/library/ms146075(SQL.100).aspx
Fonction Rank :
http://technet.microsoft.com/fr-fr/library/ms144726(SQL.100).aspx
MVP SQL & BI Specialist http://wissemhabboub.unblog.fr