Repository: statsmodels/statsmodels

Issue:
DOCS: parameters of same type are displayed incorrectly
#### Describe the bug

The documentation for function parameters of the same type are not displayed correctly. An example of the current documentation (for the function `ttest_ind`) is shown in this image:
![current_docs](https://user-images.githubusercontent.com/22224469/57181734-4647cc80-6e8f-11e9-8716-357234bf450a.png). 

There is a similar problem for other functions.

The expected documentation is shown in this image:
![expected_docs](https://user-images.githubusercontent.com/22224469/57181747-72634d80-6e8f-11e9-8aa7-e8e482eadf85.png)

The second argument is shown as the type in the first image.

The section of the docstring for the current documentation is 

```
x1, x2 : array_like, 1-D or 2-D
        two independent samples, see notes for 2-D case
```

If the space between `x1` and `x2` is removed then the expected documentation is generated.

The current format follows the numpy docstring standard so I expect the problem is somewhere in the generation of the html.


Discussion:
x1 and x2 need to be on separate lines each with their own explanation.  I don't think what you want to possible. 

PR to fix welcome. 

Resolving patch:
diff --git a/statsmodels/stats/weightstats.py b/statsmodels/stats/weightstats.py
--- a/statsmodels/stats/weightstats.py
+++ b/statsmodels/stats/weightstats.py
@@ -858,8 +858,10 @@ def ttest_ind(self, alternative='two-sided', usevar='pooled', value=0):
 
         Parameters
         ----------
-        x1, x2 : array_like, 1-D or 2-D
-            two independent samples, see notes for 2-D case
+        x1 : array_like, 1-D or 2-D
+            first of the two independent samples, see notes for 2-D case
+        x2 : array_like, 1-D or 2-D
+            second of the two independent samples, see notes for 2-D case
         alternative : string
             The alternative hypothesis, H1, has to be one of the following
             'two-sided': H1: difference in means not equal to value (default)
@@ -910,8 +912,10 @@ def ztest_ind(self, alternative='two-sided', usevar='pooled', value=0):
 
         Parameters
         ----------
-        x1, x2 : array_like, 1-D or 2-D
-            two independent samples, see notes for 2-D case
+        x1 : array_like, 1-D or 2-D
+            first of the two independent samples, see notes for 2-D case
+        x2 : array_like, 1-D or 2-D
+            second of the two independent samples, see notes for 2-D case
         alternative : string
             The alternative hypothesis, H1, has to be one of the following
             'two-sided': H1: difference in means not equal to value (default)
@@ -1122,8 +1126,10 @@ def ttest_ind(x1, x2, alternative='two-sided', usevar='pooled',
 
     Parameters
     ----------
-    x1, x2 : array_like, 1-D or 2-D
-        two independent samples, see notes for 2-D case
+    x1 : array_like, 1-D or 2-D
+        first of the two independent samples, see notes for 2-D case
+    x2 : array_like, 1-D or 2-D
+        second of the two independent samples, see notes for 2-D case
     alternative : string
         The alternative hypothesis, H1, has to be one of the following
 
@@ -1177,8 +1183,10 @@ def ttost_ind(x1, x2, low, upp, usevar='pooled', weights=(None, None),
 
     Parameters
     ----------
-    x1, x2 : array_like, 1-D or 2-D
-        two independent samples, see notes for 2-D case
+    x1 : array_like, 1-D or 2-D
+        first of the two independent samples, see notes for 2-D case
+    x2 : array_like, 1-D or 2-D
+        second of the two independent samples, see notes for 2-D case
     low, upp : float
         equivalence interval low < m1 - m2 < upp
     usevar : string, 'pooled' or 'unequal'
@@ -1250,8 +1258,10 @@ def ttost_paired(x1, x2, low, upp, transform=None, weights=None):
 
     Parameters
     ----------
-    x1, x2 : array_like
-        two dependent samples
+    x1 : array_like
+        first of the two independent samples
+    x2 : array_like
+        second of the two independent samples
     low, upp : float
         equivalence interval low < mean of difference < upp
     weights : None or ndarray
@@ -1299,8 +1309,10 @@ def ztest(x1, x2=None, value=0, alternative='two-sided', usevar='pooled',
 
     Parameters
     ----------
-    x1, x2 : array_like, 1-D or 2-D
-        two independent samples
+    x1 : array_like, 1-D or 2-D
+        first of the two independent samples
+    x2 : array_like, 1-D or 2-D
+        second of the two independent samples
     value : float
         In the one sample case, value is the mean of x1 under the Null
         hypothesis.
@@ -1370,8 +1382,10 @@ def zconfint(x1, x2=None, value=0, alpha=0.05, alternative='two-sided',
 
     Parameters
     ----------
-    x1, x2 : array_like, 1-D or 2-D
-        two independent samples, see notes for 2-D case
+    x1 : array_like, 1-D or 2-D
+        first of the two independent samples, see notes for 2-D case
+    x2 : array_like, 1-D or 2-D
+        second of the two independent samples, see notes for 2-D case
     value : float
         In the one sample case, value is the mean of x1 under the Null
         hypothesis.


Test patch: