MaxPro: maximum projection designs
Implementation of maximum projection designs by Joseph et al. (2015). These are space filling designs that not only try to fill up the entire design space, but also, all projections of the design space to a subset of factors. Often only a limited subset of factors play an important role, while other factors turn out to not be very influential. A design that fills the design space projected onto the important factors performs well in that situation. But apriori we do not know which subset is active, thus all subsets must be considered.
To generate 25 points in an 8 dimensional factor space, with all factors automatically constrained between 0 and 1, we can do:
using MaxPro
opt_design = max_pro_design(25,8)
25×8 Matrix{Float64}:
0.975719 0.0191021 0.168899 0.271096 … 0.647748 0.0351182
0.654075 0.970841 0.494568 0.101723 0.0138652 0.885318
0.504576 0.363134 0.0784519 0.540194 0.159175 -9.47129e-9
0.104527 0.91713 0.706509 0.608792 -9.47129e-9 0.0256287
0.283076 0.725067 0.0565432 0.81085 0.938972 0.659713
0.510695 0.894389 0.897004 0.077186 … 0.338445 0.478468
0.181452 0.207149 0.216782 0.745712 0.968905 0.063967
1.0 0.884203 0.63275 0.350551 0.696932 0.26513
0.124916 -9.47129e-9 0.43658 0.0461522 0.416044 0.865285
0.839083 0.163422 0.414292 0.947017 0.993854 0.775649
⋮ ⋱
0.343869 0.497414 0.298974 0.972595 0.0331743 1.0
0.072624 0.948349 0.253495 0.84069 0.44015 0.520872
0.1217 0.488463 0.980896 0.666172 0.879303 0.312539
0.729811 0.0937487 0.062602 0.19166 0.486382 0.990297
0.767739 0.0248175 0.87072 0.527753 … 0.0595497 0.801512
0.00564825 0.458913 0.39802 0.0712612 0.785566 0.128489
0.0386737 0.20249 0.92949 0.21777 0.10336 0.570996
0.530696 1.0 0.751905 0.700757 0.752196 0.985212
0.63849 0.668057 0.579749 0.228662 1.0 0.354614
We can visualize the projection onto the first two factors:
using Plots
scatter!(opt_design[:,1],opt_design[:,2],label="MaxPro")
plot!(legendposition=:outertopright,grid=false,xlabel="factor 1",ylabel="factor 2")
API
MaxPro.max_pro_design
— Methodmax_pro_design(n,d)
Generate a space filling design based on the MaxPro criterion with n
runs and d
factors.
Examples
julia> max_pro_design(25,8);
MaxPro.max_pro_design
— Methodmax_pro_design(design0)
Generate a space filling design based on the MaxPro criterion. The design0
is used as an initial condition for the optimization. The number of rows and columns of design0
respectively determine the number of runs and factors.
Examples
julia> max_pro_design(rand(25,8));