Repository: scipy/scipy

Issue:
Documentation of fit methods for `weibull_min` and `exponweib` is misleading
<!-- 
Thank you for taking the time to file a bug report. 
Please fill in the fields below, deleting the sections that 
don't apply to your issue. You can view the final output
by clicking the preview button above.
Note: This is a comment, and won't appear in the output.
-->

My issue is about the documentation of the fit methods for the `weibull_min` and `exponweib` distributions. This arose in discussion around [issue 11806](https://github.com/scipy/scipy/issues/11806). 

The documentation of the methods of weibull_min [here](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.weibull_min.html) (image below) suggests that if a user does not pass a value to `loc`, the default of `loc=0` will be used.

The results below show that this does not appear to be the case. Also, the documentation of the [fit method for the general rv_continous class](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.rv_continuous.fit.html#scipy.stats.rv_continuous.fit) states that if no `loc` value is passed, the `_fitstart` method will be called to find a starting guess (not just `loc=0`, for example).

I'm just wondering if the documentation could be a bit clearer here, as it seems contradictory.

#### Reproducing code example:
<!-- 
If you place your code between the triple backticks below, 
it will be rendered as a code block. 
-->

```
import numpy as np
from scipy import stats

x = [4836.6, 823.6, 3131.7, 1343.4, 709.7, 610.6, 
     3034.2, 1973, 7358.5, 265, 4590.5, 5440.4, 4613.7, 4763.1, 
     115.3, 5385.1, 6398.1, 8444.6, 2397.1, 3259.7, 307.5, 4607.4, 
     6523.7, 600.3, 2813.5, 6119.8, 6438.8, 2799.1, 2849.8, 5309.6, 
     3182.4, 705.5, 5673.3, 2939.9, 2631.8, 5002.1, 1967.3, 2810.4,
     2948, 6904.8]

# these results are not the same: 
stats.weibull_min.fit(x)  # result without passing a value to loc
stats.weibull_min.fit(x, loc=0)  # result with an initial guess for loc 
```

![image](https://user-images.githubusercontent.com/8826614/79174078-6fb2ed00-7dae-11ea-8468-1328a194e5a8.png)


Discussion:
`weibull_min` inherits its `fit` method from `rv_continuous`, which actually uses `None` as the default values of `loc` and `scale`: https://github.com/scipy/scipy/blob/4774d47f38fa2a3d708132c92f55df761f11f90e/scipy/stats/_distn_infrastructure.py#L2276-L2283

The docstring currently displayed in the documentation is defined as `_doc_fit` near the top of that file.  A much more comprehensive docstring is actually provided with the method itself (starting at [line 2171](https://github.com/scipy/scipy/blob/4774d47f38fa2a3d708132c92f55df761f11f90e/scipy/stats/_distn_infrastructure.py#L2171)).  That longer docstring makes no mention of `loc` and `shape` at all.
Oops, I should have said, there is no default value of `loc` and `scale`, rather than that the default value is `None`.  If no value is provided by the caller, these parameters are estimated.

Resolving patch:
diff --git a/scipy/stats/_distn_infrastructure.py b/scipy/stats/_distn_infrastructure.py
--- a/scipy/stats/_distn_infrastructure.py
+++ b/scipy/stats/_distn_infrastructure.py
@@ -100,8 +100,10 @@
     (Differential) entropy of the RV.
 """
 _doc_fit = """\
-fit(data, %(shapes)s, loc=0, scale=1)
+fit(data)
     Parameter estimates for generic data.
+    See `scipy.stats.rv_continuous.fit <https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.rv_continuous.fit.html#scipy.stats.rv_continuous.fit>`__ for detailed documentation of the
+    keyword arguments.
 """
 _doc_expect = """\
 expect(func, args=(%(shapes_)s), loc=0, scale=1, lb=None, ub=None, conditional=False, **kwds)
@@ -2187,18 +2189,20 @@ def fit(self, data, *args, **kwds):
         ----------
         data : array_like
             Data to use in calculating the MLEs.
-        args : floats, optional
+        arg1, arg2, arg3,... : floats, optional
             Starting value(s) for any shape-characterizing arguments (those not
             provided will be determined by a call to ``_fitstart(data)``).
             No default value.
         kwds : floats, optional
-            Starting values for the location and scale parameters; no default.
+            - `loc`: initial guess of the distribution's location parameter.
+            - `scale`: initial guess of the distribution's scale parameter.
+
             Special keyword arguments are recognized as holding certain
             parameters fixed:
 
             - f0...fn : hold respective shape parameters fixed.
               Alternatively, shape parameters to fix can be specified by name.
-              For example, if ``self.shapes == "a, b"``, ``fa``and ``fix_a``
+              For example, if ``self.shapes == "a, b"``, ``fa`` and ``fix_a``
               are equivalent to ``f0``, and ``fb`` and ``fix_b`` are
               equivalent to ``f1``.
 


Test patch: