Мне нужно решить большую систему линейных уравнений методом наименьших квадратов.До сих пор я нашел ответы без ограничений, но хотел бы ограничить свои ответы неотрицательными.Код, который я использовал, показан ниже.«Лист 1» содержит матрицу размером 30x135, а «лист 2» - матрицу размером 30x1.
import pandas as pd
import numpy as np
df = pd.read_excel("C:\\example\price_analysis.xlsx", sheet_name = "Sheet1")
print(df)
dg = pd.read_excel("C:\\example\price_analysis.xlsx", sheet_name = "Sheet2")
print(dg)
z = np.linalg.lstsq(df,dg, rcond=None)
print(z)
Я попытался использовать ответ из этой публикации, но не смог найти, как найти результат наименьших квадратов, где все значения положительные, вместо простого изменения всех отрицательных значений набыть 0.