什么可以解释statsmodel OLS回归和seaborn lmplot之间截距的差异?
我的statsmodel代码:
X = mmm_ma[['Xvalue']]
Y = mmm_ma['Yvalue']
model2 = sm.OLS(Y,sm.add_constant(X), data=mmm_ma)
model_fit = model2.fit()
model_fit.summary()
我的seaborn lmplot代码:
sns.lmplot(x='Xvalue', y='Yvalue', data=mmm_ma)
我的statsmodel截距为28.9775,seaborn lmplot截距约为45.5。
@马苏德,谢谢你的发帖。我想我已经意识到了问题所在。我的x值在1400到2600之间,y值在40到70之间。因此,使用seaborn lmplot,它只绘制回归曲线,截距基于最小范围X值,即46的截距。
然而,对于statsmodel OLS,它保持线路运行直到X=0,这就是为什么我得到28左右的截距。
所以我想问题是有一种方法可以继续趋势线,使用seaborn一直走到x=0。
我试着改变轴,但它似乎没有延长线。
axes = lm.axes
axes[0,0].set_xlim(0,)
这很奇怪。也许如果你能提供更多的细节,我们可以帮助得更好。我试图复制这个问题,但我从两种方法中得到了相同的截获。
代码:
import matplotlib.pyplot as plt
import statsmodels.regression.linear_model as sm
import seaborn as sns
import pandas as pd
import numpy as np
np.random.seed(0)
mmm_ma = {'Xvalue': range(0, 40), 'Yvalue': np.random.randint(low=0, high=40, size=40)}
mmm_ma = pd.DataFrame(mmm_ma)
X = mmm_ma[['Xvalue']]
Y = mmm_ma['Yvalue']
model2 = sm.OLS(Y,sm.add_constant(X), data=mmm_ma)
model_fit = model2.fit()
print(model_fit.summary())
sns.lmplot(x='Xvalue', y='Yvalue', data=mmm_ma)
plt.show()
以下是输出:
OLS Regression Results
==============================================================================
Dep. Variable: Yvalue R-squared: 0.005
Model: OLS Adj. R-squared: -0.021
Method: Least Squares F-statistic: 0.2071
Date: Wed, 18 Jul 2018 Prob (F-statistic): 0.652
Time: 00:51:04 Log-Likelihood: -155.75
No. Observations: 40 AIC: 315.5
Df Residuals: 38 BIC: 318.9
Df Model: 1
Covariance Type: nonrobust
==============================================================================
coef std err t P>|t| [0.025 0.975]
------------------------------------------------------------------------------
const 17.2183 3.783 4.551 0.000 9.559 24.877
Xvalue 0.0760 0.167 0.455 0.652 -0.262 0.414
==============================================================================
Omnibus: 3.327 Durbin-Watson: 1.618
Prob(Omnibus): 0.189 Jarque-Bera (JB): 1.738
Skew: 0.197 Prob(JB): 0.419
Kurtosis: 2.058 Cond. No. 44.5
==============================================================================
我试图通过一条线性回归线,通过共享相同斜率的单独数据簇。然而,尽管我已经成功地为点本身绘制了不同的颜色,并成功地绘制了这些颜色的图形,但我在线条上的尝试不起作用。 早些时候,我尝试了一个hashset,它通过颜色调用集群,但这会导致行的输入顺序出现问题。 在这次尝试中,我尝试通过一个数字附件链接集群,然后根据该附件调用线路。 代码的第一部分并不是真正相关的,因为我没有在那里更改任何内容,并且该部分
我正在使用Apache CXF开发REST服务。我正在使用Spring3.1注释来连接bean。我编写了一个拦截器,它截取我的REST方法以进行监视。要做到这一点,我必须自动连接作为库添加到项目中的Monitor类@自动连线在这种情况下似乎不起作用,导致NPE。我做错什么了吗? 应用上下文:
现在,当我到达spring-boot应用程序的endpoint时,它工作得很好 基本上,它根本不调用preandle。我错过了什么????
我用Spring framework 4.0.2 Spring MVC JavaMelody构建了我的应用程序,用于监控应用程序性能。使用LoginInterceptor,除javamelody dashboard:mydomain外,没有登录会话的其他所有请求URL都将重定向到登录页面。com/监控;我需要用过滤器替换拦截器吗?因为RequestParameterFilter中设置的断点可以很好
我目前正在学习梯度下降,所以我写了一段代码,使用梯度下降和线性回归。然而,我得到的这条线并不是最好的。我计算了梯度下降线性回归和最小二乘误差回归的误差。无论我使用什么数据,最小二乘误差总是给我一个更低的误差。我决定看一看斜坡和y截距。使用梯度下降的y截距总是非常接近于零,好像它没有正确地改变。我觉得这很奇怪,我不知道发生了什么。我是否错误地实现了梯度下降?
我使用反应原生66时运行得到错误 Yarn run v1.22.17$react-原生run-android info运行jetifier将库迁移到AndroidX。您可以使用“--no-jetifier”标志禁用它。Jetifier发现1428个文件要转发jetify。使用4个工作人员... info JS服务器已经运行。信息安装应用程序...配置项目:react-nate-fire base