首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拟合图形以查找数据曲线的梯度

拟合图形以查找数据曲线的梯度
EN

Stack Overflow用户
提问于 2015-07-29 12:34:29
回答 1查看 1.1K关注 0票数 1

所以我有一堆数据,我需要找出梯度。数据的设置就像我有核金属丰度,它是一个星系中心(距离= 0)的金属丰度,以及一群不同星系在离中心不同距离的金属丰度。我想要找到一个通用的梯度,所以我计划绘制所有的数据,并寻找最佳拟合的曲线。这个想法是,金属丰度是它在中心的位置。所以我需要修正任何金属丰度梯度,使其返回正确的核金属丰度。我需要将任何梯度的偏移量固定为核金属丰度(当拟合单个星系时)或0(如果根据它们的核金属丰度移动一切并拟合整个样本)。以下是我的数据示例

代码语言:javascript
复制
NAME   Metallicity   Nuclear Metallicity    Distance 
1990U   -             -                     -
1991ar  8.52          -                     4.61
1996d   8.66          -                     2.0295
1996aq  8.59          9.03                  2.97297
1997B   -             -                     8.24493
1999cn  8.69          -                     16.71392
2005eo  8.49          9.23                  10.25775
2005mf  8.83          9.05                  7.2698
2006jc  -             8.48                  2.0295
2007uy  8.7           9                     3.61248
2008D   8.86          9                     9.59352

所以我基本上想要一个等式,比如金属丰度-核金属丰度=距离*梯度。现在,我使用了一个非常简单的脚本,它只是调用文本文件中的数据,然后使用matplotlib绘制它。我困惑的是如何偏移这个图,这样核的金属丰度为零,我就可以得到一个通用的梯度。由于上面的方程使用了梯度,但我需要求解它,所以我不确定如何处理它。有人知道如何使用超参数来拟合图形吗?如果您需要更多的信息,请让我知道,并在高级感谢。

编辑:所以我想我说的梯度是一个最佳拟合线的方程。基本上,我在一个星系的中心有一个金属丰度,在离中心一段距离的地方,对于一群不同的星系,我需要找到一个方程,如果我知道中心的金属丰度,和离中心的距离,我可以把它插入到这个方程中,知道那个点的金属丰度。因为目前所有的星系都有不同的金属丰度,所以我试着拟合所有的数据来找出梯度。这有意义吗?再次感谢。

EN

回答 1

Stack Overflow用户

发布于 2015-07-30 11:44:42

如果你想要拟合的方程是

代码语言:javascript
复制
Metallicity - Nuclear Metallicity = distance * gradient

如果您的数据位于名为df的pandas数据帧中,则让LHS = y和distance = x

代码语言:javascript
复制
import numpy as np

#drop rows with nulls
df = df.dropna()

y = df['Metallicity'] - df['Nuclear Metallicity']
x = df['Distance']

#fit a degree-1 polynomial i.e. a line
intercept, gradient = np.polyfit(x,y,1)
print(intercept,gradient)

-0.0116381176987 -0.289543910605
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31691285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档