【发布时间】:2023-02-01 01:41:32
【问题描述】:
我正在尝试对两个复杂数组执行线性回归。也就是说,我想找到最合适的线 w=mz+b,其中 m 和 b 都允许是复数,并且 R^2 值 R^2=1-RSS/TSS 是最小化。 (这里的RSS和TSS是残差平方和和平方和之和。)
我知道这可以通过创建设计矩阵、计算 m 和 b 等来完成,但出于好奇,我尝试使用来自 scipy.stats 的 linregress,它返回值:
import numpy as np
from scipy import stats
rng = np.random.default_rng()
x = rng.random(10)+1j*rng.random(10)
y = 1.6*x + rng.random(10)+1j*rng.random(10)
res = stats.linregress(x, y)
print(res)
LinregressResult(slope=(1.5814820568268182-0.004143389169974774j), intercept=.
(0.37141513243354485+0.4522070413718836j), rvalue=(0.8607413430092087-
0.002255091256570885j), pvalue=0.00138658952096427, stderr=.
(0.3306870298601568+0.0024769249452937106j), intercept_stderr=.
(0.16366363994151886+0.12045799398296754j))
非实数的复值右值有什么意义?这个值的模数是决定系数吗?
【问题讨论】:
标签: scipy statistics regression