2013-03-05 76 views
3

我有一个分布(用numpy.histogram绘制),在对数轴上绘制时似乎是线性的。我想计算并在此直方图上绘制线性回归以找出线性回归的参数以及r平方。numpy中对数对数直方图的线性回归

我试过不同的东西(对numpy.histogram返回的值使用polyfit),四处张望,但是,虽然这可能是一个非常普遍的问题,但我似乎无法找到一个简单的方法来做这个。有没有?

+0

您是否尝试过古老的'numpy.linalg.lstsq'? 'coef = lstsq(x,y)[0]' – 2013-03-05 00:47:16

回答

0

你可以适合一行到值的日志?

log y = a log x + b (fit a and b) 
=> y = x^a e^b 
+0

不,我怀疑这是因为我在y轴上有几个零。 np.polyfit可能不喜欢处理值,如np.log(0)= - inf ... – Rodolphe 2013-03-05 00:42:48

+1

因此,直方图中的某些bin有count 0?这意味着例如所有的模型都有无限的r^2。如果你适合数据忽略0个分箱怎么办? – Dougal 2013-03-05 00:48:43