Davy Kavanagh - 8 months ago 74

Python Question

I have computed a test statistic that is distributed as a chi square with 1 degree of freedom, and want to find out what P-value this corresponds to using python.

I'm a python and maths/stats newbie so I think what I want here is the probability denisty function for the chi2 distribution from SciPy. However, when I use this like so:

`from scipy import stats`

stats.chi2.pdf(3.84 , 1)

0.029846

However some googling and talking to some colleagues who know maths but not python have said it should be 0.05.

Any ideas?

Cheers,

Davy

Answer

Quick refresher here:

Probability Density Function: think of it as a point value; how dense is the probability at a given point?

Cumulative Distribution Function: this is the mass of probability of the function up to a given point; what percentage of the distribution lies on one side of this point?

In your case, you took the PDF, for which you got the correct answer. If you try 1 - CDF:

```
>>> 1 - stats.chi2.cdf(3.84, 1)
0.050043521248705147
```

Source (Stackoverflow)