拟合 patsy 模型中的偏移量
fitting for offset in a patsy model
使用 patsy,我了解如何打开或关闭拦截。但我还没有设法获得水平偏移。比如我想能装,本质上
y = alpha + beta * abs(x_opt - x_obs)
与 x_opt 合身。我试过这样写:
y ~ 1 + np.abs(y - x)
对 y 使用常量列。但在 np.abs() 括号内,patsy "turns off," 和 y - x 仅被解释为数字。如果我将 y 移动到 1 或 20,我会得到不同的答案。
类似的问题适用于例如 np.pow(1-x, 2) 或正弦波。能够适应 x 偏移量将非常有帮助。这可能吗?或者这正是 patsy 不做非线性的意思吗?
patsy 和大多数 statsmodels 只处理参数线性的模型。或者更准确地说,设计矩阵和估计参数以线性方式组合的模型,x * beta。
多项式和样条函数在基础变量方面是非线性的,但在基函数方面具有线性表示,因此在参数方面是线性的。
目前在 statsmodels 中实现的模型中唯一的非线性是预定义的非线性,例如 GLM 或离散模型中的 link 函数,NegativeBinomial 等模型中的形状参数,或混合模型和 GEE 中的协方差。
目前最好的Python 非线性最小二乘包是 lmfit https://pypi.python.org/pypi/lmfit/
使用 patsy,我了解如何打开或关闭拦截。但我还没有设法获得水平偏移。比如我想能装,本质上
y = alpha + beta * abs(x_opt - x_obs)
与 x_opt 合身。我试过这样写:
y ~ 1 + np.abs(y - x)
对 y 使用常量列。但在 np.abs() 括号内,patsy "turns off," 和 y - x 仅被解释为数字。如果我将 y 移动到 1 或 20,我会得到不同的答案。
类似的问题适用于例如 np.pow(1-x, 2) 或正弦波。能够适应 x 偏移量将非常有帮助。这可能吗?或者这正是 patsy 不做非线性的意思吗?
patsy 和大多数 statsmodels 只处理参数线性的模型。或者更准确地说,设计矩阵和估计参数以线性方式组合的模型,x * beta。
多项式和样条函数在基础变量方面是非线性的,但在基函数方面具有线性表示,因此在参数方面是线性的。
目前在 statsmodels 中实现的模型中唯一的非线性是预定义的非线性,例如 GLM 或离散模型中的 link 函数,NegativeBinomial 等模型中的形状参数,或混合模型和 GEE 中的协方差。
目前最好的Python 非线性最小二乘包是 lmfit https://pypi.python.org/pypi/lmfit/