Repository: statsmodels/statsmodels

Issue:
DOC: inconsistency in Returns of UnobservedCompontents.fit
#### Describe the bug

I found that the return object of `UnobservedComponents.fit` is different from the description in [docs](https://www.statsmodels.org/stable/generated/statsmodels.tsa.statespace.structural.UnobservedComponents.fit.html#statsmodels.tsa.statespace.structural.UnobservedComponents.fit).

While the docs says the return object is [`MLEResults`](https://www.statsmodels.org/stable/generated/statsmodels.tsa.statespace.mlemodel.MLEResults.html#statsmodels.tsa.statespace.mlemodel.MLEResults), the actual return is [`UnobservedComponentsResults`](https://www.statsmodels.org/stable/generated/statsmodels.tsa.statespace.structural.UnobservedComponentsResults.html#statsmodels.tsa.statespace.structural.UnobservedComponentsResults) (more precisely, `UnobservedComponentsResultsWrapper`).

#### Code Sample, a copy-pastable example if possible


```python
import statsmodels.api as sm

nile = sm.datasets.get_rdataset("Nile")

llevel_model = sm.tsa.UnobservedComponents(nile.data['value'], level='local level')
llevel_results = llevel_model.fit(method='bfgs')

repr(llevel_results)

# >> '<statsmodels.tsa.statespace.structural.UnobservedComponentsResultsWrapper object at 0x123e81bb0>'
​
```

#### Expected Output

The [docs of `UnobservedComponents.fit`](https://www.statsmodels.org/stable/generated/statsmodels.tsa.statespace.structural.UnobservedComponents.fit.html#statsmodels.tsa.statespace.structural.UnobservedComponents.fit)  should say the return object is `UnobservedComponentsResults`.
In the current docs, it is difficult for user to find some important methods and properties such as `plot_components`, `level`, `trend`, `seasonality`.

In order to do so, I think `UnobservedComponents.fit` should be modified and override `MLEModel.fit`.
The inconsistency reported above is caused because `UnobservedComponents.fit` directly inherits `MLEModel.fit`.


#### Output of ``import statsmodels.api as sm; sm.show_versions()``

```

INSTALLED VERSIONS
------------------
Python: 3.8.5.final.0
OS: Darwin 19.6.0 Darwin Kernel Version 19.6.0: Mon Aug 31 22:12:52 PDT 2020; root:xnu-6153.141.2~1/RELEASE_X86_64 x86_64
byteorder: little
LC_ALL: None
LANG: ja_JP.UTF-8

statsmodels
===========

Installed: 0.12.1 (/Users/tatamiya/Library/Caches/pypoetry/virtualenvs/state-space-0JTrBQuf-py3.8/lib/python3.8/site-packages/statsmodels)

Required Dependencies
=====================

cython: Not installed
numpy: 1.19.4 (/Users/tatamiya/Library/Caches/pypoetry/virtualenvs/state-space-0JTrBQuf-py3.8/lib/python3.8/site-packages/numpy)
scipy: 1.5.4 (/Users/tatamiya/Library/Caches/pypoetry/virtualenvs/state-space-0JTrBQuf-py3.8/lib/python3.8/site-packages/scipy)
pandas: 1.2.0 (/Users/tatamiya/Library/Caches/pypoetry/virtualenvs/state-space-0JTrBQuf-py3.8/lib/python3.8/site-packages/pandas)
    dateutil: 2.8.1 (/Users/tatamiya/Library/Caches/pypoetry/virtualenvs/state-space-0JTrBQuf-py3.8/lib/python3.8/site-packages/dateutil)
patsy: 0.5.1 (/Users/tatamiya/Library/Caches/pypoetry/virtualenvs/state-space-0JTrBQuf-py3.8/lib/python3.8/site-packages/patsy)

Optional Dependencies
=====================

matplotlib: 3.3.3 (/Users/tatamiya/Library/Caches/pypoetry/virtualenvs/state-space-0JTrBQuf-py3.8/lib/python3.8/site-packages/matplotlib)
    backend: module://ipykernel.pylab.backend_inline 
cvxopt: Not installed
joblib: Not installed

Developer Tools
================

IPython: 7.19.0 (/Users/tatamiya/Library/Caches/pypoetry/virtualenvs/state-space-0JTrBQuf-py3.8/lib/python3.8/site-packages/IPython)
    jinja2: 2.11.2 (/Users/tatamiya/Library/Caches/pypoetry/virtualenvs/state-space-0JTrBQuf-py3.8/lib/python3.8/site-packages/jinja2)
sphinx: Not installed
    pygments: 2.7.3 (/Users/tatamiya/Library/Caches/pypoetry/virtualenvs/state-space-0JTrBQuf-py3.8/lib/python3.8/site-packages/pygments)
pytest: Not installed
virtualenv: Not installed
```



Discussion:

Resolving patch:
diff --git a/statsmodels/tsa/statespace/mlemodel.py b/statsmodels/tsa/statespace/mlemodel.py
--- a/statsmodels/tsa/statespace/mlemodel.py
+++ b/statsmodels/tsa/statespace/mlemodel.py
@@ -632,12 +632,14 @@ def fit(self, start_params=None, transformed=True, includes_fixed=False,
 
         Returns
         -------
-        MLEResults
+        results
+            Results object holding results from fitting a state space model.
 
         See Also
         --------
         statsmodels.base.model.LikelihoodModel.fit
         statsmodels.tsa.statespace.mlemodel.MLEResults
+        statsmodels.tsa.statespace.structural.UnobservedComponentsResults
         """
         if start_params is None:
             start_params = self.start_params
diff --git a/statsmodels/tsa/statespace/structural.py b/statsmodels/tsa/statespace/structural.py
--- a/statsmodels/tsa/statespace/structural.py
+++ b/statsmodels/tsa/statespace/structural.py
@@ -105,6 +105,11 @@ class UnobservedComponents(MLEModel):
         states. Default is False (in which case approximate diffuse
         initialization is used).
 
+    See Also
+    --------
+    statsmodels.tsa.statespace.structural.UnobservedComponentsResults
+    statsmodels.tsa.statespace.mlemodel.MLEModel
+
     Notes
     -----
 


Test patch: