numpy - 如何在 Julia 中找到线性矩阵方程的最小二乘解?

标签 numpy julia least-squares

我想知道 Julia 中是否有 numpy.linalg.lstsq() 的替代函数。该函数返回线性矩阵方程的最小二乘解。从 NumPy 堆栈访问元素的正确语法?

Python 示例:

import numpy as np
A = np.vstack([x, np.ones(len(x))]).T
m, c = np.linalg.lstsq(A, y, rcond=None)[0]
m, c
(1.0 -0.95) # may vary

输出图表:

enter image description here

Python 引用:https://numpy.org/doc/stable/reference/generated/numpy.linalg.lstsq.html

最佳答案

在这种情况下,您可以只使用 Julia Base 中的 \:

julia> A = [rand(10) ones(10)]
10×2 Matrix{Float64}:
 0.637746  1.0
 0.296172  1.0
 0.795938  1.0
 0.611058  1.0
 0.737017  1.0
 0.992014  1.0
 0.914031  1.0
 0.522682  1.0
 0.3607    1.0
 0.934141  1.0

julia> y = A * [1, -1] + rand(10) ./ 10
10-element Vector{Float64}:
 -0.34049611405598046
 -0.6368145973747783
 -0.10597203750574954
 -0.2950574213524233
 -0.19571807260629853
  0.020902316863572645
 -0.07310077005612584
 -0.40758393396440784
 -0.6137424837773662
 -0.05149257027230776

julia> A \ y
2-element Vector{Float64}:
  0.9582937347300398
 -0.9216908912065571

关于numpy - 如何在 Julia 中找到线性矩阵方程的最小二乘解?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66650772/

相关文章:

python - numpy.linspace 数字表示

python - Cythonized 函数出乎意料地慢

types - Julia 中的文字类型

python - 如何使用最小二乘算法通过Python中的线性方程来匹配两个数据集

python - 用于 Keras 学习模型的不同形状的 Numpy ndarray

arrays - 如何在 julia 的一个 for 循环中实现 5 维数组?

julia - Gadfly 条形图中条形图周围的轮廓

python - 同时拟合python参数共享

python - NumPy ValueError : The truth value of an array with more than one element is ambiguous. 使用 a.any() 或 a.all() lesssq

python - 关于 AttributeError : module 'scipy.misc' has no attribute 'imread'