在Python / Numpy中包含NAN的数组的线性回归

时间:2012-11-30 10:29:10

标签: python math numpy scipy

我有两个数组,比如varx和vary。两者都包含不同位置的NAN值。但是,我想对两者进行线性回归,以显示两个数组的相关程度。 到目前为止,这非常有用:http://glowingpython.blogspot.de/2012/03/linear-regression-with-numpy.html

然而,使用这个:

slope, intercept, r_value, p_value, std_err = stats.linregress(varx, vary)

导致每个输出变量的nans。将两个数组中的有效值作为线性回归的输入的最方便的方法是什么?我听说过屏蔽阵列,但我不确定它是如何工作的。

1 个答案:

答案 0 :(得分:19)

您可以使用遮罩删除NaN:

mask = ~np.isnan(varx) & ~np.isnan(vary)
slope, intercept, r_value, p_value, std_err = stats.linregress(varx[mask], vary[mask])