问题遇到的现象和发生背景
我需要对长时间序列的栅格数据逐象元地做线性拟合。即x轴为第1n年第一个传感器的栅格数据,轴为第1n年第二个传感器的栅格数据。
简化下来相当于就是两个二维数组对应元素做线性拟合,但是出现了问题:
ValueError: too many values to unpack (expected 4)
于是我尝试例举了二维数组进行线性拟合出现了同样的问题:
是stats.linregress(x, y)函数无法实现对二维数组的线性拟合吗?有没有能直接对二维数组直接线性拟合的办法?
转换成一维的话又怎么回到二维的状态呢?该如何解决呢?
问题相关代码
import numpy as np
from scipy import stats, linalg
def f(a):
b = np.array([[5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]])
n = np.array([[9, 10, 11, 12], [13, 14, 15, 16],[17, 18, 19, 20]])
y = np.concatenate((b,n), axis=0)
print("y:", y)
res = stats.linregress(a, y)
return res
c = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
d = np.array([[5,6,7,8],[9,10,11,12],[13,14,15,16]])
m = np.concatenate((c, d), axis=0)
print("m:", m)
res = f(m)
谢谢!