python - scikit-learn 或 statsmodels 中线性回归调整参数的限制范围

标签 python numpy scipy scikit-learn statsmodels

是否可以限制 scikit-learn 或 statsmodels 中线性回归的调整参数的范围,例如在 statsmodels.regression.linear_model.OLS 或 sklearn.linear_model.LinearRegression 中?

http://statsmodels.sourceforge.net/devel/generated/statsmodels.regression.linear_model.OLS.html

http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html

编辑:


scipy 0.17 包括带有约束的 scipy.optimize.leastsq:

http://docs.scipy.org/doc/scipy-0.17.0/reference/generated/scipy.optimize.least_squares.html#scipy.optimize.least_squares

理想情况下,我正在寻找的是最小化目标误差函数,并最小化调整乘数参数从默认值 1.0 开始的变化。这可能是目标函数的一部分。

请注意,这是适用于我的框边界的选项列表:

method='trf' or 'dogbox'
loss='cauchy'
f_scale=1e-5 to 1e-2

最佳答案

不确定“限制调整参数的界限”是什么意思。

  • 如果您希望结果分量位于预先指定的范围内,您可以尝试 scipy.optimize.least_squares , 这解决了

    minimize F(x) = 0.5 * sum(rho(f_i(x)**2), i = 0, ..., m - 1) subject to lb <= x <= ub

  • 如果您担心结果分量因共线性而在数量级上过大,您可以尝试 sklearn.linear_model.Ridge (或那里的其他正则化线性回归器之一)。

关于python - scikit-learn 或 statsmodels 中线性回归调整参数的限制范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36411603/

相关文章:

python - 使用python的并行数值积分

python - numpy cov(协方差)函数,它到底计算什么?

python - 从 Pandas 列中提取嵌套字典

python - 在附加新值之前检查文本文件中的现有值

python - 带有数组的函数的 PyCharm getitem 警告

python - Pyplot 散点图到等值线图

python - 使用 lambda 作为约束函数

python - 从 BaseHTTPServer 解析 Python HTML POST 数据

python - beautifulsoup find_all 未找到全部

python - 如何在 numpy 中制作二维复数数组?