Hypothesis testing about means (HtestAboutMeans)

class cerebunit.statistics.hypothesis_testings.aboutmeans.HtestAboutMeans(observation, prediction, test_statistic, side='not_equal')

Hypothesis Testing (significance testing) about means.

1. Verify necessary data conditions.

Statistic Interpretation
sample size, n experiment/observed n
optionally: raw data experiment/observed data array

Is \(n \geq 30\)?

If not, check if data is from normal distribution.

If both returns NO, you can’t perform hypothesis testing about means. Instead use sign test.

If either of the above two question returns YES continue below.

2. Defining null and alternate hypotheses.

Statistic Interpretation
sample statistic, \(\mu\) experiment/observed mean
null value/population parameter, \(\mu_0\) model prediction
null hypothesis, \(H_0\) \(\mu = \mu_0\)
alternate hypothesis, \(H_a\) \(\mu \neq or < or > \mu_0\)
Two-sided hypothesis (default)
\(H_0\): \(\mu = \mu_0\) and \(H_a\): \(\mu \neq \mu_0\)
One-side hypothesis (left-sided)
\(H_0\): \(\mu = \mu_0\) and \(H_a\): \(\mu < \mu_0\)
One-side hypothesis (right-sided)
\(H_0\): \(\mu = \mu_0\) and \(H_a\): \(\mu > \mu_0\)

3. Assuming H0 is true, find p-value.

Statistic Interpretation
sample size, n experiment/observed n
standard error, SE experiment/observed SE = \(\frac{SD}{\sqrt{n}}\)
or or
standard deviation, SD experiment/observed SD
t-statistic, t test score, \(t = \frac{\mu - \mu_0}{SE}\)
degree of freedom, df \(df = n - 1\)
z-statistic, z (standard) test score, \(z = \frac{\mu - \mu_0}{SD}\)

Using t and df look up table for t-distrubution which will return its corresponding p. If the denominator is SD then value of z is seen in a normal distribution to return its corresponding p.

4. Report and Answer the question, based on the p-value is the result (true H0) statistically significant?

Answer is not provided by the class but its is up to the person viewing the reported result. The results are obtained calling the attributed .statistics and .description. This is illustrated below.

ht = HtestAboutMeans( observation, prediction, score,
                      side="less_than" ) # side is optional
score.description = ht.outcome
score.statistics = ht.statistics

Arguments

Argument Representation Value type
first experiment/observation dictionary that must have keys; “mean” and “sample_size”
second model prediction float
third test score/z or t-statistic dictionary with key; “z” or “t”
fourth sidedness of test string; “not_equal” (default) or “less_than”, “greater_than”

The constructor method generates statistics and outcome (which is then assigned to description within the validation test class where this hypothesis test class is implemented).

static alternate_hypothesis(side, symbol_null_value, symbol_sample_statistic)

Returns the statement for the alternate hypothesis, Ha.

static null_hypothesis(symbol_null_value, symbol_sample_statistic)

Returns the statement for the null hypothesis, H0.

test_outcome()

Puts together the returned values of null_hypothesis(), alternate_hypothesis(), and _compute_pvalue(). Then returns the string value for .outcome.