Learn R Programming

gofreg (version 1.0.0)

CondKolmY: Conditional Kolmogorov test statistic for the marginal distribution of Y

Description

This class inherits from TestStatistic and implements a function to calculate the test statistic (and x-y-values that can be used to plot the underlying process).

The process underlying the test statistic is given in Kremling & Dikta (2024) https://arxiv.org/abs/2409.20262 and defined by $$\tilde{\alpha}_n(t) = \frac{1}{\sqrt{n}} \sum_{i=1}^n \left( I_{\{Y_i \le t\}} - F(t|\hat{\vartheta}_n, X_i) \right), \quad -\infty \le t \le \infty.$$

Arguments

Super class

gofreg::TestStatistic -> CondKolmY

Methods

Inherited methods


Method calc_stat()

Calculate the value of the test statistic for given data and a model to test for.

Usage

CondKolmY$calc_stat(data, model)

Arguments

data

data.frame() with columns x and y containing the data

model

ParamRegrModel to test for, already fitted to the data

Returns

The modified object (self), allowing for method chaining.


Method clone()

The objects of this class are cloneable with this method.

Usage

CondKolmY$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

Run this code
# Create an example dataset
n <- 100
x <- cbind(runif(n), rbinom(n, 1, 0.5))
model <- NormalGLM$new()
y <- model$sample_yx(x, params=list(beta=c(2,3), sd=1))
data <- dplyr::tibble(x = x, y = y)

# Fit the correct model
model$fit(data, params_init=list(beta=c(1,1), sd=3), inplace = TRUE)

# Print value of test statistic and plot corresponding process
ts <- CondKolmY$new()
ts$calc_stat(data, model)
print(ts)
plot(ts)

# Fit a wrong model
model2 <- NormalGLM$new(linkinv = function(u) {u+10})
model2$fit(data, params_init=list(beta=c(1,1), sd=3), inplace = TRUE)

# Print value of test statistic and plot corresponding process
ts2 <- CondKolmY$new()
ts2$calc_stat(data, model2)
print(ts2)
plot(ts2)

Run the code above in your browser using DataLab