diff options
| -rw-r--r-- | analysis/days.R | 38 | ||||
| -rw-r--r-- | analysis/figures/days_energy.pdf | bin | 10178 -> 10283 bytes | |||
| -rw-r--r-- | analysis/figures/delta_coverage_training.pdf | bin | 15320 -> 15705 bytes | |||
| -rw-r--r-- | analysis/figures/delta_energy_coverage.csv | 32 | ||||
| -rw-r--r-- | analysis/figures/delta_energy_training.pdf | bin | 19693 -> 20017 bytes | |||
| -rw-r--r-- | analysis/figures/months_accuracy.pdf | bin | 12114 -> 12650 bytes | |||
| -rw-r--r-- | analysis/figures/months_f1-score.pdf | bin | 19355 -> 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 Binary files differindex 324d5f5..f9b97c1 100644 --- a/analysis/figures/days_energy.pdf +++ b/analysis/figures/days_energy.pdf diff --git a/analysis/figures/delta_coverage_training.pdf b/analysis/figures/delta_coverage_training.pdf Binary files differindex 7fca6c9..340932e 100644 --- a/analysis/figures/delta_coverage_training.pdf +++ b/analysis/figures/delta_coverage_training.pdf 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 Binary files differindex ff96649..ac428e9 100644 --- a/analysis/figures/delta_energy_training.pdf +++ b/analysis/figures/delta_energy_training.pdf diff --git a/analysis/figures/months_accuracy.pdf b/analysis/figures/months_accuracy.pdf Binary files differindex e0cc6bc..420638d 100644 --- a/analysis/figures/months_accuracy.pdf +++ b/analysis/figures/months_accuracy.pdf diff --git a/analysis/figures/months_f1-score.pdf b/analysis/figures/months_f1-score.pdf Binary files differindex b45c1a4..4608038 100644 --- a/analysis/figures/months_f1-score.pdf +++ b/analysis/figures/months_f1-score.pdf |
