首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用统计模型可视化logistic回归模型

用统计模型可视化logistic回归模型
EN

Stack Overflow用户
提问于 2018-09-10 19:34:56
回答 1查看 5.2K关注 0票数 1

直截了当的问题。我只是对一些数据进行了逻辑回归:

代码语言:javascript
复制
logit = sm.Logit(df.flow2, df.latency_condition)
result = logit.fit()

print(result.summary())

产生的结果:

代码语言:javascript
复制
                          Logit Regression Results                           
==============================================================================
Dep. Variable:                  flow2   No. Observations:                 5930
Model:                          Logit   Df Residuals:                     5929
Method:                           MLE   Df Model:                            0
Date:                Mon, 10 Sep 2018   Pseudo R-squ.:                 -0.3009
Time:                        21:18:35   Log-Likelihood:                -3927.8
converged:                       True   LL-Null:                       -3019.2
                                        LLR p-value:                       nan
=====================================================================================

我现在想在我的数据点上画出这个结果,但是我不知道怎么做。我用海运绘制了一个回归图:

代码语言:javascript
复制
sns.lmplot(x="latency_condition", logistic=True, y="flow2", data=df)
plt.show()

我知道lmplot使用状态模型,但我不确定我是如何适应这个模型的,这与lmplot是如何做的完全一样。另外,我只想绘制完整的logistic回归曲线(从y=1到y=0)。那么,我如何绘制这个状态模型的结果呢?欢迎采用其他办法。

编辑:

下面的丹尼尔给了我一个直截了当的解决方案,我相信这是正确的。我不知道拟合logistic回归我的方法和lmplot做什么有什么区别。我猜我应该反映我的x轴,或拟合一个不同的曲线,因为我的数据向下斜率?

这就是lmplot给我的东西:

这是回归的结果:

EN

回答 1

Stack Overflow用户

发布于 2018-09-11 08:08:11

好的,我测试了一个解决方案,它很有效。试试这个:

代码语言:javascript
复制
import pandas as pd
import numpy as np
import statsmodels.api as sm
import matplotlib.pyplot as plt

HOW_MANY = 10
x = np.random.randn(HOW_MANY)

y = np.linspace(0,1,HOW_MANY)
df = pd.DataFrame({'x':x,'y':y})
logit = sm.Logit(df['y'],df['x']).fit()

pred_input = np.linspace(x.min(),x.max(),HOW_MANY)
predictions = logit.predict(pred_input)
plt.scatter(df['x'],df['y'])
plt.plot(pred_input,predictions,c='red')
plt.show()

如果要将红色曲线向右或向左扩展,只需传递一个跨越更大范围的pred_input数组即可。

我知道lmplot使用状态模型,但我不确定我是如何适应这个模型的,这与lmplot是如何做的完全一样。

您没有任何保证,因为如果您按照建议调用sns.lmplot(),那么它将适合新的回归。您希望绘制Logit构造函数的预测空间,方法是向它提供一个模拟输入向量,该向量横跨所有可能的输入空间,或者尽可能多。10/100数值是一个很好的数字。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52264360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档