p-value of z-test

The are two main approaches for statistical hypothesis testing. The classical method follows the sequence of steps described in the article about z-test. The second approach uses the p-value. This method is preferred by some of statistical software and therefore it is useful to understand it.

In terms of statistics, the p-value is defined as a probability that the null hypothesis is true. We will use this knowledge to create a simple rule how to decide whether we should reject the null hypothesis: If the p-value is lower than the level of significance then the null hypothesis is rejected. Otherwise it is not rejected.

The calculate the p-value, we need to know the value of the test statistics. Let’s go back to the example from the article about z-test. The value of the statistics of the test was -1.2125. We are performing two-tailed test for which is the computation of the p-value slightly more complicated than for one-tailed.

We can see the probability density function of the test statistics (which has the normal distribution) at the figure below. The level of significance is 5 % so the size of the red area is 0.05. The p-value is depicted by the blue hatched area from $ – \infty$ to the value of the statistics. To be able to compare it the p-value with the level of significance, we need to add the second blue hatched area – the one from 1.2125 to $\infty$.

Now we can conclude that -value can be calculated as the area below the probability density function. In other words, it is the value of the distribution function of the normal distribution for the value of the statistics which is multiplied by 2.

Now we will look the the boundary case. Let’s assume that the value of the statistics is – 1.96, so it equal the side point of the critical region. In this case both read and blue hatched area have the same side points and therefore their areas must be the same. So the area of the blue hatched area is 0.05, i.e. the p-value is 5 %.

Now let’s assume that the value of the statistics lies in the critical region, for example it equals -2.40. At the figure below it can be seen that the blue hatched area is smaller than the red one. So the p-value is smaller than the level of significance and the null hypothesis is rejected.

Critical Region for z-test

A calculation of a critical region (or a rejection region) is one of the steps of a testing of a statistical hypothesis. When we have a value of a test statistics and a critical region, we can decide about rejecting or non-rejecting of a null hypothesis. There is a rule which we can call a “golden rule of the hypothesis testing.

If a value of a statistics is an element of a critical region, the null hypothesis is rejected.

And consequently, if a value of a statistics is not an element of a critical region, the null hypothesis is not rejected.

We will show the computation of the critical region on z-test, which is described in this article. Just to give you a quick review: The null hypothesis of the z-test is that a expected value of a data equals to a given number (in our case 190). The alternative hypothesis is that the expected value differs from the given number (does not equal 190). We assume two-tailed test, one-tailed text will be described in another article.

As is written in the article about z-test, each test has its statistics and each statistics has a statistical distribution. The statistics of z-test has a normalized normal (Gauss) distribution. The distribution function of the normal distribution is defined for all real numbers, but only a part of them make up the critical region. Our task is to identify this part.

There is a simple logic behind this. Let’s look once more on the formula of statistics:

Z = \frac{ \bar{x} - \mu_0}{\sigma} \cdot \sqrt{n} \, ,

Now let’s assume that null hypothesis is true, i.e. the expected value of the data equals 190 (\mu_0 = 190 ). It is highly probable that the average value \bar{x} of a random sample is close to 190. The statistics has a difference \bar{x} - \mu_0 in the numerator so if \bar(x) is close to \mu_0 then the value of statistics is close to zero.

On the other hand, the average value of a random sample might be significantly different from 190, but it is rather unlikely. If there is a big difference between the hypothetical expected value and the average value of the random sample, then the value of the statistics is far from zero and it can be both positive or negative. The further is the value of the statistics from zero the less probable it is.

So we will cut of the least probable values of the statistics and we will add them to the critical region. But how much of the values? It depends on a level of significance (denoted as \alpha ). The level of significance basically says what percentage of the least probable values we will add to the critical region. Usually, we add there 1 %, 5 % or 10 %.

We can depict that using a probability density function (PDF). On a figure below, you can see PDF of the normalized normal distribution with critical regions for three values of \alpha . As you can see, the critical region consists of the most extreme values. The higher is \alpha the larger get the critical region. Critical region for each \alpha consists of two equally sized parts – one on the left and one on the right.

Critical regions of z-test

So the formula for the critical region is:

W = ( - \infty, u_{\frac{\alpha}{2}} \rangle \cup \langle  u_{1 - \frac{\alpha}{2}}, \infty ) \, .

If we substitute to the formula, we see that for \alpha = 1 % the

W = ( - \infty, -2.57583 \rangle \cup \langle  2.57583, \infty ) \, ,

for \alpha = 5 %

W = ( - \infty, -1.95996 \rangle \cup \langle 1.95996, \infty ) \, ,

and finally for \alpha = 10 %

W = ( - \infty, -1.64485 \rangle \cup \langle 1.64485, \infty ) \, .

What can be z-test used for and how to perform it

I have created a decision tree which can be used to select a proper statistical test for a statistical hypothesis. If we have a one sample of data and we want to check a hypothesis about a expected value, we can use z-test. This test assumes a variance of the test data is known. If the variance is not known one sample t-test needs to be used. The other assumption is that data has a normal distribution. z-test is one of the simplest statistical tests so we will use it to explain main principles of the hypothesis testing.

Let’s assume we are asked to solve this example: We have a machine which produces components of a specific length. The desired length is 190 mm. The inaccuracy of the machine is known and it is constant and characterized by standard deviation sigma = 0.9 mm. The machine was set up by an employee and we want to check whether it was set correctly. To check this, we measured length of 20 sample components.

The measured values are in a following table.


Note: I tried to write this article as simple as possible. It contains links to more detail information. It uses no special software. A short tutorial for Excel and Python will be written.

At first, we need to formulate hypotheses. Two hypotheses are usually formulated: a null hypothesis H_0 and an alternative hypothesis H_1 (or H_A). The null hypothesis usually has an equal sign and the alternative hypothesis always contradicts the null hypothesis. The hypotheses for our examples are:

  • The null hypothesis H_0 : The expected value of components is 190 mm. (\mu_0 = 190 )
  • The alternative hypothesis H_1: The expected value of components is not 190 mm. (\mu_0 \neq 190 )

As we know, the length of components will not be exactly 190 mm because it is affected by the inaccuracy of the machine. Even the average length will not be exactly 190 mm. But the key point of the testing is to say whether the to difference could by explained by the inaccuracy or it must have been caused by an error of the machine setting.

For example, if the average length of the component was 150 mm, it would be obviously caused by error. On the other hand, the average length 190.01 would suggest right setting. But what about 189.6 or 190.9? In these cases, it is impossible to decide out of one’s head and the hypothesis testing comes handy.

Before starting the actual calculation, we need to realize one more think. The outcome of our calculation does not be necessarily right. The reason is we base our decision only on a small sample (20 components), not all of them. For example, we might select a lot of shorter components and then the average length would be significantly lower than 190 mm and we would keen to reject the null hypothesis H_0. This is called Type I error.

On the other hand, another error may happen. If the configuration of the machine was only slightly different (for example 189.99), we may not detect such a small difference. This situation is called Type II error. You can see all possible situation of the table below.

H_0 is true H_0 is false
H_0 is not rejectedCorrect decision Type II error
H_0 is rejected Type I error Correct decision

The good news is that one can set the probability of Type I error. The probability of this error is called a level of significance and it is denoted by \alpha . On the contrary, the probability of Type II error is unknown.

Computation of the Test

No we will go through the computation itself. We will start with a classical method which consists of following steps:

  1. Definition of hypotheses
  2. Selection of a test statistics
  3. Computation of a critical region
  4. Computation of a value of the test statistics
  5. Interpretation of the result

We have already defined the hypotheses so we will go to the second point.

Selection of a Test Statistics

The test statistics is basically a formula. Each statistical test has its own test statistics so we basically select the formula by selecting the test. The test statistics of the z-test is

Z = \frac{ \bar{x} - \mu_0}{\sigma} \cdot \sqrt{n} \, ,

where \bar(x) denotes an average of the sample data, \mu_0 the hypothetical expected value (from H_0), \sigma denotes the standard deviation and n a number of observations in the sample. We will use this formula in the 4th step.

Please note the bigger is the difference between the hypothetical expected value and the average value the further is the value of the statistics from 0.

Computation of a Critical Region

The critical region is used for the decision whether H_0 is rejected. There is a simple rule: If the value of the statistics is on element of the critical region, H_0 is rejected. Otherwise it is not rejected.

There is a simple logic behind calculation of the critical region: Assuming the H_0 is true, the critical region contains the least probable values of the test statistics. To be more specific, if H0 is true then the measured average value will be probably close to the theoretical expected value. On the other hand, the big difference will be improbable. As we know, a big difference between these two values causes the value of the statistics to be significantly different from 0. So the extremely low and extremely high values are improbable and thus they should be in the critical region.

So we will simply cut the least probable value of the statistics. To do this, we need to know a statistical distribution of the statistics. The statistics of the z-test has normal (Gauss) distribution.

Let’s set the level of significance to \alpha = 5 % . Both high and low values of the test statistics are suspicious so we will split the critical region into two parts. The first part will contain the least probable low values and the second part will contain the lest probable high probables.

We will split the the level of significance equally into two regions. So we need to identify the lowest values with total probability 2.5 % and the highest values with total probability 2.5 %. To do this, we will use the quantile function. We will denote the quantile function by u . So we can write down a formula for the critical region as:

W = ( - \infty, u_{\frac{\alpha}{2}} \rangle \cup \langle  u_{1 - \frac{\alpha}{2}}, \infty ) \, .

There are many ways how to get values of the quantile function. We can use tabled values which are part of each textbook, software like Microsoft Excel or programming language like Python or R. Let’s start with the most old-fashion way – the statistical table. We can use the table here. The desired quantile is \frac{\alpha}{2} =  \frac{0.05}{2}  = 0.025. Because the normal distribution is symmetric the statistical tables contains values for quantile 0.5 and higher. So we need to get a value for quantile 1 - 0.025 = 0.975. Now we can find the desired value: 1.96.

The lower border value of the critical region is – 1.96. Now we can write down the critical region:

W = ( - \infty, - 1.96 \rangle \cup \langle  1.96, \infty ) \, .

Computation of a Value of the Test Statistics

The computation is quite easy. We can substitute \mu_0 = 190, \sigma = 0.9 and n = 20. The arithmetical mean of values is \bar{x} = 189.76 (you can check it in Excel or with a calculator). So the value of the statistics is

Z = \frac{  189.76 - 190}{0.9} \cdot \sqrt{20} = -1.2125 \, .

Interpretation of the Result

The interpretation is simple. The value of the statistics is not element of the critical area so we do not reject H_0 (at \alpha = 0.05).

It is never said that H_0 . As we said earlier, our result may be wrong because of possibility of Type II error. So we do not know a probability that our outcome is true.

Conclusion and Other Resources

This example was quite simple and many more things may be shown: one-tailed tests, calculation of p-value and tests for many other hypothesis.

Porovnání t-testu a z-testu

V předcházejících článcích jsme rozebírali z-test a t-test. Oba testy slouží k otestování hypotézy o střední hodnotě a liší se pouze předpokladem o znalosti rozptylu. Nabízí se ale otázka, k čemu vlastně máme dva testy? Jakou výhodu vlastně přináší znalost rozptylu? Na to se nyní podíváme.

Pozn: Průběžně aktualizovaný přehled všech článků o statistických testech najdete v článku o rozhodovacím stromu pro statistické testy.

U obou dvou testů můžeme testovat hypotézy na stejných hladinách významnosti. Ať už tedy provedeme test pomocí z-testu nebo t-testu, můžeme si předem stanovit, že pravděpodobnost chyby 1. druhu (neoprávněného zamítnutí H_0 ) je například \alpha = 5 % . Neznalost rozptylu se ale projeví v pravděpodobnosti chyby 2. druhu, neboli v síle testu. V případě využití t-testu máme větší pravděpodobnost, že nezamítneme neplatnou H_0 .

Ukažme si to na příkladu oboustranného testu. Předpokládejme stejné hypotézy jako v předchozích článcích, tj.

  • H_0: \mu = 190 \, ,
  • H_1: \mu \neq 190 \, .

Vygenerujeme si soubor pomocí generátoru náhodných čísel. Ten nám vygeneruje čísla s požadovanými vlastnostmi. Budeme chtít data se střední hodnotou \mu = 190,35 a směrodatnou odchylkou \sigma = 0,5. Víme tedy, že nulová hypotéza neplatí. Pokud tedy nulovou hypotézu při testu zamítneme, bude náš výsledek správný. V opačném případě se dopouštíme chyby 2. druhu.


Na obrázku níže máte vygenerovaná data a výsledky provedených testů.

t-test vs z-test

p-hodnota z-testu je 0,0196, p-hodnota t-testu je 0,1405. Na hladině významnosti \alpha = 5 % bychom tedy nulovou hypotézu zamítli pouze při použití z-testu. V případě použití t-testu bychom se dopustili chyby 2. druhu.

Soubor s výpočty si můžete stáhnout zde.

Na základě jednoho příkladu ale nejde vyvozovat nějaké obecnější závěry. Zkusme tedy komplexnější experiment. Využijeme soubor náhodných čísel, který jsme vytvořili pro analýzu síly testu z-testu.