{"word_count": 177, "character_count": 1668}
Pour le devoir de série temporelles, les données fournies par Google trend sont hebdomadaires, ce qui peut rendre la modélisation compliquée. Comme on l'a évoqué en cours, il peut être plus simple de travailler sur des données mensuelles. La petite fonction suivante permet de transformer les données pour avoir des données mensuelles (avec des moyennes par mois, ce qui fait qu'un mois de 28 jours et un mois de 31 jours sont comparables). Histoire d'illustrer, prenons un mot au hasard, disons.... épilation. On commence par sauver le fichier csv, et on le lit sous R,EPILATION=read.table("/home/charpentier/report-epilation.csv", skip=4,header=TRUE,sep=",",nrows=426)La petite fonction suivant va nous aider à convertir la base en une série temporelle mensuelle,H2M=function(BASE){ X=BASE[,2] date1=substr(as.character(BASE$Semaine),1,10) date2=substr(as.character(BASE$Semaine),14,23) D1=as.Date(date1,"%Y-%m-%d") D2=as.Date(date2,"%Y-%m-%d") vm=vy=N=NA for(t in 1:length(D1)){ mois=seq(D1[t],D2[t],length=7) vm=c(vm,as.POSIXlt(mois)$mon+1) vy=c(vy,as.POSIXlt(mois)$year+1900) N=c(N,rep(X[t],7))} N=N[-1]; vm=vm[-1]; vy=vy[-1] YM=vy*100+vm Z=tapply(N,as.factor(YM),mean) Zts=ts(Z,start=c(2004,1),frequency=12) return(Zts)}Si on travaille sur la série hebdomadaire, on a la série suivantehebdo=ts(EPILATION$épilation,start=2004, frequency=52)La fonction d'autocorrélation est alorsacf(hebdo,160)Maintenant, on peut travailler sur les données mensuelles. On utilise alorsmensuel=H2M(EPILATION)Le graphique est alors le suivantLa fonction d'autocorrélation est cette fois la suivanteacf(mensuel,40)On retrouve le comportement cyclique, avec une saisonnalité annuelle.