python - statsmodels 二维核回归

标签 python statsmodels

我有一个包含 3 列的数据框 ['X', 'Y', 'Z'] 我想研究一下 X Y影响Z的分布。为此,我想使用 nadaraya watson 的非参数回归器。在 statsmodels 中有一个名为 KernelReg 的类来实现它。

虽然我能够成功运行一维回归代码(X 上的 ZY 上的 Z ),我很难运行它进行二维回归。

我的代码如下:XYZ是我的数据框

xv = XYZ['X'].values; yv = XYZ['Y'].values; zv = XYZ['Z'].values

from statsmodels.nonparametric.kernel_regression import KernelReg
ksrmv = KernelReg(endog=zv, exog= [xv, yv], var_type='c')

我得到的错误是无法将大小为 3171442 的数组 reshape 为形状 (2,1)

xv.shape = yv.shape = zv.shape =(1585721,)

我已经尝试了指定 exog 的不同替代方法,例如

XYZ.loc[:, ['X', 'Y']] or XYZ.loc[:, ['X', 'Y']].values or np.concatenate([xv[:, None], yv[:, None]])

总是同样的错误。

statsmodels中exog的描述中。它应该是自变量的列表。列表中的每个元素都是一个单独的变量,我不知道如何解释它。

最佳答案

我认为需要为同一字符串中的每个自变量给出变量类型(即在 var_type 参数中)。如果两个变量都是连续的,则您的情况的代码将是:

ksrmv = KernelReg(endog=zv, exog= [xv, yv], var_type='cc')

关于python - statsmodels 二维核回归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49341965/

相关文章:

python - 使用默认打印机打印文本文件

python - 使用 google-api-python-client 授予 GAE 应用对 Google API 的访问权限

Python lambda 优化

python - 来自 statsmodels.tsa.statespace 的 sarimax 的 AttributeError

python - Python Pandas 中带有加权最小二乘法的意外标准错误

python - 尝试在 statsmodels python 中打印多重逻辑回归

python - 将空值添加到 Pandas 数据框

python - 如何按字母顺序对多对多 django-admin 框中的值进行排序?

python - 如何进行 F 检验以比较 Python 中的嵌套线性模型?

python - 为什么抛出意外关键字参数 'typ' 错误?