绘制 pandas OLS线性回归结果 [英] Plotting Pandas OLS linear regression results
问题描述
对于从熊猫进行的线性回归,如何绘制线性回归结果?
How would I plot my linear regression results for this linear regression I did from pandas?
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()
,但没有成功.我想在一个绘图上绘制所有三个样本,是否有任何熊猫代码或matplotlib代码以这些摘要的格式处理数据?
I tried plot()
but it did not work. I want to plot all three samples on one plot are there any pandas code or matplotlib code to hadle data in the format of these summaries?
无论如何,结果看起来像这样:
Anyways the results look like this:
控制
------------------------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---------------------------------
两个
-------------------------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---------------------------------
推荐答案
You may find this question of mine helpful Getting the regression line to plot from a Pandas regression
我试图找到一些与Pandas一起进行ols绘图的代码,但是却无法付诸实践,一般来说,使用Statsmodels可能会更好,因为它了解Pandas数据结构.过渡不是太难.然后,我的回答和引用的示例将更有意义.
I tried to find some of my code doing a ols plot with Pandas,, but could not lay my hand on it, In general you would probably be better off using Statsmodels for this, it knows about Pandas datastructures.. so the transition is not too hard. Then my answer and the referenced examples will make more sense..
另请参见: http://nbviewer.ipython.org/gist/dartdog/9008026
这篇关于绘制 pandas OLS线性回归结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!