Решение системы линейных уравнений с ограничениями
Мне нужно решить большую систему линейных уравнений, используя метод наименьших квадратов. До сих пор я нашел ответы без ограничений, но хотел бы ограничить свои ответы неотрицательными. Код, который я использовал, показан ниже. "Лист 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.