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

在散点图上叠加线性回归线(iPython笔记本),python,matplotlib,ipython,ipython-notebook,Python,Matplotlib,Ipython,Ipython Notebook,数据集被导入并组织到不同的列中,我试图在创建的散点图上覆盖一行最佳拟合或线性回归,但我不知道如何处理。提前感谢。正如@rayryeng所指出的,您的代码只是绘制数据,实际上并没有计算任何要绘制的回归结果。这里有一种方法: gh_data = ascii.read('http://dept.astro.lsa.umich.edu/~ericbell/data/GHOSTS/M81/ngc3031- field15.newphoto_radec') ra = gh_data['col5'][:

数据集被导入并组织到不同的列中,我试图在创建的散点图上覆盖一行最佳拟合或线性回归,但我不知道如何处理。提前感谢。

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

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')
使用statsmodels-Sols方法拟合回归线,使用params在单个回归器上提取系数:

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)})
生成散点图并添加回归线:

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

发布的代码只是绘制了一组数据点。你在哪里计算回归线?。。。或者这是你想要计算的东西?这在回归中不包括常数。您可以只使用predict来获取新点的值,或者在估计/训练点使用fittedvalues进行预测
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")