Rendre normale des données

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Mazerie Isabelle
Messages : 19
Enregistré le : 04 Juin 2012, 07:59

Rendre normale des données

Messagepar Mazerie Isabelle » 04 Juin 2012, 09:56

Bonjour,

Je me lance dans de lourde statistique pour comprendre les varations de plusieurs jeu de données. Pour cela j'ai beaucoup de paramètres. Les principaux sont la quantité épandue, celle-ci est normalement contrôlé, elle n'est pas continu, cependant il y a eu des probleme de matériel et donc des données non régulière. Pour l'instant je veux comprendre si le volume épandu à un impact sur l'humidité d'un substrat en surface et en profonfeur.

Mon premier problème et que mes données ne sont pas normales, et les fonctions de bases (log, racine, exp..) ne vont pas pour les normaliser. Je voudrais donc utilisé la fonction boxcox, mais j'avoue être un peu perdu!

D'autre part, je me mélange un peu les pinceaux, dois-je avoir une distribution normale sur ma quantité de volume épandues (normalement contrôlé, elle varie biensûr un peu, et nous avons effectué différent scenarii).
Pour cette donnée, la fonction racine me permet de passer d'une probabilité avec Shapiro test de:2,8*10^7 à 0,02; ce qui est nettement mieux, mais toujours non significatif. Est ce que je peux quand même les utilisé en les considérant normales ou ce n'est pas toléré.

Cordialement,
isabelle

Ps= je voudrais pas la suite effectué des stats en analyse temporelles, car le temps à un impact sur les variable!
[/img]

Navarre Julien
Messages : 367
Enregistré le : 20 Avr 2012, 08:27

Messagepar Navarre Julien » 04 Juin 2012, 10:15

Salut,

me semble que la fonction :

Code : Tout sélectionner

scale(Ta.Matrice, center = TRUE, scale = FALSE)

permet de normaliser les données de chaque colonnes d'une matrice.

Tu peux vérifier après en relançant un test de shapiro avec shapiro.test()

Nicolas Péru
Messages : 1408
Enregistré le : 07 Aoû 2006, 08:13

Messagepar Nicolas Péru » 04 Juin 2012, 10:28

Salut,

On est quand même largement hors champs de ce forum qui se consacre (pour rappel) à l'utilisation de R.
Mon premier problème et que mes données ne sont pas normales, et les fonctions de bases (log, racine, exp..) ne vont pas pour les normaliser. Je voudrais donc utilisé la fonction boxcox, mais j'avoue être un peu perdu!

il faut peut être en dire un peu plus sur pourquoi tu es perdue dans l'utilsation de la fonction boxcox. Il faut surtout avant tout se demander pourquoi tu veux obtenir des données normalement distribuées car il n'y a pas grand chose de bon à tirer d'une transformation à l'aveuglette. Il est peu probable que cette transformation soit neutre au regard des paramètres qui t'intéressent.

Pour cette donnée, la fonction racine me permet de passer d'une probabilité avec Shapiro test de:2,8*10^7 à 0,02; ce qui est nettement mieux, mais toujours non significatif.

justement c'est significatif...donc tu rejette H0 l'hypothèse d'adéquation à une loi normale.
Est ce que je peux quand même les utilisé en les considérant normales ou ce n'est pas toléré.

Tu fais ce que tu veux mais pourquoi fais tu des tests d'hypothèse si ce n'est pas pour en tenir compte ?

Sinon je confirme que la fonction donnée par Julien permet bien de normer des distributions en colonne dans une matrice.

Mazerie Isabelle
Messages : 19
Enregistré le : 04 Juin 2012, 07:59

Messagepar Mazerie Isabelle » 04 Juin 2012, 10:55

Merci pour ces informations,

désolés si je m’égare dans mes explications. Je veux transformer mes données en loi normale, d'une part car je vais devoir effectuer des test en analyse temporelle, et si je ne me trompe pas ce sont des tests paramétriques. D'autre part, pour l'instant je suis amenée à effectuer des corrélations et je voudrais rester dans du paramétrique pour être effectuer mes stat sur le même jeu de donnée.

J'ai essayé la fonction scale, mais ceci ne fonctionne pas dons mon cas. (d'après les shapiro.test). c'est pour cela que je voulais passer par un boxcox.

Ma derniere question concernant mon shapiro test, je me suis mélanger, mais biensur ces significatif, donc ça ne suis pas une loi normale.

Je vous remercie pour cette aide.

Cordialement,

Isabelle

Dominique Soudant
Messages : 758
Enregistré le : 23 Avr 2008, 11:12
Contact :

Messagepar Dominique Soudant » 04 Juin 2012, 11:13

scale centre et réduit.

Pour trouver la transformation qui normalise tes données faudrait déjà savoir la tête qu'elles ont au départ. Si elles sont lognormales, prendre le log10 arrange bien les choses.

Pour ce qui est des analyses temporelles, il existe des approche non paramétriques, loess, test saisonnier de tendance monotone de Mann-Kendal.

Pour ce qui est des tests de normalité, je crois qu'un paradoxe du shapiro c'est que plus il y a de données plus il est sensible aux petits écarts à la normalité. Lorsque je m'étais posé la question, j'avais conclu qu'il n'y avait pas de solution satisfaisante en la matière, les méthodes graphiques apparaissent non-objectives, mais ce n'est sans doute pas les pires. Pas de solution, sauf à passer à du non paramétrique.

Nicolas Péru
Messages : 1408
Enregistré le : 07 Aoû 2006, 08:13

Messagepar Nicolas Péru » 04 Juin 2012, 11:47

d'une part car je vais devoir effectuer des test en analyse temporelle, et si je ne me trompe pas ce sont des tests paramétriques

une série temporelle n'implique pas une variable distribuée nomalement. Ce qui compte c'est la distribution des erreurs du modèle. Donc tu ne peux pas juger à priori de la distribution des erreurs temporellement sans avoir fait tourner le modèle une première fois.

La transformation des données ne doit pas être guidée par un objectif mathématique uniquement. Je le répète, les transformations ne sont pas neutres dans les analyses et elles posent donc des hypothèses à priori sur les données qui ne sont pas toujours souhaitables (voire même rarement). La transformation box cox fait parti de ces transformations miracle qui semblent aller dans le sens de ce qu'on souhaite obtenir mais qui peuvent avoir de lourdes conséquences.

La première des choses c'est plutôt de voir s'il existe des analyses qui peuvent coller aux données avant de les transformer à tout va pour que ça colle à ce que l'on sait faire.

Nicolas


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité