diff options
| author | Loic Guegan <manzerbredes@mailbox.org> | 2022-11-07 13:54:33 +0100 |
|---|---|---|
| committer | Loic Guegan <manzerbredes@mailbox.org> | 2022-11-07 13:54:33 +0100 |
| commit | 2f3c41d6a3ff84c430c78a15b5f96085362ad7a5 (patch) | |
| tree | e7d657adac8b02be470650eed99987d23753e7c9 /analysis | |
| parent | d26603fb00c53847f95c393a0f0f0e81edff89e6 (diff) | |
Minor changes
Diffstat (limited to 'analysis')
16 files changed, 78 insertions, 4 deletions
diff --git a/analysis/analysis.R b/analysis/analysis.R index 2e54763..f38a1a3 100644 --- a/analysis/analysis.R +++ b/analysis/analysis.R @@ -30,8 +30,6 @@ data_seed=data%>%group_by(simkey,wireless,wakeupfor,seed)%>%summarize(energy=sum mutate(efficiency=energy/coverage)%>% ungroup() - - ## Perform various plots to understand the data GG_VARIOUS=function(){ ## Dimension Coverage @@ -47,12 +45,29 @@ GG_VARIOUS=function(){ aes(simkey,efficiency,color=wakeupfor))+ geom_point()+facet_wrap(~wireless+wakeupfor)+ggtitle("Dimension Efficiency")+ylab("Efficiency (J/Succ)") ggsave("figures/dimension_efficiency.pdf") + ## Dimension Energy/Coverage + ggplot(data_seed%>%mutate(wakeupfor=as.character(wakeupfor)), + aes(coverage,energy,color=simkey))+geom_point()+ + ggtitle("Dimension Energy/Coverage")+xlab("Coverage")+ylab("Sum of nodes energy consumption (J)")+ + facet_wrap(~wakeupfor+wireless,scale="free") + ggsave("figures/dimension_energy-coverage.pdf") + ## Dimension Energy/Coverage Wakeupfor + ggplot(data_seed%>%mutate(wakeupfor=as.character(wakeupfor)), + aes(coverage,energy,color=wakeupfor))+geom_point()+ + ggtitle("Dimension Energy/Coverage Wakeupfor")+xlab("Coverage")+ylab("Sum of nodes energy consumption (J)") + ggsave("figures/dimension_energy-coverage-wakeupfor.pdf") + ## Dimension Energy/Coverage Policy + ggplot(data_seed%>%mutate(wakeupfor=as.character(wakeupfor)), + aes(coverage,energy,color=simkey))+geom_point()+ + ggtitle("Dimension Energy/Coverage Policy")+xlab("Coverage")+ylab("Sum of nodes energy consumption (J)") + ggsave("figures/dimension_energy-coverage-policy.pdf") + + } ## Plot to generate: GG_VARIOUS() - system("rm -f figures/combined.pdf") system("pdfunite figures/*.pdf figures/combined.pdf") diff --git a/analysis/annotations/.combined.autosave.xopp b/analysis/annotations/.combined.autosave.xopp Binary files differdeleted file mode 100644 index fda6e0c..0000000 --- a/analysis/annotations/.combined.autosave.xopp +++ /dev/null diff --git a/analysis/annotations/.combined2.autosave.xopp b/analysis/annotations/.combined2.autosave.xopp Binary files differnew file mode 100644 index 0000000..773d02b --- /dev/null +++ b/analysis/annotations/.combined2.autosave.xopp diff --git a/analysis/annotations/combined.xopp b/analysis/annotations/combined.xopp Binary files differindex e8db727..9a4d230 100644 --- a/analysis/annotations/combined.xopp +++ b/analysis/annotations/combined.xopp diff --git a/analysis/annotations/combined2.pdf b/analysis/annotations/combined2.pdf Binary files differnew file mode 100644 index 0000000..969dd8c --- /dev/null +++ b/analysis/annotations/combined2.pdf diff --git a/analysis/annotations/combined2.xopp b/analysis/annotations/combined2.xopp Binary files differnew file mode 100644 index 0000000..56bfd6a --- /dev/null +++ b/analysis/annotations/combined2.xopp diff --git a/analysis/figures/combined.pdf b/analysis/figures/combined.pdf Binary files differdeleted file mode 100644 index 5566c74..0000000 --- a/analysis/figures/combined.pdf +++ /dev/null diff --git a/analysis/figures/combined2.pdf b/analysis/figures/combined2.pdf Binary files differnew file mode 100644 index 0000000..969dd8c --- /dev/null +++ b/analysis/figures/combined2.pdf diff --git a/analysis/figures/dimension_coverage.pdf b/analysis/figures/dimension_coverage.pdf Binary files differindex bbc23bc..4520271 100644 --- a/analysis/figures/dimension_coverage.pdf +++ b/analysis/figures/dimension_coverage.pdf diff --git a/analysis/figures/dimension_efficiency.pdf b/analysis/figures/dimension_efficiency.pdf Binary files differindex 1a6ec95..685e519 100644 --- a/analysis/figures/dimension_efficiency.pdf +++ b/analysis/figures/dimension_efficiency.pdf diff --git a/analysis/figures/dimension_energy-coverage-policy.pdf b/analysis/figures/dimension_energy-coverage-policy.pdf Binary files differnew file mode 100644 index 0000000..36af3df --- /dev/null +++ b/analysis/figures/dimension_energy-coverage-policy.pdf diff --git a/analysis/figures/dimension_energy-coverage-wakeupfor.pdf b/analysis/figures/dimension_energy-coverage-wakeupfor.pdf Binary files differnew file mode 100644 index 0000000..d4b5732 --- /dev/null +++ b/analysis/figures/dimension_energy-coverage-wakeupfor.pdf diff --git a/analysis/figures/dimension_energy-coverage.pdf b/analysis/figures/dimension_energy-coverage.pdf Binary files differnew file mode 100644 index 0000000..5301d93 --- /dev/null +++ b/analysis/figures/dimension_energy-coverage.pdf diff --git a/analysis/figures/dimension_energy.pdf b/analysis/figures/dimension_energy.pdf Binary files differindex dd5c8bd..0aee6e7 100644 --- a/analysis/figures/dimension_energy.pdf +++ b/analysis/figures/dimension_energy.pdf diff --git a/analysis/knn.R b/analysis/knn.R new file mode 100644 index 0000000..71771f1 --- /dev/null +++ b/analysis/knn.R @@ -0,0 +1,49 @@ +library("tidyverse") +library("class") + +## Simulation Parameters: +## simkey {baseline,extended,hint,hintandextended} +## wireless {lora,nbiot} +## wakeupfor {60s,180s} +## seed [1,200] +## node on[0,12] +## isSender {0,1} +## dataSize {1MB} + +## Metrics: +## energy [0,+inf) +## nDataRcv [0,+inf) + +nseed=200 +nwakeupfor=2 +nwireless=2 +nsimkey=4 +nsimulations=nseed*nwakeupfor*nwireless*nsimkey # Must be 3200 + +## Load data +data=read_csv("../CCGRID2022.csv")%>%distinct() # Note that in the data experiment wireless=="lora",seed==1,wakeupfor==60,simkey=="baseline" is present 2 times in the CSV file +tmp_data_coverage=data%>%group_by(simkey,wireless,wakeupfor,seed)%>%mutate(coverage=sum(nDataRcv))%>%ungroup()%>%filter(isSender==1)%>%select(simkey,wireless,wakeupfor,seed,coverage) +data_seed_isSender=data%>%group_by(simkey,wireless,wakeupfor,seed,isSender)%>%summarize(energy_mean=mean(energy))%>% + left_join(tmp_data_coverage,by=c("simkey","wireless","wakeupfor","seed"))%>% + mutate(efficiency=energy_mean/coverage)%>% + ungroup() +data_seed=data%>%group_by(simkey,wireless,wakeupfor,seed)%>%summarize(energy=sum(energy),coverage=sum(nDataRcv))%>% + mutate(efficiency=energy/coverage)%>% + ungroup() + + +## Prepare data for knn +set.seed(1) # Reproducibility +data_seed=data_seed%>%select(-efficiency,-seed)%>%mutate(wireless=as.numeric(as.factor(data_seed$wireless))) + +## Train +train_set=data_seed%>%sample_frac(0.8) # 80% of the data +test_set=data_seed%>%anti_join(train_set) # 20% of the data +classifier=knn(train=train_set%>%select(-simkey),test=test_set%>%select(-simkey),cl=train_set$simkey,k=10) + +## Analysis +cont_table=table(classifier,test_set$simkey) +accuracy=round((sum(diag(cont_table)/sum(rowSums(cont_table))))*100) +prop_table=round(prop.table(cont_table),digits=2) +print(prop_table) +print(paste0("Overall KNN accuracy ",accuracy,"%")) diff --git a/analysis/renv.lock b/analysis/renv.lock index cc2f3c1..698d4ef 100644 --- a/analysis/renv.lock +++ b/analysis/renv.lock @@ -1,6 +1,6 @@ { "R": { - "Version": "4.2.1", + "Version": "4.2.2", "Repositories": [ { "Name": "CRAN", @@ -183,6 +183,16 @@ "tibble" ] }, + "class": { + "Package": "class", + "Version": "7.3-20", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "da09d82223e669d270e47ed24ac8686e", + "Requirements": [ + "MASS" + ] + }, "cli": { "Package": "cli", "Version": "3.4.1", |
