la loi normale

Aller en bas

la loi normale Empty la loi normale

Message par messa le Mar 26 Juin 2012 - 7:14

Bonjour,
j'ai voulais tester si ma distribution suit une loi normale, sachant que j'ai un volume de données qui dépasse 5000 enregistrements et que le test de shapiro n'y parvient pas.
Donc j'etais amené à faire le test de Kolmogorov-Smirnov, j'ai eu ce message:

Code:
> ks.test(data4$EXPPDS_CORR,pnorm)

        One-sample Kolmogorov-Smirnov test

data:  data4$EXPPDS_CORR
D = 0.9974, p-value < 2.2e-16
alternative hypothesis: two-sided

Message d'avis :
In ks.test(data4$EXPPDS_CORR, pnorm) :
  aucun ex-aequo ne devrait être présent pour le test de Kolmogorov-Smirnov

Je voulais savoir la signification de ce message d'avis?
Est-ce que je serais en mesure de déduire que ma distribution ne suit pas la loi normale avec un p-value très petite?

Merci d'avance


Dernière édition par A.D. le Jeu 5 Juil 2012 - 9:32, édité 1 fois (Raison : balises code)

messa

Nombre de messages : 11
Date d'inscription : 01/06/2012

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

la loi normale Empty Re: la loi normale

Message par droopy le Mar 26 Juin 2012 - 9:15

bonjour,

ça veut dire que tu as des valeurs identiques et que pour faire le ks.test tu ne devrais pas en avoir. Le p<2.2e-16 te dit que le test rejette H0 au risque alpha de 5% et même de 1 pour 1000. Donc pas normale.

Après une façon assez simple de voir si ta distribution n'est pas normale c'est de faire le graph suivant :
Code:
qqnorm(data4$EXPPDS_CORR)
qqline(data4$EXPPDS_CORR)
Si tes données sont fortement éloignées de la droite alors effectivement tu peux considérer qu'elles ne suivent pas une loi normale, mais si elle s'écarte de la droite uniquement sur les bords alors tu peux considérer que c'est ok.
droopy
droopy

Nombre de messages : 1126
Date d'inscription : 04/09/2009

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

la loi normale Empty Re: la loi normale

Message par messa le Mar 26 Juin 2012 - 10:04

merci droopy de m'avoir répondu assez vite,
effectivement j'ai tracé le graphe et je constate que ma distribution n'est pas vraiment lineaire
j'ai fai ce test pour pouvoir proceder à un autre teste celui de COORELATION DE SPEARMAN "vue que les deux distribution ne sont pas normales":
Code:
cor.test(data4$EXPPDS_CORR,data4$EXPPDS_PREV, method="spearman")
 Spearman's rank correlation rho

data:  data4$EXPPDS_CORR and data4$EXPPDS_PREV
S = 744293179, p-value < 2.2e-16
alternative hypothesis: true rho is not equal to 0
sample estimates:
      rho
0.9880752

Message d'avis :
In cor.test.default(data4$EXPPDS_CORR, data4$EXPPDS_PREV, method = "spearman") :
  Impossible de calculer les p-values exactes avec des ex-aequos

et je constate qu'il y a une forte signification entre data4$EXPPDS_CORR et data4$EXPPDS_CORR de 98,80752 %
ce que je veux savoir, si j'augmente dans ma base de donnée une valeur de data4$EXPPDS_CORR j'aurai également une aumentation sur la valeur de data4$EXPPDS_PREV? , autrement dit, es ce que avec ce test, je me permet de dire que si j'aumente une valeur dedata4$EXPPDS_CORR j'aurai focement une augmentation dans data4$EXPPDS_CORR avec un taux de 98,80752 %

cette etude est faite pour savoir s'il data4$EXPPDS_CORR " poids corrigé" influence data4$EXPPDS_CORR "poids prévu?

si t'a une autre idée qui peu mieux expliquer s'il y' a un lien entre ces deux variable, je te serais reconnaissant Wink

merciiiiii

messa

Nombre de messages : 11
Date d'inscription : 01/06/2012

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

la loi normale Empty Re: la loi normale

Message par droopy le Mar 26 Juin 2012 - 14:19

Une corrélation qui plus est non linéaire parce que basée sur les rangs ne permet pas de répondre à ce genre de choses: c'est un lien entre deux variables point. Si tu cherches à expliquer la variabilité d'une variable par rapport à l'autre alors c'est une régression dont tu as besoin.

Je t'invite à lire statistique pour les statophobes.
droopy
droopy

Nombre de messages : 1126
Date d'inscription : 04/09/2009

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

la loi normale Empty Re: la loi normale

Message par messa le Jeu 28 Juin 2012 - 14:07

J'ai procedé à une régression lineaire simple, mais j'ai verifié d'abord les conditions d'existence d'une regression :
  • variances homogènes (vc le test de bartlett et cie verifié)
  • les var réponses y sont indépendantes
  • l'erreur E suit la loi N(0, ρ²) ( test shapiro revèle la non normalite Sad


Malgré la non normalité des erreurs j'ai fait la régression :
Code:
> step(reglin1,~1+data3$EXPPDS_CORR, direction="backward")
Start:  AIC=96638.68
data3$EXPPDS_PREV ~ 1 + data3$EXPPDS_CORR

                    Df  Sum of Sq        RSS    AIC
<none>                            5.0143e+12  96639
- data3$EXPPDS_CORR  1 1.2728e+14 1.3229e+14 111842

Call:
lm(formula = data3$EXPPDS_PREV ~ 1 + data3$EXPPDS_CORR)

Coefficients:
      (Intercept)  data3$EXPPDS_CORR 
        5044.5488            0.9798 
Sachant que j'ai testé le tau de corrélation entre ces deux variables (une forte correlation de 97.73962%), que peut-on déduire? Est-ce qu'il y a un impact de la variable data3$EXPPDS_CORR (poids d'expedition prévu) sur la variable data3$EXPPDS_C (poids d'expedition prévu), sachant que mes erreurs ne suivent pas la loi normale?



Dernière édition par A.D. le Jeu 5 Juil 2012 - 9:37, édité 1 fois (Raison : balises code + orthographe)

messa

Nombre de messages : 11
Date d'inscription : 01/06/2012

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

la loi normale Empty Re: la loi normale

Message par Nik le Jeu 28 Juin 2012 - 20:11

La fonction step n'est pas une fonction de regression à proprement parler mais une fonction qui permet une forme de sélection de modèles.

Voir la fonction lm() pour la regression linéaire.

Nik

Nik

Nombre de messages : 1605
Date d'inscription : 23/05/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

la loi normale Empty Re: la loi normale

Message par messa le Lun 2 Juil 2012 - 9:14

step a pour but de sélectionner les variables prédictrices "explicatrices" en supprimant les variables par étape, et comme j'ai une seule variable, j'ai du faire ce test pour confirmer l'importance de celle-ci à travers le critère AIC, comme suit:
Code:
reglin1=lm(data3$EXPPDS_PREV~1+data3$EXPPDS_CORR)
reglin1
step(reglin1,~1+data3$EXPPDS_CORR, direction="backward")
Ma question : pour avoir une régression on devait verfier les trois conditions abordées ci-dessus (normalité, variance homogène, indépendance des variables réponses), or j'ai verifié que ma variable explicatrice ne suit pas une loi normale ( malgré le fait que graphiquement elle avait l'air scratch , donc j'ai pas de régression à mon avis??? Neutral
merciiii

messa

Nombre de messages : 11
Date d'inscription : 01/06/2012

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

la loi normale Empty Re: la loi normale

Message par droopy le Mer 4 Juil 2012 - 9:23

Ce n'est pas une bonne façon de faire ... Il aurait mieux fallu que tu testes l'importance de ta variable avec l'AICc en comparant le modèle avec et sans la variable. Voir le package MuMIn et la fonction dredge.

Ce qui compte dans une regression ce n'est pas que la variable explicatrice suive une loi normale, mais que l'erreur soit normalement distribué, ce qui n'est pas du tout la même chose :-) Il faut aussi que l'erreur soit indépendante et homogène.
droopy
droopy

Nombre de messages : 1126
Date d'inscription : 04/09/2009

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

la loi normale Empty Re: la loi normale

Message par Nik le Mer 4 Juil 2012 - 21:25

oui c'est une façon très étrange d'utiliser la fonction step et le critère d'Akaike. Je ne pense pas qu'il y ait une quelconque raison de l'utiliser dans ton cas. Même le critère AIC (pour lequel j'ai pourtant une forte affinité) ne me semble pas très pertinent dans ton cas. Il vaut mieux rester dans le champs classique du modèle linéaire quand on a une seule variable.

Au passage l'AIC ne constitue pas un test au sens statistique du terme. C'set tout autre chose.

nik

Nik

Nombre de messages : 1605
Date d'inscription : 23/05/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

la loi normale Empty Re: la loi normale

Message par messa le Jeu 5 Juil 2012 - 18:09

merci beaucoup pour vos reponse
j'aimerai bien savoir une formule qui calcule le taux des previsions justes; j'ai déja essayercelle la:
[Prévisions justes = 1- [ ( MAE[t-N;t] ÷ Reel[t-N;t] )*100 ]
mais elle me donne des resultat un peu bizare "des pourcentage negatifs voir meme au dessus de 1

sachant que MAE "moyenne absolue des erreurs" est obtenu par:
[MAE[t-N;t] = 1/N ∑ | Previ-Reeli |]

je vous remercie Wink

messa

Nombre de messages : 11
Date d'inscription : 01/06/2012

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

la loi normale Empty Re: la loi normale

Message par droopy le Lun 9 Juil 2012 - 8:36

Qu'est-ce que tu entends par taux de prévisions justes ?
droopy
droopy

Nombre de messages : 1126
Date d'inscription : 04/09/2009

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

la loi normale Empty Re: la loi normale

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum