0

我正在尝试使用统计模型 OLS 方法拟合我的数据。在按照教程进行操作时,导入了所有必要的库;

from scipy import stats
import statsmodels.formula.api as sm
import numpy
import pandas
import matplotlib.pyplot as plt
import statsmodels.api as sm

然后从 X_train 数据中定义所有变量名;

variable_names = [
 'Block', 
 'Acreage', 
'dist_Kyanuuna_TC', 
'dist_Busunju_TC', 
'dist_Namungo_TC', 
'dist_Kitalya_TC',
'dist_Kabindula_TC', 
'dist_Namayumba_HC', 
'dist_BlueStarJr_Sch', 
'dist_Kyanuuna_HS',
'dist_Busunju_Col',
'Central_P',
'years',
'Use_Agric_Farm',
'Use_Res',
'Use_Res_Agric']

然后将邻域变量包含到公式中,为其创建和拟合二进制虚拟变量而无需截距。

f = 'Value ~ ' + ' + '.join(variable_names) + ' + neighborhood - 1'

最后拟合数据如下;

model2 = sm.OLS(f, data=X_train).fit()
print(m3.summary2())

然而,这提高了;

ValueError: unrecognized data structures: <class 'str'> / <class 'NoneType'>

但我没有弄清楚可能是什么问题。任何有关如何解决此问题的线索将不胜感激。谢谢你。

4

1 回答 1

0

正如这里的文档中所写,它ols不是OLS

更新: 在您的导入部分,您将两者sm用于两个不同的包。删除第一个应该工作。

于 2021-08-10T13:05:51.793 回答