在散点图上叠加线性回归线(iPython 笔记本)


gh_data = ascii.read('http://dept.astro.lsa.umich.edu/~ericbell/data/GHOSTS/M81/ngc3031-    field15.newphoto_radec')
ra = gh_data['col5'][:]
dec = gh_data['col6'][:]
f606 = gh_data['col3'][:] 
f814 = gh_data['col4'][:]
plot(f6062-f8142,f8142, 'bo', alpha=0.15)  
axis([-1,2.5,27,23]) 
xlabel('F606W-F814W')
ylabel('F814W')
title('Field 14')

数据集被导入并组织到不同的列中,我试图在创建的散点图上叠加一条最佳拟合线或线性回归,但我无法弄清楚如何。提前谢谢。

正如@rayryeng指出的,您的代码只是绘制数据,但实际上并没有计算任何回归结果来绘制。这是一种方法:

import statsmodels.api as sm
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
data = pd.DataFrame({"y": range(1,11)+np.random.rand(10), 
                     "x": range(1,11)+np.random.rand(10)})

使用 statsmodels OLS 方法拟合回归线,params提取单个回归量上的系数:

beta_1 = sm.OLS(data.y, data.x).fit().params

生成散点图并添加回归线:

fig, ax = plt.subplots()
ax.scatter(data.x, data.y)
ax.plot(range(1,11), [i*beta_1 for i in range(1,11)], label = "best fit")
ax.legend(loc="best")

相关内容

  • 没有找到相关文章

最新更新