Groupe des utilisateurs du logiciel R Index du Forum Groupe des utilisateurs du logiciel R
Un forum francophone d'échange autour du logiciel de calcul statistique R dans le domaine de la recherche agronomique tropicale
 
 FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres   Groupes d'utilisateursGroupes d'utilisateurs   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Regression Non parametrique

 
Poster un nouveau sujet   Répondre au sujet    Groupe des utilisateurs du logiciel R Index du Forum -> Questions en cours
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
Geissmann Gael



Inscrit le: 04 Avr 2007
Messages: 11
Localisation: FREJUS

MessagePosté le: Mer Avr 04, 2007 1:59 pm    Sujet du message: Regression Non parametrique Répondre en citant

Bonjour ,

Voila je viens de tomber sur ce forum et je le trouve fort sympatique .

Donc je vous explique un peu mon cas , je réalise actuellement un modèle sur "une regression non paramètrique" assez simple les données contiennent 3 colonnes

prélèvement du 1er juillet au 16 septembre de 00:15 a 23:15 toutes les 15 minutes et tous les jours date format jj/mm/aa heure : hh:mm

-1ere colonne dateJ = jour
-2eme colonne dateH =heure
-3eme colonne donne = données d ozone en (ug/m3)

Voila ce que je voudrai faire :

Je voudrai tracer 3 graphes celui du

-1er juillet en fonction de l' heure
-celui du mois de juillet en fonction jour et heure
-le général en fonction jour moi et heure

ensuite il faudrait que j applique la regression grace a la fonction loess et peut etre spline. pa dans R mais j avoue que j ai un peu de mal car je n ai pas l 'habitude , je ne travail pas sur ce langage .

Voila je mettrai en ligne les données demain ainsi que le début de mon programme .(car je ne suis aps sur mon pc)

Si certains d entre pourrai m aider je leur en serai très reconnaisant merci a demain :)
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Geissmann Gael



Inscrit le: 04 Avr 2007
Messages: 11
Localisation: FREJUS

MessagePosté le: Mer Avr 04, 2007 4:48 pm    Sujet du message: Répondre en citant

pas de réponse svp ?
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Logez Maxime



Inscrit le: 26 Sep 2006
Messages: 2101
Localisation: Cemagref Aix en Provence

MessagePosté le: Mer Avr 04, 2007 4:57 pm    Sujet du message: Répondre en citant

Bonjour,

Une question concernant tes données comment les as-tu incoporés dans R, s'agit-il de nombre, de chaine de caractères ou encore de date au sens format date de R ?

Maxime
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Geissmann Gael



Inscrit le: 04 Avr 2007
Messages: 11
Localisation: FREJUS

MessagePosté le: Mer Avr 04, 2007 5:33 pm    Sujet du message: Répondre en citant

pour heure etn jour c est des date au format date de R pour la 3 eme colonne ozone c des nombres entre 5 et 500
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Logez Maxime



Inscrit le: 26 Sep 2006
Messages: 2101
Localisation: Cemagref Aix en Provence

MessagePosté le: Mer Avr 04, 2007 6:27 pm    Sujet du message: Répondre en citant

Re,

Peux tu juste mettre les 10 premières lignes de ton tableau par exemple.
Code:
# ne connaissant pas vraiment tes données je te propose ça
# pour le mois de juillet, data etant le tablmeau de données
plot(data$dateJ[format(data$dateJ,"%m")=="07"],data$donne[format(data$dateJ,"%m")=="07"])
# pour le premier Juillet
plot(data$dateH[format(data$dateJ,"%d/%m")=="01/07"], data$donne[format(data$dateJ,"%d/%m")=="01/07"])
# pour le complet
plot(data$dateH,data$donne)


En espérant t'avoir aidé un peu.

Maxime


Dernière édition par Logez Maxime le Mer Avr 04, 2007 6:37 pm; édité 1 fois
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Geissmann Gael



Inscrit le: 04 Avr 2007
Messages: 11
Localisation: FREJUS

MessagePosté le: Mer Avr 04, 2007 6:33 pm    Sujet du message: Répondre en citant

pas de problème , la actuellement je ne suis pas sur mon ordi je les mettrai demain a 10h
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Geissmann Gael



Inscrit le: 04 Avr 2007
Messages: 11
Localisation: FREJUS

MessagePosté le: Jeu Avr 05, 2007 8:10 am    Sujet du message: Répondre en citant

Voila le début de mon programme

#PROGRAMME : estimation d'un modèle de regressioin non paramétrique

#importation des données
#On copie et stocke les donées de ozone.txt dans l'objet "ozo"
ozo<-read.table("ozone.txt",header=TRUE,sep='')

datej<-ozo[,1]
dateh<-ozo[,2]
donne<-ozo[,3]

#L'étude se fait du 1er juillet au 16 Septembre avec 95 mesures/jour soit un total de 7392 mesures
#Etudions les graphiques d'un jour , mois et le total

#plot du 1er juillet (95 mesures)
plot(ozo[1:95,2],ozo[1:95,3],type="p",col="yellow",main="1er Juillet",xlab="Temps(heures)",ylab="ozone(ug/m3)")

#plot du mois de juillet (95 mesures *31jours soit =2945 mesures effectuées) FAUTE
plot(ozo[1:2975,2],ozo[1:2975,3],type="p",col="blue",main="Mois de Juillet",xlab="Temps(heures)",ylab="ozone(ug/m3)")

#plot du 1er Juillet au 16 septebre (7392 mesures)
# mais flou COMMENT AMELIORER ... ????
ozo$date <- as.Date(as.character(datej) , format = "%d/%m/%Y")
ozo$Heure <- format(dateh, format = "%H:%M")
time<-as.POSIXct(paste(ozo$date,ozo$Heure))
plot(time,donne,col="blue",main="1e juiller au 16 septembre",xlab="Temps(jours)",ylab="ozone(ug/m3)")

et les fichier ozone.txt est le suivant (les 15 premieres lignes

on voit bien que les graphes total et pour le mois de juillet ne sont pas clars
-------------------------
l erreur avec les commandes que tu ma donné sont celle la :

"error in xy.coords(x, y, xlabel, ylabel, log) :
x and y lengths differ"

JOUR HEURE Ozone(ug/m3)
01/07/03 00:15 79
01/07/03 00:30 77
01/07/03 00:45 77
01/07/03 01:00 77
01/07/03 01:15 77
01/07/03 01:30 76
01/07/03 01:45 75
01/07/03 02:00 77
01/07/03 02:15 75
01/07/03 02:30 71
01/07/03 02:45 73
01/07/03 03:00 69
01/07/03 03:15 3
01/07/03 03:30 40
01/07/03 03:45 13
01/07/03 04:00 17
01/07/03 04:15 73
01/07/03 04:30 71
01/07/03 04:45 69
01/07/03 05:00 63
01/07/03 05:15 66
01/07/03 05:30 67

Voila merci encore
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Geissmann Gael



Inscrit le: 04 Avr 2007
Messages: 11
Localisation: FREJUS

MessagePosté le: Sam Avr 07, 2007 12:53 pm    Sujet du message: Répondre en citant

Quelques petit conseil ? ?? ?

merci :)
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Renaud Lancelot



Inscrit le: 16 Déc 2004
Messages: 2454
Localisation: CIRAD, Montpellier

MessagePosté le: Dim Avr 08, 2007 11:31 am    Sujet du message: Répondre en citant

Voici un exemple en utilisant le modèle graphique Trellis (package lattice). Il y a une astuce pour calculer loess et splines: il faut centrer la variable Time (ou autre recodage) pour éviter les dépassements numériques (temps calculé en secondes depuis 1970 avec format POSIXct). Pour ajuster les réglages des splines ou loess, voir les fct s et lo dans le package gam.

Renaud

Code:
ozone <- read.table("ozone.txt", header = TRUE, sep = " ")

ozone$Jour  <- as.Date(as.character(ozone$JOUR) , format = "%d/%m/%y")
ozone$Heure <- format(ozone$HEURE, format = "%H:%M")
Time <-as.POSIXct(paste(ozone$Jour, ozone$Heure))

>   ozone
       JOUR HEURE Ozone       Jour Heure
1  01/07/03 00:15    79 2003-07-01 00:15
2  01/07/03 00:30    77 2003-07-01 00:30
3  01/07/03 00:45    77 2003-07-01 00:45
4  01/07/03 01:00    77 2003-07-01 01:00
5  01/07/03 01:15    77 2003-07-01 01:15
6  01/07/03 01:30    76 2003-07-01 01:30
7  01/07/03 01:45    75 2003-07-01 01:45
8  01/07/03 02:00    77 2003-07-01 02:00
9  01/07/03 02:15    75 2003-07-01 02:15
10 01/07/03 02:30    71 2003-07-01 02:30
11 01/07/03 02:45    73 2003-07-01 02:45
12 01/07/03 03:00    69 2003-07-01 03:00
13 01/07/03 03:15     3 2003-07-01 03:15
14 01/07/03 03:30    40 2003-07-01 03:30
15 01/07/03 03:45    13 2003-07-01 03:45
16 01/07/03 04:00    17 2003-07-01 04:00
17 01/07/03 04:15    73 2003-07-01 04:15
18 01/07/03 04:30    71 2003-07-01 04:30
19 01/07/03 04:45    69 2003-07-01 04:45
20 01/07/03 05:00    63 2003-07-01 05:00
21 01/07/03 05:15    66 2003-07-01 05:15
22 01/07/03 05:30    67 2003-07-01 05:30


library(lattice)
library(gam)

xyplot(Ozone ~ Time, data = ozone, aspect = "xy",
  panel = function(x, y){
# trace une grille
    panel.grid()
# trace une ligne joignant les points
    panel.xyplot(x, y, type = "l", lty = "dotdash")
# trace les points
    panel.xyplot(x, y, cex = 1.2, pch = 21, fill = "light blue", col = "blue")
# lissage spline
    m <- mean(x)
    X <- x - m
    fm1 <- gam(y ~ s(X))
    llines(x, fitted(fm1), col = "red")
# lissage loess
    fm2 <- gam(y ~ lo(X))
    llines(x, fitted(fm2), col = "green")
    },
  key = list(space = "right",
             text = list(c("data", "spline", "loess")),
             lines = list(col = c("blue", "red", "green"),
                          lty = c("dotdash", "solid", "solid")))
  )
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur
Geissmann Gael



Inscrit le: 04 Avr 2007
Messages: 11
Localisation: FREJUS

MessagePosté le: Dim Avr 08, 2007 1:43 pm    Sujet du message: Répondre en citant

Merci ,

jsute une petite erreur
"Time <-as.POSIXct(paste(ozone$Jour, ozone$Heure))
Erreur dans fromchar(unclass(x)) : la chaîne de caractères n'est pas dans un format standard non ambigu
"
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Renaud Lancelot



Inscrit le: 16 Déc 2004
Messages: 2454
Localisation: CIRAD, Montpellier

MessagePosté le: Lun Avr 09, 2007 10:08 am    Sujet du message: Répondre en citant

L'exemple que j'ai donné fonctionne de mon côté. Je suis parti du fichier tel que vous l'avez envoyé (copié dans le presse-papier, importé dans R avec read.table(file = "clipboard") puis sauvegardé au format ASCII dans mon répertoire de travail). Il faut adapter ce code au format de votre jeu de données. L'essentiel de l'exemple répond à votre question initiale:

Citation:
ensuite il faudrait que j applique la regression grace a la fonction loess et peut etre spline. pa dans R mais j avoue que j ai un peu de mal car je n ai pas l 'habitude , je ne travail pas sur ce langage .


Le code que vous utilisez est assez avancé. Si c'est vous qui l'avez écrit, vous devriez trouver facilement la source des erreurs que vous mentionnez. Sinon, vous ne pourrez pas faire l'économie de passer qques jours ou semaines à étudier les manuels de base sur R (nombreuses ressources gratuites, y compris dans l'installation de base de R ou sur le site CRAN). C'est un investissement utile. Nous ne pouvons pas le faire à votre place ;-)

Renaud
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur
Geissmann Gael



Inscrit le: 04 Avr 2007
Messages: 11
Localisation: FREJUS

MessagePosté le: Jeu Avr 12, 2007 2:58 pm    Sujet du message: Répondre en citant

Merci pour ces réponse Juste quelque petites questions :

-pouvait vous me donner une url du package pour R et windows
-Y a t il uine autre solution pour réaliser cette regression non para. sans package ?

Merci beacoup
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Renaud Lancelot



Inscrit le: 16 Déc 2004
Messages: 2454
Localisation: CIRAD, Montpellier

MessagePosté le: Ven Avr 13, 2007 1:30 pm    Sujet du message: Répondre en citant

Geissmann Gael a écrit:
Merci pour ces réponse Juste quelque petites questions :

-pouvait vous me donner une url du package pour R et windows


gam est sur le site CRAN, directement accessible depuis R (RGui pour Windows) par le menu "Packages", option "Installer le(s) package(s)".

Citation:
-Y a t il uine autre solution pour réaliser cette regression non para. sans package ?

Merci beacoup


Toutes les fonctions, y compris les plus communes, sont dans des packages !

Si vous voulez dire "un package se trouvant dans l'installation de base de R", voir les packages splines et mgcv, mais l'interface (fcts permettant de faire les calculs) est plus complexe.

Renaud
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur
Geissmann Gael



Inscrit le: 04 Avr 2007
Messages: 11
Localisation: FREJUS

MessagePosté le: Dim Avr 15, 2007 2:09 pm    Sujet du message: Répondre en citant

xyplot(Ozone ~ Time, data = ozone, aspect = "xy",
panel = function(x, y){

aparemment il ya une erreur sur cett ligne je n arrive pas a la trouvé

l erreur est : Erreur dans `[.data.frame`(y, id) : colonnes non définies sélectionnées
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Renaud Lancelot



Inscrit le: 16 Déc 2004
Messages: 2454
Localisation: CIRAD, Montpellier

MessagePosté le: Dim Avr 15, 2007 3:36 pm    Sujet du message: Répondre en citant

Vérifier les noms des variables dans la formule et le data.frame.

Renaud
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Groupe des utilisateurs du logiciel R Index du Forum -> Questions en cours Toutes les heures sont au format GMT
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous pouvez éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com

Anti Bot Question MOD - phpBB MOD against Spam Bots
Inscriptions bloqués / messages: 77947 / 692