I am attempting to obtain parameter estimates for the GEV function using built in maximum likelihood methods in python rather than in MATLAB, but the parameters estimated in MATLAB (gevfit_rev) are different from those found using the scipy.stats.genextreme.fit. An example using the data
data = np.array([ 22.20379411, 22.99151292, 24.27032696, 24.82180626,
25.23163221, 25.39987272, 25.54514567, 28.56710007,
29.7575898 , 30.15641696, 30.79168255, 30.88147532,
31.0236419 , 31.17380647, 31.61932755, 32.23452568,
32.76262978, 33.39430032, 33.81080069, 33.90625861,
33.99142006, 35.45748368, 37.0342621 , 37.14768791,
38.14350221, 42.72699534, 44.16449992, 48.77736737,
49.80441736, 50.57488779])
Scipy provides the parameters (shape,location,scale)
genextreme.fit(data)
(0.46794425159397518, 29.321600290365303, 4.7986571014800141)
MATLAB provides (shape,scale,location)
gevfit_rev(data)
0.0144 5.8983 29.7621
Can anyone suggest why these estimates are different?