Beruflich Dokumente
Kultur Dokumente
la consommation totale
dlectricit par calage
avec ou sans rduction
du nombre de variables
auxiliaires.
Amin El Gareh et Cheikh Med
Lmami Bezeid
1.1
1.2
1.2.1
1.2.2
1.2.3
Consommation moyenne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Mesure de la dispersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Analyse en composantes principales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Prsentation du calage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1
2.2
2.3
Application du calage
11
2.3.1
2.3.2
3.1
3.1.1
3.1.2
3.2
4.1
Organigramme
18
4.2
19
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
14
15
1.1
1.2
1.2.1
Consommation moyenne
On considre la consommation moyenne comme tant la consommation totale prise en moyenne
sur toute la population et par jour de la semaine. Sur la figure 1.1, on a reprsent cette
consommation moyenne en fonction du temps en minutes, et les jours de la semaine y sont
dlimits par des traits verticals rouges. Lanalyse de la courbe des individus "rsidentiels" et
"autres", nous rvle le caractre cyclique de la consommation moyenne sur une priode de 24h.
La courbe des individus "petites & moyennes entreprises" indique une consommation moyenne
qui sapparente tre cyclique entre le lundi et le vendredi, mais qui ne lest pas le week-end.
Mesure de la dispersion
Lillustration 1.2 met en relation la variance de la consommation des individus avec la classe
dappartenance. On peut distinguer un cart important entre les variances des petites & moyennes
entreprises et les autres classes.
Figure 1.2 - Diagrammes en colonnes : variance de la consommation des individus par classes
Etudier la rpartition journalire des botes moustaches (no 1: lundi 5 octobre, ... , no 14:
dimanche 18 octobre) permet dabord de confirmer lintuition que nous avions concernant la
consommation moyenne journalire dlectricit qui savre tre effectivement rgulire. De
plus, la figure 1.3 indique la prsence dun nombre important dindividus atypiques, en particulier
"rsidentiel", et qui par consquent peuvent tre problmatique car ils peuvent biaiser les rsultats,
notamment pour la variance intra-classe.
Le cercle des corrlations pour le plan form des deux premiers axes factoriels est reprsent
figure 1.5 et 1.6. Toutes les variables sont bien reprsentes dans ce plan factoriel puisquelles
sont proches du bord du cerle de corrlation. Sur la figure 1.5 on a choisi de prendre les variables
reprsentatives dun jour entre le lundi et le samedi, soit le vendredi 9 octobre 2009, et pour une
meilleure visibilit nous avons divis la reprsentation des variables en deux parties: matin-midi
et midi-soir. Tandis que sur la figure 1.6 nous avons pris les variables reprsentatives du dimanche
11 octobre 2009.
Figure 1.5 - Cercle des corrlations, reprsentation des variables du vendredi 9 octobre 2009
Figure 1.6 - Cercle des corrlations, reprsentation des variables pour le dimanche 11 octobre
2009
Figure 1.7 - Reprsentation des individus dans le plan factoriel selon la classe dappartenance
On constate que les variables entre 8h et 18h sont bien reprsentes par rapport au premier
axe tandis que le reste des variables est moins bien reprsent. On peut donc dire que ce dernier
explique la consommation dlectricit.
En utilisant une approche simultane entre les graphes des individus et des variables, on
saperoit que tous les individus sont bien reprsents par rapport au premier axe. Par consquent,
ces mmes individus ont des valeurs leves pour les variables entre 8h et 18h.
Pour le cas particulier du dimanche, on constate que les variables sont toutes ngativement
corrls au deuxime axe. Cet axe explique la consommation, qui savre tre faible.
2. Prsentation du calage
En thorie des sondages, nous sommes souvent confronts lestimation du total dune variable
dintrt Y
ty =
yk
kU
2.1
ty =
Demonstration.
"
#
yk
= E
E[ty]
ks k
"
#
Ik yk
= E
kU k
E[Ik ]yk
k
kU
yk
kU
= ty
= E[ty]
ty = 0
Par consquent, Biais(ty)
2.2
tw,y = wks yk
ks
Proposition 2.2.1 Les poids wks dpendent de lchantillon alatoire et sont dtermins de sorte
que lestimateur soit cal sur les totaux des caractres auxiliaires.
twx = tx
twx = wks xk
ks
Comme il existe une infinit de poids wk qui satisfait la proposition 2.2.1, on va chercher
des poids proches des poids k1 du -estimateur. Notons:
dk =
1
,
k
ks
Le choix des poids wk proches de dk assure la convergence asymptotique de lestimateur de calage twy
vers lestimateur de Horvitz-Thompson ty
wk xk dk xk twy
ks
ty
ks
10
(P) :=
(wk dk )2
F
(w
,
d
)
=
min
k
k
k
dk
ks
ks
twx j = tx j
j = 1, ..., p
L(wk , j ) =
p
(wk dk )2
=
j
dk
j=1
ks
wk xk
ks
xk
kU
wk dk
2
dk
wk = dk
1
2
j xk j = 0
j=1
j xk
+1
(2.1)
j=1
tx j = wk xk j tx j = dk xk j
ks
ks
1
2
j xk
+1
j=1
1
tx j = dk xk j + dk xk j
2 ks
ks
j xk
j=1
tx = tx +
1
dk xtk xk
2 ks
dk xtk xk
ks
(tx tx )
11
w k = dk
1t
xk + 1
2
!1
= dk t (tx tx )
dk xtk xk
xk + 1
(2.2)
ks
= ks wk yk peut scrire
Enfin, lestimateur de calage twy
!1
= ty +t (tx tx )
twy
2.3
dk xtk xk
xk dk yk
ks
ks
(2.3)
Application du calage
On souhaite estimer la consommation totale dlectricit de la deuxime semaine, ty = 1485176258.
Il ya 336 variables auxiliaires, qui reprsentent les consommations prises toutes les 30 minutes
pendant la premire semaine. Et sont prsentes dans les vecteurs (tx j ) j=1,...,336 = kU xk j .
2.3.1
1
N
n
p(s) :=
si card(s) = n
sinon
Definition 2.3.2 Les probabilits dinclusion dordre un peuvent tre dduites du plan de
600
6291 .
12
On a simul I=500 chantillons alatoires simples sans remise de taille n=600, en utilisant la mthode de calage prsente au paragraphe 2.2 on obtient une estimation moyenne de
(i)
twy = 1I Ii=1 twy = 1492219885.
Pour comparer lestimateur de Horvitz-Thompson avec celui par le calage on utilise le
rapport des variances R qui suit:
R=
) Ii=1 (twy
(i) ty )2 1.747882e + 17
Var(twy
=
= 0.047365
(i)
Var(ty )
3.690269e + 18
Ii=1 (ty ty )2
La mme prcision est obtenue en utilisant le calage avec un plan SAS de taille n = 600*0.047365 = 29
quen prennant la mthode de Horvitz-Thompson avec un plan SAS de taille n = 600.
Le coefficient de variation cv est une mesure de dispersion relative, qui va tre utilis comme
contrle de qualit pour lestimateur de calage.
p
)
Var(twy
cv =
= 0.011618
twy
2.3.2
=
tstr
Nh
nh yk .
h=1
ksh
=
twstr
wk,s yk .
h
h=1
ksh
13
On a simul I = 500 chantillons tirs selon le plan Stratifi avec SAS chacun de taille
= 1504942728.
n = 600. On obtient une estimation moyenne de twstr
Pour comparer lestimateur de Horvitz-Thompson avec celui du calage pour ce plan on
calcule
R=
(i) ty )2
) Ii=1 (twstr
Var(twstr
= 0.231561
)
Var(tstr
(i) ty )2
Ii=1 (tstr
La mme prcision est obtenue en utilisant le calage par Stratification avec SAS de taille
n = 600* 0.231561 = 139 quen prennant la mthode de Horvitz-Thompson avec un plan SAS de
taille n = 600.
On calcule le coefficient de variation cv , qui vaut:
p
)
Var(twstr
= 0.02203803
cv =
twstr
Le calage qui a t effectu suivant lun ou lautre des plans utilise une pseudo-distance de
khi-deux. Cette pseudo-distance est lorigine de lobtention de poids ngatifs.
Pour y remdier on peut utiliser dautres mthodes comme logistique, raking ratio, linaire
tronque, ...
Le calage en prsence de beaucoup de variables auxilaires peut savrer instable surtout sil ya
des collinarits entre les variables auxiliaires. Une mthode pour palier cet incovnient est de
rduire linformation auxiliaire en ralisant une ACP.
3.1
3.1.1
Calage sur CP
Notre objectif est de trouver les poids de calage (wk )ks qui vrifient:
(P0 ) :=
(wk dk )2
F
(w
,
d
)
=
k
k
k
dk min
ks
ks
twz j = tz j
j = 1, ..., r
15
La rsolution du problme de minimisation (P0 ) est la mme que celle prsente au paragraphe 2.2, les poids wk sont donc:
wk = dk
1t
zk + 1
2
!1
= dk t (tz tz )
dk ztk zk
zk + 1
ks
= ks wk yk peut scrire
Et lestimateur de calage twy
!1
= ty +t (tz tz )
twy
3.2
dk ztk zk
zk dk yk
ks
ks
R=
) Ii=1 (twy
(i) ty )2 1.088333e + 17
Var(twy
=
= 0.029585
(i)
Var(ty )
3.678668e + 18
Ii=1 (ty ty )2
La mme prcision est obtenue en utilisant le calage sur CP avec un plan SAS de taille
n = 600*0.029585 = 18 quen prennant la mthode de Horvitz-Thompson avec un plan SAS de
taille n = 600.
)
Var(twy
Le coefficient de variation vaut: cv =
= 0.009377838 qui peut aussi sexprimer
twy
en pourcentage, soit cv = 0.9377838%
On va montrer que lestimateur du calage sur les deux premires CP est dans notre cas
, le rapport R et le
le meilleur estimateur. Pour se faire on a calculer lestimateur moyen twy
coefficient cv pour les CP compris entre 2 et 336.
16
Daprs la figure 1.8, la valeur de lestimateur moyen par calage diminue en fonction du
nombre de CP retenus. Le trait horizontal rouge reprsente la valeur exact de la consommation
total dlectricit.
17
De la figure 1.10 on retiendra que le choix des 2 premires composantes principales implique
une faible variation cv 1%, alors que pour un nombre de CP au dla de r = 50 le coefficient cv
devient relativement important (suprieur 5%).
Organigramme
Bibliothque des programmes R
4.1
Organigramme
Pour chacun des plans, on a cre un "main" ou autrement dit un programme principal, dont
les dpendances ont t gnralises. On distingue dun ct une dpendance conditionnelle
marque par des pointills, cest--dire que struct_conso sexcute que si la table conso nexiste
19
4.2
# struct_conso.R
# struct_conso permet de structurer la table "smart.278co.csv" avec "contrat.smartco.csv"
#
#=> en sortie :
# ~ conso : table des conso. des ind. classs par contrat
# ~ nconso : table uniquement avec les conso. des ind.
struct_conso=function(){
source(rename_col.R)
smart=read.table(smart.278co.csv, header = TRUE, sep=",")
smart[,1]=1:nrow(smart)
contrat=read.table(contrat.smartco.csv, header = TRUE, sep=",")
# renomme la table contrat, 1:Autres, 2:PM entreprises, 3:Rsidentiels
levels=c("Autres","PM entreprises","Rsidentiels")
for( i in 1:3){ contrat[which(contrat[,2]==i),2]=levels[i]; }
20
# rename_col.R
colnames(conso)=v;
21
# main_calage.R
# main_calage permet de calculer les estimateurs de calage et de horvitz-thompson
#
#=> en entre :
# ~ tab : la matrice contenant toutes les donnes
# ~ X_U : la matrice contenant linformation auxiliaire dans U
# ~ N : la taille de la population U
# ~ n : la taille de la pop. S
# ~ dk : linverse de la probabilit dinclusion pour un plan p(.) SAS
# ~ sem1.var : les indices des var. de la semaine 1
# ~ sem2.var : les indices des var. de la semaine 2
# ~ nom_plan : SC = SAS+Calage | SSC = Strat+SAS+Calage | SAC = SAS+ACP+Calage
main_calage=function(tab,X_U,N,n,dk,sem1.var,sem2.var,nom_plan){
echt = echantillonage(tab,X_U,N,n,sem1.var,sem2.var,nom_plan) # echantillonage
X_S = echt$X_S; Y_S=echt$Y_S
yk=apply(Y_S,1,sum) # conso. de lindividu k dans S pdt la sem2
calage.conso = calage_fun(dk,X_S,X_U) # fonction de calage
est.ty = calage.conso$wk %*% yk # estimateur de calage
est.hty = sum(dk*yk) # estimateur de hovitz-thompson
list( est.ty=est.ty, est.hty=est.hty)
}
22
# echantillonage.R
23
# main_SC.R
##################################################################
#######
########
##################################################################
setwd("F:/Master 2 MIGS/projet/")
24
# main_SSC.R
########################################################################
#
# #######
CALAGE SELON UN PLAN STRAT AVEC SAS
########
#
# ######################################################################
setwd("F:/Master 2 MIGS/projet/") # chemin du dossier courant
# si la table conso nexiste pas dans le workspace, alors
# on creer la table conso et nconso (sans var. qualitative) avec la fonction struct_conso
if( exists("conso")=="FALSE" ){
source(struct_conso.R)
struct_conso=struct_conso()
conso=struct_conso$conso; nconso=struct_conso$nconso
n=struct_conso$n; p=struct_conso$p
}
source(echantillonage.R); source(main_calage.R); source(calage_fun.R)
library(MASS)
N=nrow(nconso) # U
n=600; # S
P=ncol(nconso) # nombre total de variables
p=336 # nombre de variables auxiliaires
sem1.var=1:p # indice des var de la sem1
sem2.var=(p+1):P # indice des var de la sem2
class.contrat=conso[,1]
fac=as.factor(class.contrat)
levels=c("Autres","PM entreprises","Rsidentiels")
sem2.var=(p+1):P # indice des var de la sem2
Y_U=as.matrix(nconso[,sem2.var])
yk=apply(Y_U,1,sum) # conso de lindividu k dans U pdt la sem2
ty=sum(yk) # conso total sem2
lest.ty=list(); lest.hty=list()
for(j in 1:10){
twy=list(); htwy=list(); k=1
for(i in levels){
aux = factor( (fac%in%i)*1 )
Nh = length( which(aux==1) ) # Uh
nh = round(n*Nh/N) # Sh
25
# main_SA2C.R
##################################################################
#######
########
##################################################################
setwd("F:/Master 2 MIGS/projet/") # chemin du dossier courant
26
27
# main_SAC.R
#############################################################################
#######
########
#############################################################################
setwd("F:/Master 2 MIGS/projet/") # chemin du dossier courant
# si la table conso nexiste pas dans le workspace, alors
# on creer la table conso et nconso (sans var. qualitative) avec la fonction struct_conso
if( exists("conso")=="FALSE" ){
source(struct_conso.R)
struct_conso=struct_conso()
conso=struct_conso$conso; nconso=struct_conso$nconso
}
source(echantillonage.R)
source(calage_fun.R)
source(main_calage.R)
# install.packages("ade4")
library(ade4)
library(MASS)
N=nrow(nconso) # U
n=600 # S
P=ncol(nconso) # nombre de variable
p=336 # nombre de variable auxiliaire de depart
sem1.var=1:p # indice des var de la sem1
sem2.var=(p+1):P # indice des var de la sem2
X_U=as.matrix(nconso[,sem1.var]) # conso des ind de U pour la sem1
Y_U=as.matrix(nconso[,sem2.var]) # conso des ind de U pour la sem2
yk=apply(Y_U,1,sum) # conso de lindividu k dans U pdt la sem2
ty=sum(yk) # conso total sem2
dk=N/n # linverse de la probabilite dinclusion pour un plan p(.) SAS
28
5. Conclusion
Bibliographie