繁体   English   中英

如何使用基于statsmodel OLS的回归线创建散点图?

[英]How to create as scatter plot with regression line based on statsmodel OLS?

我在向散点图添加回归线(statsmodel OLS基于的回归线)时遇到困难。 请注意,使用seaborn的lmplot,我可以得到一行(请参见示例),但是我想使用来自statsmodel OLS的确切行来实现整体一致性。

如何调整下面的代码以将回归线添加到第一个散点图中?

import statsmodels.regression.linear_model as sm
import seaborn as sns
import pandas as pd
import numpy as np
np.random.seed(0)

data = {'Xvalue': range(20, 30), 'Yvalue': np.random.randint(low=10, high=100, size=10)}

data = pd.DataFrame(data)

X = data[['Xvalue']]
Y = data['Yvalue']
model2 = sm.OLS(Y,sm.add_constant(X), data=data)
model_fit = model2.fit()
print(model_fit.summary())

#Plot
data.plot(kind='scatter', x='Xvalue', y='Yvalue')

#Seaborn
sns.lmplot(x='Xvalue', y='Yvalue', data=data)

散点图(试图找出如何在statsmodel OLS回归行中添加

散点图(试图找出如何在statsmodel OLS回归行中添加

seaborn lmplot及其回归线(试图对此进行模拟)

seaborn lmplot及其回归线(试图对此进行模拟)

感谢@busybear提供的链接,它现在可以使用了!

import statsmodels.regression.linear_model as sm
import seaborn as sns
import pandas as pd
import numpy as np
np.random.seed(0)

data = {'Xvalue': range(20, 30), 'Yvalue': np.random.randint(low=10, high=100, size=10)}

data = pd.DataFrame(data)

X = data[['Xvalue']]
Y = data['Yvalue']
model = sm.OLS(data['Yvalue'], sm.add_constant(data['Xvalue']))
model_fit = model.fit()
p = model_fit.params
print(model_fit.summary())


#Plot
p
x = np.arange(0,40)
ax = data.plot(kind='scatter', x='Xvalue', y='Yvalue')
ax.plot(x, p.const + p.Xvalue * x)
ax.set_xlim([0,30])

#Seaborn
sns.lmplot(x='Xvalue', y='Yvalue', data=data)

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM