我有一个包含 3 列的数据框['X', 'Y', 'Z'],我想研究X和如何Y影响 的分布Z。为此,我想使用 nadaraya watson 的非参数回归器。在 statsmodels 中有一个名为 KernelReg 的类来实现它。
虽然我能够成功运行一维回归的代码(Zon Xand Zon Y),但我很难运行它来进行二维回归。
我的代码如下: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')
Run Code Online (Sandbox Code Playgroud)
我得到的错误是cannot reshape array of size 3171442 into shape (2,1)
xv.shape = yv.shape = zv.shape =(1585721,)
Run Code Online (Sandbox Code Playgroud)
我已经尝试了指定 exog 的不同替代方法,例如
XYZ.loc[:, ['X', 'Y']] or XYZ.loc[:, ['X', 'Y']].values or …Run Code Online (Sandbox Code Playgroud)