2016-03-14 24 views
7

Ich versuche einen Weg zu finden, ein lineares Regressionsmodell mit positiven Koeffizienten anzupassen.Lineare Regression mit positiven Koeffizienten in Python

Der einzige Weg, den ich gefunden habe, ist sklearn's Lasso model, die positive = wahre Argumente hat, aber nicht mit alpha = 0 zu empfehlen (bedeutet keine anderen Einschränkungen für die Gewichte).

Kennen Sie ein anderes Modell/eine andere Methode/Methode?

Dank

+0

Dies scheint eine Frage für http://stats.stackexchange.com. Finden Sie zuerst heraus, ob es ein solches Modell gibt, und fragen Sie dann nach seiner Implementierung in Python. – Gabriel

+0

Ich denke, das ist eine gute Frage. Ein solches Modell existiert eindeutig mathematisch, und es ist vernünftig zu fragen, ob eine Implementierung in Python existiert. – DevShark

Antwort

4

IIUC, dann ist dies ein Problem, das durch die scipy.optimize.nnls gelöst werden können, die nicht negative kleinsten Quadrate tun.

Lösung argmin_x || Ax - b || _2 für x> = 0.

In Ihrem Fall b ist der y, A ist die X und x ist der β (Koeffizienten), aber ansonsten ist es die gleiche, nein ?

Verwandte Themen