summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2023-02-13 19:40:51 +0100
committerLoic Guegan <manzerbredes@mailbox.org>2023-02-13 19:40:51 +0100
commit4c1f0864049de29c8d8efb5ea126fceb604c1750 (patch)
tree8167b3953c12883748d4794ce930eb0ddacb4610
parentdc576537434ff6e10639e144f0be935ebc9afbc2 (diff)
Update
-rw-r--r--analysis/days.R38
-rw-r--r--analysis/figures/days_energy.pdfbin10178 -> 10283 bytes
-rw-r--r--analysis/figures/delta_coverage_training.pdfbin15320 -> 15705 bytes
-rw-r--r--analysis/figures/delta_energy_coverage.csv32
-rw-r--r--analysis/figures/delta_energy_training.pdfbin19693 -> 20017 bytes
-rw-r--r--analysis/figures/months_accuracy.pdfbin12114 -> 12650 bytes
-rw-r--r--analysis/figures/months_f1-score.pdfbin19355 -> 26356 bytes
7 files changed, 36 insertions, 34 deletions
diff --git a/analysis/days.R b/analysis/days.R
index deed14d..93d478e 100644
--- a/analysis/days.R
+++ b/analysis/days.R
@@ -53,7 +53,7 @@ F1_Score2=function(truth, pred){
}
## Down scale data
-reduce_days=function(data,every=6){data%>%filter(((days/3) %% every) == 0)}
+reduce_days=function(data,every=6){data%>%filter(((days/4) %% every) == 0)}
## GGPlot Theme
th = function(option="D") {list(theme_bw(),
@@ -83,7 +83,7 @@ generate_accuracy_for=function(ignore_hint=FALSE,seed_max=200,attempts_max=2,wrl
## KNN analysis
knn_cont_table=table(knn_predictions,test_set$simkey)
knn_accuracy=(sum(diag(knn_cont_table)/sum(rowSums(knn_cont_table))))
- print(knn_accuracy)
+ #print(knn_accuracy)
knn_prop_table=round(prop.table(knn_cont_table),digits=2)
knn_f1_score=F1_Score2(test_set$simkey,knn_predictions)
@@ -111,7 +111,7 @@ generate_accuracy_for=function(ignore_hint=FALSE,seed_max=200,attempts_max=2,wrl
}
-generate_accuracy_energy = function(wireless,wakeupfor,steps=1, accuracy=10,ignore_hint=TRUE){
+generate_accuracy_energy = function(wireless,wakeupfor,steps=1, accuracy=10,ignore_hint=FALSE){
## Setup variables
npolicies=4
data_seed_for_energy=data_seed%>%ungroup()
@@ -133,13 +133,13 @@ generate_accuracy_energy = function(wireless,wakeupfor,steps=1, accuracy=10,igno
########## Generate accuracy, energy, F1-Score and coverage data ##########
-if(T){ # Toggle to train
+if(F){ # Toggle to train
lora180=generate_accuracy_energy("lora",180)
lora60=generate_accuracy_energy("lora",60)
nbiot60=generate_accuracy_energy("nbiot",60)
nbiot180=generate_accuracy_energy("nbiot",180)
accuracy=rbind(lora60$accuracy,lora180$accuracy,nbiot60$accuracy,nbiot180$accuracy)
- coverage=data_seed%>%filter(simkey!="hint")%>%group_by(wireless,wakeupfor,seed)%>%summarize(coverage=sum(coverage))%>%mutate(days=seed*3)%>%filter(days %in% !!lora60$energy$days)%>%select(-seed)
+ coverage=data_seed%>%group_by(wireless,wakeupfor,seed)%>%summarize(coverage=sum(coverage))%>%mutate(days=seed*4)%>%filter(days %in% !!lora60$energy$days)%>%select(-seed)
energy=rbind(lora60$energy,
lora180$energy,
nbiot60$energy,
@@ -170,13 +170,14 @@ learning_curves=accuracy%>%group_by(wireless,wakeupfor,days,model)%>%
ggplot(data=learning_curves%>%mutate(model=ifelse(model=="knn","KNN","DT")),aes(linetype=model))+
geom_line(aes(days/30,mean_f1_baseline,color="Baseline"),size=1.2)+
geom_line(aes(days/30,mean_f1_extended,color="Extended"),size=1.2)+
+ geom_line(aes(days/30,mean_f1_hint,color="Hint"),size=1.2)+
geom_line(aes(days/30,mean_f1_hintandextended,color="Hintandextended"),size=1.2)+labs(color="Classes colors",linetype="Model")+
facet_wrap(~wireless+wakeupfor)+
scale_x_continuous(breaks = seq(0, max(learning_curves$days/30)))+
scale_y_continuous(breaks = seq(0, 1, by = 0.1))+
th()+
theme(panel.grid.minor = element_blank(),
- legend.position = c(0.9,0.74),
+ legend.position = c(0.9,0.72),
legend.margin = margin(2,4,2,4),
legend.spacing=unit(-0.2,"cm"),
legend.box.margin=margin(1,1,1,1))+
@@ -198,21 +199,22 @@ ggsave("figures/months_accuracy.pdf",width=8.5,height=6)
########## Energy and delta with raw policies ##########
+npolicies=4
## First we extended the number of seed to cover the entire duration of the training
data_seed_energy=rbind(data_seed,
data_seed%>%mutate(seed=seed+200),
data_seed%>%mutate(seed=seed+400),
data_seed%>%mutate(seed=seed+600)) # Almost same as if each experiment run 4 times more seed seed
-## Compute the cumulative energy of each policies in each configuration accross the 4*200 days
+## Compute the cumulative energy of each policies in each configuration accross the $npolicies*200 days
data_seed_energy=data_seed_energy%>%group_by(wireless,wakeupfor,simkey)%>%mutate(energy=cumsum(energy),setup=paste0(wireless," ",wakeupfor,"s"),days=seed)
-## Now sum coverage of each 3 days (like in the energy data frame)
-data_seed_energy=data_seed_energy%>%group_by(wireless,wakeupfor,simkey)%>%mutate(grp=ceiling(days/3))%>%group_by(wireless,wakeupfor,simkey,grp)%>%mutate(coverage=cumsum(coverage))%>%filter(days%%3==0)
+## Now sum coverage of each $npolicies days (like in the energy data frame)
+data_seed_energy=data_seed_energy%>%group_by(wireless,wakeupfor,simkey)%>%mutate(grp=ceiling(days/npolicies))%>%group_by(wireless,wakeupfor,simkey,grp)%>%mutate(coverage=cumsum(coverage))%>%filter(days%%npolicies==0)
## Now filter the data
data_seed_energy=data_seed_energy%>%filter(days %in% !!energy$days)
## Compute the delta data
energy_coverage_delta=data_seed_energy%>%
full_join(energy,by=c("days","wireless","wakeupfor"),suffix=c("","_training"))
-energy_coverage_delta=energy_coverage_delta%>%group_by(wireless,wakeupfor)%>%summarize(delta_energy=energy-energy_training,simkey=simkey,days=days,delta_coverage=(coverage-coverage_training)/3,coverage=coverage/3,coverage_training=coverage_training/3) # delta_coverage divide by 3 because we want the average per day (coverage is measure every 3 days (round-robin of 3 policies))
+energy_coverage_delta=energy_coverage_delta%>%group_by(wireless,wakeupfor)%>%summarize(delta_energy=energy-energy_training,simkey=simkey,days=days,delta_coverage=(coverage-coverage_training)/npolicies,coverage=coverage/npolicies,coverage_training=coverage_training/npolicies) # delta_coverage divide by $npolicies because we want the average per day (coverage is measure every $npolicies days (round-robin of $npolicies policies))
write("wireless,wakeupfor,policy,slope,intercept,delta_coverage,coverage,coverage_training,latex","figures/delta_energy_coverage.csv")
@@ -231,7 +233,7 @@ energy_coverage_delta%>%group_by(wireless,wakeupfor,simkey)%>%group_walk(functio
ggplot(energy_coverage_delta,aes(days/30,delta_energy/1e3,color=simkey,shape=simkey))+
geom_line(size=1.2)+ylab(TeX("Delta in $E_{total}$ (kJ)"))+xlab("Training duration (months)")+
facet_wrap(~wireless+wakeupfor,scale="free")+
- th()+theme(legend.position=c(0.61,0.95))+labs(color="Classes colors")
+ th()+theme(legend.position=c(0.61,0.97))+labs(color="Classes colors")
ggsave("figures/delta_energy_training.pdf",height=6,width=10)
ggplot(energy_coverage_delta,aes(days/30,delta_coverage,color=simkey))+
@@ -240,13 +242,13 @@ ggplot(energy_coverage_delta,aes(days/30,delta_coverage,color=simkey))+
th()+theme(legend.position="top")+labs(color="Classes colors")
ggsave("figures/delta_coverage_training.pdf",width=9)
-ggplot(data=energy,aes(days/30,energy/1e6,group=setup,fill=setup))+
- geom_bar(stat="identity",position="dodge")+
- labs(fill="Wireless and Uptime")+
- scale_x_continuous(breaks = seq(0, max(energy$days/30)))+
- xlab("Training duration (months)")+ylab("Energy consumption (MJ)")+
- th()+theme(legend.position=c(0.12,0.75))
-ggsave("figures/days_energy.pdf",width=8.5,height=4)
+## ggplot(data=energy,aes(days/30,energy/1e6,group=setup,fill=setup))+
+## geom_bar(stat="identity",position="dodge")+
+## labs(fill="Wireless and Uptime")+
+## scale_x_continuous(breaks = seq(0, max(energy$days/30)))+
+## xlab("Training duration (months)")+ylab("Energy consumption (MJ)")+
+## th()+theme(legend.position=c(0.12,0.75))
+## ggsave("figures/days_energy.pdf",width=8.5,height=4)
diff --git a/analysis/figures/days_energy.pdf b/analysis/figures/days_energy.pdf
index 324d5f5..f9b97c1 100644
--- a/analysis/figures/days_energy.pdf
+++ b/analysis/figures/days_energy.pdf
Binary files differ
diff --git a/analysis/figures/delta_coverage_training.pdf b/analysis/figures/delta_coverage_training.pdf
index 7fca6c9..340932e 100644
--- a/analysis/figures/delta_coverage_training.pdf
+++ b/analysis/figures/delta_coverage_training.pdf
Binary files differ
diff --git a/analysis/figures/delta_energy_coverage.csv b/analysis/figures/delta_energy_coverage.csv
index d483355..604566e 100644
--- a/analysis/figures/delta_energy_coverage.csv
+++ b/analysis/figures/delta_energy_coverage.csv
@@ -1,17 +1,17 @@
wireless,wakeupfor,policy,slope,intercept,delta_coverage,coverage,coverage_training,latex
-lora,60,baseline,-544,-1108,-4.2,0,4.2,"$\mathbf{s=-544,c_p=0,c_t=4.2}$"
-lora,60,extended,215,-880,1.8,6,4.2,"$\mathbf{s=215,c_p=6,c_t=4.2}$"
-lora,60,hint,-473,-840,-4.2,0,4.2,"$\mathbf{s=-473,c_p=0,c_t=4.2}$"
-lora,60,hintandextended,337,-923,2.4,6.6,4.2,"$\mathbf{s=337,c_p=6.6,c_t=4.2}$"
-lora,180,baseline,-676,-19,-6.1,2.2,8.3,"$\mathbf{s=-676,c_p=2.2,c_t=8.3}$"
-lora,180,extended,-483,84,2.5,10.9,8.3,"$\mathbf{s=-483,c_p=10.9,c_t=8.3}$"
-lora,180,hint,3132,-3341,2.9,11.2,8.3,"$\mathbf{s=3132,c_p=11.2,c_t=8.3}$"
-lora,180,hintandextended,1166,668,3.6,11.9,8.3,"$\mathbf{s=1166,c_p=11.9,c_t=8.3}$"
-nbiot,60,baseline,-97,-2827,-3,2.5,5.5,"$\mathbf{s=-97,c_p=2.5,c_t=5.5}$"
-nbiot,60,extended,-77,-2565,0.9,6.4,5.5,"$\mathbf{s=-77,c_p=6.4,c_t=5.5}$"
-nbiot,60,hint,216,-1557,-0.6,4.9,5.5,"$\mathbf{s=216,c_p=4.9,c_t=5.5}$"
-nbiot,60,hintandextended,179,20,2.1,7.6,5.5,"$\mathbf{s=179,c_p=7.6,c_t=5.5}$"
-nbiot,180,baseline,-1054,3070,-0.8,10.4,11.1,"$\mathbf{s=-1054,c_p=10.4,c_t=11.1}$"
-nbiot,180,extended,-1210,2996,0,11.1,11.1,"$\mathbf{s=-1210,c_p=11.1,c_t=11.1}$"
-nbiot,180,hint,2603,2433,0.7,11.9,11.1,"$\mathbf{s=2603,c_p=11.9,c_t=11.1}$"
-nbiot,180,hintandextended,2249,1118,0.8,11.9,11.1,"$\mathbf{s=2249,c_p=11.9,c_t=11.1}$"
+lora,60,baseline,-425,-1511,-3.1,0,3.1,"$\mathbf{s=-425,c_p=0,c_t=3.1}$"
+lora,60,extended,333,-1241,2.9,6,3.1,"$\mathbf{s=333,c_p=6,c_t=3.1}$"
+lora,60,hint,-354,-1223,-3.1,0,3.1,"$\mathbf{s=-354,c_p=0,c_t=3.1}$"
+lora,60,hintandextended,455,-1195,3.4,6.6,3.1,"$\mathbf{s=455,c_p=6.6,c_t=3.1}$"
+lora,180,baseline,-1469,7548,-6.8,2.2,9,"$\mathbf{s=-1469,c_p=2.2,c_t=9}$"
+lora,180,extended,-1276,7619,1.8,10.9,9,"$\mathbf{s=-1276,c_p=10.9,c_t=9}$"
+lora,180,hint,2343,3421,2.1,11.2,9,"$\mathbf{s=2343,c_p=11.2,c_t=9}$"
+lora,180,hintandextended,373,8204,2.9,11.9,9,"$\mathbf{s=373,c_p=11.9,c_t=9}$"
+nbiot,60,baseline,-150,-3928,-2.9,2.5,5.3,"$\mathbf{s=-150,c_p=2.5,c_t=5.3}$"
+nbiot,60,extended,-131,-3648,1,6.4,5.3,"$\mathbf{s=-131,c_p=6.4,c_t=5.3}$"
+nbiot,60,hint,163,-2628,-0.5,4.8,5.3,"$\mathbf{s=163,c_p=4.8,c_t=5.3}$"
+nbiot,60,hintandextended,125,-962,2.3,7.6,5.3,"$\mathbf{s=125,c_p=7.6,c_t=5.3}$"
+nbiot,180,baseline,-1722,8558,-1,10.4,11.3,"$\mathbf{s=-1722,c_p=10.4,c_t=11.3}$"
+nbiot,180,extended,-1878,8483,-0.2,11.1,11.3,"$\mathbf{s=-1878,c_p=11.1,c_t=11.3}$"
+nbiot,180,hint,1936,8002,0.5,11.9,11.3,"$\mathbf{s=1936,c_p=11.9,c_t=11.3}$"
+nbiot,180,hintandextended,1582,6657,0.6,11.9,11.3,"$\mathbf{s=1582,c_p=11.9,c_t=11.3}$"
diff --git a/analysis/figures/delta_energy_training.pdf b/analysis/figures/delta_energy_training.pdf
index ff96649..ac428e9 100644
--- a/analysis/figures/delta_energy_training.pdf
+++ b/analysis/figures/delta_energy_training.pdf
Binary files differ
diff --git a/analysis/figures/months_accuracy.pdf b/analysis/figures/months_accuracy.pdf
index e0cc6bc..420638d 100644
--- a/analysis/figures/months_accuracy.pdf
+++ b/analysis/figures/months_accuracy.pdf
Binary files differ
diff --git a/analysis/figures/months_f1-score.pdf b/analysis/figures/months_f1-score.pdf
index b45c1a4..4608038 100644
--- a/analysis/figures/months_f1-score.pdf
+++ b/analysis/figures/months_f1-score.pdf
Binary files differ