绘制Pandas OLS线性回归结果

时间:2014-03-28 08:22:58

标签: python pandas matplotlib linear-regression statsmodels

我如何绘制我从熊猫那里做的线性回归的线性回归结果?

import pandas as pd
from pandas.stats.api import ols

df = pd.read_csv('Samples.csv', index_col=0)
control = ols(y=df['Control'], x=df['Day'])
one = ols(y=df['Sample1'], x=df['Day'])
two = ols(y=df['Sample2'], x=df['Day'])

我试过了plot(),但它没有用。我想在一个图上绘制所有三个样本是否有任何pandas代码或matplotlib代码以这些摘要的格式处理数据?

无论如何,结果如下:

控制

------------------------Summary of Regression Analysis-------------------------

Formula: Y ~ <x> + <intercept>

Number of Observations:         7
Number of Degrees of Freedom:   2

R-squared:         0.5642
Adj R-squared:     0.4770

Rmse:              4.6893

F-stat (1, 5):     6.4719, p-value:     0.0516

Degrees of Freedom: model 1, resid 5

-----------------------Summary of Estimated Coefficients------------------------
      Variable       Coef    Std Err     t-stat    p-value    CI 2.5%   CI 97.5%
--------------------------------------------------------------------------------
             x    -0.4777     0.1878      -2.54     0.0516    -0.8457    -0.1097
     intercept    41.4621     2.9518      14.05     0.0000    35.6766    47.2476
---------------------------------End of Summary---------------------------------

一个

-------------------------Summary of Regression Analysis-------------------------

Formula: Y ~ <x> + <intercept>

Number of Observations:         6
Number of Degrees of Freedom:   2

R-squared:         0.8331
Adj R-squared:     0.7914

Rmse:              2.0540

F-stat (1, 4):    19.9712, p-value:     0.0111

Degrees of Freedom: model 1, resid 4

-----------------------Summary of Estimated Coefficients------------------------
      Variable       Coef    Std Err     t-stat    p-value    CI 2.5%   CI 97.5%
--------------------------------------------------------------------------------
             x    -0.4379     0.0980      -4.47     0.0111    -0.6300    -0.2459
     intercept    29.6731     1.6640      17.83     0.0001    26.4116    32.9345
---------------------------------End of Summary---------------------------------

2

-------------------------Summary of Regression Analysis-------------------------

Formula: Y ~ <x> + <intercept>

Number of Observations:         5
Number of Degrees of Freedom:   2

R-squared:         0.8788
Adj R-squared:     0.8384

Rmse:              1.0774

F-stat (1, 3):    21.7542, p-value:     0.0186

Degrees of Freedom: model 1, resid 3

-----------------------Summary of Estimated Coefficients------------------------
      Variable       Coef    Std Err     t-stat    p-value    CI 2.5%   CI 97.5%
--------------------------------------------------------------------------------
             x    -0.2399     0.0514      -4.66     0.0186    -0.3407    -0.1391
     intercept    24.0902     0.9009      26.74     0.0001    22.3246    25.8559
---------------------------------End of Summary---------------------------------

1 个答案:

答案 0 :(得分:4)

您可能会发现我的这个问题很有帮助Getting the regression line to plot from a Pandas regression

我试图找到我的一些代码用Pandas做一个ols情节,但是不能把它放在它上面。一般来说你可能会更好地使用Statsmodels,它知道Pandas数据结构..所以转型并不太难。然后我的答案和参考的例子将更有意义..

另请参阅:http://nbviewer.ipython.org/gist/dartdog/9008026