Type: | Package |
Title: | Optimal Designs for Estimating the Slope Divided by the Intercept |
Version: | 1.1.1 |
Date: | 2023-07-03 |
Maintainer: | Adam Kapelner <kapelner@qc.cuny.edu> |
Description: | Aids practitioners to optimally design experiments that measure the slope divided by the intercept and provides confidence intervals for the ratio. |
Encoding: | UTF-8 |
License: | GPL-3 |
Depends: | R (≥ 4.0.0) |
Imports: | stats, graphics, MCMCpack |
RoxygenNote: | 7.2.3 |
NeedsCompilation: | no |
Packaged: | 2023-07-06 19:01:25 UTC; kapel |
Author: | Adam Kapelner |
Repository: | CRAN |
Date/Publication: | 2023-07-07 07:40:05 UTC |
A visualiation for comparing slope-divided-by-intercept estimates for a number of designs
Description
A visualiation for comparing slope-divided-by-intercept estimates for a number of designs
Usage
design_bakeoff(
xmin,
xmax,
designs,
gen_resp = function(xs) {
1 + 2 * xs + rnorm(length(xs), 0, 1)
},
Nsim = 1000,
l_quantile_display = 0.01,
u_quantile_display = 0.99,
error_est = function(est) {
quantile(est, 0.99) - quantile(est, 0.01)
},
num_digits_round = 3,
draw_theta_at = NULL,
xlab_names = NULL,
...
)
Arguments
xmin |
The minimum value of the independent variable. |
xmax |
The maximum value of the independent variable. |
designs |
A d x n matrix where each of the d rows is a design (the x values used to run the experiment). |
gen_resp |
A model for the response which takes the design as its parameter. |
Nsim |
The number of estimates per design. Default is |
l_quantile_display |
The lowest quantile of the simulation estimates displayed. Default is |
u_quantile_display |
The highest quantile of the simulation estimates displayed. Default is |
error_est |
The error metric for the estimates. The sample standard deviation (i.e. |
num_digits_round |
The number of digits to round the error results. Default is 2. |
draw_theta_at |
If the user wishes to draw a horizontal line marking theta (to checked biasedness)
it is specified here. The default is |
xlab_names |
Text for the x-grid labels. This vector's size should equal |
... |
Additional arguments passed to the |
Value
A list with the simulated estimates and error estimates for each design.
Author(s)
Adam Kapelner
Examples
xmin = 5 / 15
xmax = 19 / 1
n = 10 #must be even for this demo
designs = rbind(
c(rep(xmin, n / 2), rep(xmax, n / 2)), #design A
seq(from = xmin, to = xmax, length.out = n) #design B
)
design_bakeoff_info = design_bakeoff(xmin, xmax, designs) #design A wins
Plots a standard error estimate of thetahat (slope over intercept) over a range of possible theta0 values in order to investigate robustness of the the initial theta0 guess.
Description
Plots a standard error estimate of thetahat (slope over intercept) over a range of possible theta0 values in order to investigate robustness of the the initial theta0 guess.
Usage
err_vs_theta0_plot_for_homo_design(
n,
xmin,
xmax,
theta,
theta0_min,
theta0_max,
theta0 = NULL,
beta0 = 1,
sigma = 1,
RES = 500,
Nsim = 5000,
error_est = function(est) {
quantile(est, 0.99) - quantile(est, 0.01)
},
theta_logged = TRUE,
error_pct = TRUE,
plot_rhos = FALSE,
...
)
Arguments
n |
The number of experimental runs. |
xmin |
The minimum value of the independent variable. |
xmax |
The maximum value of the independent variable. |
theta |
The putative true value. This is used to see how much efficiency given up by designing it for |
theta0_min |
Simulating over different guesses of theta0, this is the minimum guess. |
theta0_max |
Simulating over different guesses of theta0, this is the maximum guess. |
theta0 |
The guess used to construct the experimental design. Specify only if you wish to see this
value plotted. Default is |
beta0 |
A guess to be used for the intercept. Defaults to |
sigma |
A guess to be used for the homoskedastic variance of the measurement errors. If known accurately,
then the standard errors (i.e. the y-axis on the plot) will be accurate. Otherwise, the standard
errors are useful only when compared to each other in a relative sense. Defaults to |
RES |
The number of points on the x-axis to simulate. Higher numbers will give smoother results. Default is |
Nsim |
The number of models to be simulated for estimating the standard error at each value on the x-axis. Default is |
error_est |
The error metric for the estimates. The sample standard deviation (i.e. |
theta_logged |
Should the values of theta be logged? Default is |
error_pct |
Plot error as a percentage increase from minimum. Default is |
plot_rhos |
Plot an additional graph of rho by theta0. Default is |
... |
Additional arguments passed to the |
Value
A list with original parameters as well as data from the simulation
Author(s)
Adam Kapelner
Examples
xmin = 5 / 15
xmax = 19 / 1
n = 10
theta0 = 0.053
plot_info = err_vs_theta0_plot_for_homo_design(
n, xmin, xmax, theta0, theta0_min = 0.001, theta0_max = 1
)
Report the results of the experiment as well as confidence intervals.
Description
Report the results of the experiment as well as confidence intervals.
Usage
experimental_results(xs, ys, alpha = 0.05, B = 1000)
Arguments
xs |
The design |
ys |
The measurements of the response |
alpha |
|
B |
For the confidence interval methods with an embedded bootstrap (or resampling), the number
of resamples (defaults to |
Value
A list object containing the estimate as well as confidence intervals and parameters.
Author(s)
Adam Kapelner
Examples
n = 10
xmin = 5 / 15
xmax = 19 / 1
xs = runif(n, xmin, xmax)
ys = 2 + 3 * xs + rnorm(n)
experimental_results_info = experimental_results(xs, ys)
This is data for the PRV measurement of the k_H of Napthalene in water. See Section 3 of our paper below for more information.
Description
This is data for the PRV measurement of the k_H of Napthalene in water. See Section 3 of our paper below for more information.
Usage
data(napth)
Format
A data frame with 100 rows and 2 variables
Author(s)
Adam Kapelner kapelner@qc.cuny.edu
References
https://arxiv.org/abs/1604.03480
Create an optimal design for measuring the slope divided by the intercept
Description
Create an optimal design for measuring the slope divided by the intercept
Usage
oed_for_slope_over_intercept(
n,
xmin,
xmax,
theta0,
f_hetero = NULL,
MaxIter = 6000,
MaxFunEvals = 6000,
TolFun = 1e-06,
NUM_RAND_STARTS = 50
)
Arguments
n |
The number of experimental runs. |
xmin |
The minimum value of the independent variable. |
xmax |
The maximum value of the independent variable. |
theta0 |
The guess of the true value of the slope / intercept. |
f_hetero |
Specification of heteroskedasticity: the h(x) which relates the value of the
independent variable to the variance in the response around the line at that place
or the proportional variance at that point. If |
MaxIter |
For the heteroskedastic design, a Nelder-Mead search is used (via the function |
MaxFunEvals |
For the heteroskedastic design, a Nelder-Mead search is used (via the function |
TolFun |
For the heteroskedastic design, a Nelder-Mead search is used (via the function |
NUM_RAND_STARTS |
For the heteroskedastic design, a Nelder-Mead search is used (via the function |
Value
An n-vector of x-values which specifies the optimal design
Author(s)
Adam Kapelner
Examples
xmin = 5 / 15
xmax = 19 / 1
n = 10
theta0 = 0.053
opt_homo_design = oed_for_slope_over_intercept(n, xmin, xmax, theta0)
table(opt_homo_design)
Optimal Designs for Estimating the Slope Divided by the Intercept
Description
Software which helps practitioners optimally design experiments that measure the slope divided by the intercept.
Author(s)
Adam Kapelner kapelner@qc.cuny.edu