Importo funzione birra e librerie grafiche ggplot2 e plotly
source("birra.R")
library(ggplot2,warn.conflicts = FALSE)
library(plotly,warn.conflicts = FALSE)
Vengono definite due sequenze numeriche,
x1 e x2,
rispettivamente da 50 a 100 con un passo di 0.5 e da 10 a 20 con un
passo di 0.1. Viene poi creato un’array multidimensionale chiamato
f con tante righe quanti sono gli elementi
di x1 e tante colonne quanti sono gli
elementi di x2, riempito di zeri.
Successivamente, tramite un doppio loop for si fanno scorrere tutti i
possibili valori di x1 e
x2, e per ciascuna coppia di valori viene
chiamata la funzione birra con gli input
x1[i] e
x2[j]. L’output della funzione, che
rappresenta la funzione di Loss additiva, viene poi sommato e assegnato
alla cella f[i,j].
x1=seq(50,100,by=0.5)
x2=seq(10,20,by=0.1)
f=matrix(0,length(x1),length(x2))
for (i in c(1:length(x1))){
for (j in c(1:length(x2))){
input_plot=c(x1[i],x2[j])
output_plot=birra(input_plot)
f[i,j]=output_plot[1]+output_plot[2]
}
}
La funzione sembra essere soggetta a forte rumore, sì può notare una correlazione inversa con la quantità di malto (asse delle ascisse).
plot_ly(x=x1,y=x2,z=f) %>%add_surface()
Tramite contour plot, si vede chiaramente che c’è tutta una area di minimo della funzione. Da questa rappresentazione sembra essere preponderante la correlazione inversa tra funzione di Loss e quantità di Malto.
filled.contour(x1,x2,f,color.palette=topo.colors,
xlab="Malto",ylab="Luppolo",
main="Contour Plot funzione di Loss")