#python #python-3.x #pandas #regression
#python #python-3.x #pandas #регрессия
Вопрос:
Я пытаюсь выполнить регрессию, используя случайные эффекты, с данными, которые я собрал через Excel.
Ниже приведен мой код на данный момент:
import pandas as pd
import numpy as np
import statsmodels.api as sm
import csv
import matplotlib.pyplot as plt
xl = pd.ExcelFile(r"C:UsersDocumentsStudiumPythonDataSet_6.xlsx")
dx1 = xl.parse('PythonData')
reg1 = sm.OLS(endog=dx1['UE'], exogen=dx1['Return'])
type(reg1)`
Часть регрессии — это та, которая завершается с ошибкой и выдает мне следующую ошибку:
AttributeError Traceback (most recent call last)
<ipython-input-15-5a9bf21b4b87> in <module>
----> 1 reg1 = sm.OLS(endog=dx1['UE'], exogen=dx1['Return'])
2 type(reg1)
c:userspython37libsite-packagesstatsmodelsregressionlinear_model.py
in __init__(self, endog, exog, missing, hasconst, **kwargs)
815 **kwargs):
816 super(OLS, self).__init__(endog, exog, missing=missing,
--> 817 hasconst=hasconst, **kwargs)
818 if "weights" in self._init_keys:
819 self._init_keys.remove("weights")
c:userspython37libsite-packagesstatsmodelsregressionlinear_model.py
in __init__(self, endog, exog, weights, missing, hasconst, **kwargs)
661 weights = weights.squeeze()
662 super(WLS, self).__init__(endog, exog, missing=missing,
--> 663 weights=weights, hasconst=hasconst,
**kwargs)
664 nobs = self.exog.shape[0]
665 weights = self.weights
c:userspython37libsite-packagesstatsmodelsregressionlinear_model.py in __init__(self, endog, exog, **kwargs)
177 """
178 def __init__(self, endog, exog, **kwargs):
--> 179 super(RegressionModel, self).__init__(endog, exog, **kwargs)
180 self._data_attr.extend(['pinv_wexog', 'wendog', 'wexog', 'weights'])
181
c:userspython37libsite-packagesstatsmodelsbasemodel.py in __init__(self, endog, exog, **kwargs)
211 def __init__(self, endog, exog=None, **kwargs):
212 super(LikelihoodModel, self).__init__(endog, exog, **kwargs)
--> 213 self.initialize()
214
215 def initialize(self):
c:userspython37libsite-packagesstatsmodelsregressionlinear_model.py in initialize(self)
184 self.wendog = self.whiten(self.endog)
185 # overwrite nobs from class Model:
--> 186 self.nobs = float(self.wexog.shape[0])
187
188 self._df_model = None
AttributeError: 'NoneType' object has no attribute 'shape'
Файл Excel, который я использую, выглядит следующим образом:
Я надеюсь, что это вся информация, необходимая для консультации, в чем может заключаться моя проблема, в противном случае я буду рад загрузить больше!
Комментарии:
1. Извините, я не вижу столбца «Return» в вашей таблице
2. Возвращаемый столбец находится в самом конце листа, выше приведен лишь небольшой фрагмент, я это сразу исправляю, смотрите ссылку
3. Пожалуйста, покажите нам ваш файл Excel в текстовой форме, а не в виде графики, чтобы мы могли сами попробовать ваш код и данные.
4. github.com/GonkoPilo/RegressionData
5. Спасибо за ваше замечание! Выше вы можете получить файл, он содержит множество переменных для разных фирм (RIC) за разные годы. (Похоже, я (пока) не могу напрямую загружать файлы здесь, там github)