none
Projection en utilisant la regression lineaire avec MDX - SSAS RRS feed

  • Discussion générale

  • 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
    jeudi 3 février 2011 23:54