# SLSEdesign In SLSEdesign: Optimal Regression Design under the Second-Order Least Squares Estimator

\newcommand{\cv}{\operatorname{cv}}

knitr::opts_chunk$set( collapse = TRUE, comment = "#>", cache = TRUE ) original <- options(digits = 3) # Installation # required dependencies require(SLSEdesign) require(CVXR) # Specify the input for the program 1. N: Number of design points 2. S: The design space 3. tt: The level of skewness 4.$\theta$: The parameter vector 5. FUN: The function for calculating the derivatives of the given model N <- 21 S <- c(-1, 1) tt <- 0 theta <- rep(1, 4) poly3 <- function(xi,theta){ matrix(c(1, xi, xi^2, xi^3), ncol = 1) } u <- seq(from = S[1], to = S[2], length.out = N) res <- Aopt(N = N, u = u, tt = tt, FUN = poly3, theta = theta) ## Manage the outputs Showing the optimal design and the support points res$design

Or we can plot them

plot_weight(res\$design)

## Plot the directional derivative to use the equivalence theorem for 3rd order polynomial models

### D-optimal design

poly3 <- function(xi,theta){
matrix(c(1, xi, xi^2, xi^3), ncol = 1)
}
design <- data.frame(location = c(-1, -0.447, 0.447, 1),
weight = rep(0.25, 4))
u = seq(-1, 1, length.out = 201)
plot_direction_Dopt(u, design, tt=0, FUN = poly3,
theta = rep(0, 4))

### A-optimal design

poly3 <- function(xi, theta){
matrix(c(1, xi, xi^2, xi^3), ncol = 1)
}
design <- data.frame(location = c(-1, -0.464, 0.464, 1),
weight = c(0.151, 0.349, 0.349, 0.151))
u = seq(-1, 1, length.out = 201)
plot_direction_Aopt(u, design, tt=0, FUN = poly3, theta = rep(0,4))
options(original) # reset to old settings

## Try the SLSEdesign package in your browser

Any scripts or data that you put into this service are public.

SLSEdesign documentation built on June 22, 2024, 9:45 a.m.