Why do the Frechet distributions differ in scipy.stats vs R
Question: I've fitted a frechet distribution in R and would like to use this in a python
script. However inputting the same distribution parameters in
scipy.stats.frechet_r gives me a very different curve. Is this a mistake in my
implementation or a fault in scipy ?

R distribution: ![R frechet](http://i.stack.imgur.com/p1NP1.png)

vs Scipy distribution: ![scipy frechet](http://i.stack.imgur.com/tOmdJ.png)

R frechet parameters: loc=17.440, shape=0.198, scale=8.153

python code:

    
    
    from scipy.stats import frechet_r
    import matplotlib.pyplot as plt
    import numpy as np
    fig, ax = plt.subplots(1, 1)
    
    F=frechet_r(loc=17.440  ,scale= 8.153, c=   0.198)              
    x=np.arange(0.01,120,0.01)
    ax.plot(x, F.pdf(x), 'k-', lw=2)
    
    plt.show()
    

**edit** \- relevant documentation.

The Frechet parameters were calculated in R using the fgev function in the
'evd' package <http://cran.r-project.org/web/packages/evd/evd.pdf> (page 40)

Link to the scipy documentation:
<http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.frechet_r.html#scipy.stats.frechet_r>


Answer: I haven't used the frechet_r function from scipy.stats (when just quickly
testing it I got the same plot out as you) but you can get the required
behaviour from genextreme in scipy.stats. It is worth noting that for
genextreme the Frechet and Weibull shape parameter have the 'opposite' sign to
usual. That is, in your case you would need to use a shape parameter of
-0.198:

    
    
    from scipy.stats import genextreme as gev
    import matplotlib.pyplot as plt
    import numpy as np
    fig, ax = plt.subplots(1, 1)
    
    x=np.arange(0.01,120,0.01)
    # The order for this is array, shape, loc, scale
    F=gev.pdf(x,-0.198,loc=17.44,scale=8.153)
    
    plt.plot(x,F,'g',lw=2)
    plt.show()
    

![Python Frechet distribution](http://i66.tinypic.com/29sg46.png)

