相关疑难解决方法(0)

如何干净地绘制statsmodels线性回归(OLS)

问题陈述:

我在pandas数据帧中有一些不错的数据.我想对它进行简单的线性回归:

在此输入图像描述

使用statsmodels,我执行我的回归.现在,我如何得到我的情节?我尝试过statsmodels的plot_fit方法,但情节有点时髦:

在此输入图像描述

我希望得到一条代表回归实际结果的水平线.

Statsmodels有多种绘制回归的方法(这里有一些关于它们的更多细节),但它们似乎都不是超级简单的"只是在数据上绘制回归线" - plot_fit似乎是最接近的东西.

问题:

  • 上面的第一张图片来自熊猫的情节函数,它返回一个matplotlib.axes._subplots.AxesSubplot.我可以轻松地将回归线叠加到该图上吗?
  • 在我忽略的statsmodels中是否有一个函数?
  • 有没有更好的方法来组合这个数字?

两个相关问题:

似乎都没有一个好的答案.

样本数据

按照@IgorRaush的要求

        motifScore  expression
6870    1.401123    0.55
10456   1.188554    -1.58
12455   1.476361    -1.75
18052   1.805736    0.13
19725   1.110953    2.30
30401   1.744645    -0.49
30716   1.098253    -1.59
30771   1.098253    -2.04
Run Code Online (Sandbox Code Playgroud)

abline_plot

我试过这个,但它似乎不起作用......不确定原因:

在此输入图像描述

matplotlib pandas statsmodels

15
推荐指数
1
解决办法
2万
查看次数

matplotlib的线性回归线给出了ValueError

我试图在散点图上绘制线性回归线.我已经研究过它(例如使用matplotlib/numpy进行线性回归),但我的暗示不起作用

    x = [-6.0, -5.0, -10.0, -5.0, -8.0, -3.0, -6.0, -8.0, -8.0, 7.5, 8.0, 9.0, 10.0, 7.0, 5.0, 5.0, -8.0, 8.0, 7.0] 
    y = [-7.094043198985176, -6.1018562538660044, -15.511155265492038, -2.7131460277126984, -8.6127363078417609, -3.1575686002528163, -10.246242711042497, -6.4333658386991992, -16.167988119268013, 2.4709555610646134, 4.5492058088492948, 5.5896790992867942, 3.3824425476540005, -1.8140272426684692, -1.5975329456235758, 5.1403915611396904, -4.4469105070935955, 0.51211850576547091, 5.7059436876065952]
    m,b = numpy.polyfit(x,y,1)
    plt.plot(x, y, x, m*x+b) 
    plt.show()
Run Code Online (Sandbox Code Playgroud)

返回:

Traceback (most recent call last):
  File "test.py", line 464, in <module>
    correlate(trainingSet,trainingSet.trainingTexts)
  File "test.py", line 434, in correlate
    plt.plot(x, y, x, m*x+b)
  File "C:\Python27\lib\site-packages\matplotlib\pyplot.py", …
Run Code Online (Sandbox Code Playgroud)

python numpy matplotlib

1
推荐指数
1
解决办法
2462
查看次数

Python中基于中值的线性回归

我想通过最小化绝对误差中位数来执行一维线性回归.

虽然最初假设它应该是一个相当标准的用例,但快速搜索令人惊讶地发现所有回归和插值函数都使用均方误差.

因此我的问题是:是否有一个函数可以对一个维度执行基于中值误差的线性回归?

python numpy scipy linear-regression pandas

1
推荐指数
1
解决办法
1172
查看次数